[En-Nut-Discussion] How to use NUT/OS in the AT91SAM9XE512 platform ?

Ulrich Prinz uprinz2 at netscape.net
Tue Aug 31 22:58:12 CEST 2010


Hi!

Porting Nut/OS to another SAM-series chip should not be that difficult. 
Atmel uses more or less the same peripherals on all chips of a series. 
The part that is interesting for you should be to find in the 
arch/arm/ldscripts and th other files like startup*.*.

My way to test the boot procedure would be to do the following:

Build Nut/OS for the most compatible platform. Before that check for 
correct memory settings in nuconfig.
Build nutos to nutbld-myarm-gcc and create the application directories 
under nutapp-myarm-gcc.
Go to nutapp-myarm-gcc/uart example and build it.
run arm-none-eabi-size -A -x uart.elf

Now check all the records at the beginning. They tell about text, data 
and bss. The locations should match with your flash for text+data and 
for you RAM with bss.
If there is a mismatch:
1) Check again for the correct address settings in nutconfig
2) Check for the used *.ld script (linker script) and see if needs 
changes. Make a backup of the script and modify the original. This is 
easier for now as you don't have to creat a new CPU in the nutconfig 
system right now.

Now rebuild everything and check again with arm-none-eabi-size... (older 
compiler uses arm-elf-size)
If it matches but doesn't start you have to dive a bit deeper.

I heared that there are other ways to see if and how a system starts, 
but I prefer to use a combination of JTAG, OpenOCD and Insight for GDB. 
So you can single-step through the startup code. With that you should 
find incorrect setups of Clock-Sources, PLLs and other things fast.
You can even check the registers of the memory controller and so on. 
After a certain point they should have values that match closely to what 
you read in the data-sheet.

This is only a rough summary for what to do next. Yust keep asking, if 
you got hung in one of the steps before. I am doing pretty much the same 
thing for Nut/OS right now, but for a whole new architecture of chips... 
The CortexM3. And using the debugger got me really fast really far.

Just a little problem left in the task-switcher or memory handler... 
I'll find it.

Best regards,
Ulrich



Am 31.08.2010 15:13, schrieb hsx:
>
> I have made an application that will run NUT/OS in the AT91SAM9XE512 platform.
> I am using At91sam9xe-EK evaluation kit for test and SAM-BA v.2.8 for
> loading the application.
>
> Now,it is not working when booting from NandFlash¡¢SDRam or internal flash.
> I want to know how to transplant the NUT/OS in the AT91SAM9XE512 platform.
>
> Any help will be appreciated.
> Best Regards,
> hushxixi.
> _______________________________________________
> http://lists.egnite.de/mailman/listinfo/en-nut-discussion



More information about the En-Nut-Discussion mailing list