Skip to contentSkip to conversation

AT91RM9200 -> UBoot and arm/thumb interworking

U-Boot-Users Erick Castillo 2 participants 2 messages Jul 15, 2004

lore
Share & tools
lore
#0 lore raw

Hello,

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.

--Erick

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

#1 lore raw
Quoted 5 lines · In message <200407142030211.SM00572@ENG2> you wrote:

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.

What do you mean with "startup code"?

Quoted 2 lines

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

Ummm... Whay are you doing this? U-Boot provides a standard C environment to you, no special startup code is needed. Did you find the code in the examples/ directory? This shows what you need to get a standalone application running under U-Boot.

Quoted 3 lines

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.

Well, if you mess with the environment like stack and exception vectors etc. you should not be surprised when U-Boot is crashing on you.

Quoted 6 lines

------=_NextPart_000_0000_01C469E1.5AD67A20
Content-Type: text/html;
charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:o=3D"urn:schemas-microsoft-com:office:office" =

And please, don't post HTML.

Best regards,

Wolfgang Denk

Signature · 3 lines
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-4596-87  Fax: (+49)-8142-4596-88  Email: [email protected]
I have a very small mind and must live with it.    -- Edsger Dijkstra