ARM newbie

Renaud Barbier renaud.barbier at ge.com
Thu Jan 22 03:53:56 PST 2015


I am doing my first port to an ARM CPU (Broadcom chip). For testing I
built the friendlyarm-tiny210 and created an objdump to see what the
code look like:

barebox:     file format elf32-littlearm


Disassembly of section .text:

23e00000 <start>:
23e00000:   ea000012        b       23e00050 <start+0x50>
...
23e00050:   ea000013        b       23e000a4 <barebox_arm_reset_vector>
...

23e000a4 <barebox_arm_reset_vector>:
23e000a4:   e52de004        push    {lr}       ; (str lr, [sp, #-4]!)

I am a bit surprise to see a push to stack as the first instruction of
barebox_arm_reset_vector as the stack pointer has not been defined yet.
Or is there a pre boot loader that is not built as part of the
friendlyarm-tiny210  build.

Other BSP I have built do not produce this push instruction.
Where is the difference coming from in the build?

Are all BSP having a lowlevel.c file assumed to have a pre-bootloader?

Cheers,
R.












More information about the barebox mailing list