[U-Boot-Users] AT91RM9200 -> UBoot and arm/thumb interworking

Erick Castillo Erick at AirLink.com
Thu Jul 15 05:30:07 CEST 2004


I'm getting started with an AT91RM9200 development kit from atmel and am
having trouble starting a simple application with UBoot. If I compile my
application into 32bit arm code only, I can successfully load and run some
simple startup code through the 'loadb' and 'go' commands that UBoot offers.


I have two files: startup.s and main.c. "startup.s" does nothing more than
set up some vector branches, initializes a stack, and jumps to main. All
main does is drive a user led on the development board. As I said, compiling
this in 32 bit arm seems to work fine when I load to 0x2000 0000. If I try
to compile the main.c source code in thumb mode, then the 'bx' branch to
main fails and the code does not run. The code preceding the branch is: 


 ldr r0, =main

 mov r13, pc 

 bx r0


I was wondering if there was some initializations made by UBoot that would
prevent it from loading thumb code. Any help/ideas would be especially
useful. Thanks. 




-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.denx.de/pipermail/u-boot/attachments/20040714/802a79df/attachment.htm 

More information about the U-Boot mailing list