[U-Boot-Users] Question About how the CPU find the right string address in U-boot binary file ?

Jerry Van Baren gerald.vanbaren at ge.com
Wed Jun 4 14:49:34 CEST 2008


wang baohua wrote:
> Dear all,
>  I study the U-boot.bin file using the objdump command, I don't know how 
> the CPU can find the right string address when puts() string.
>  For example, In my binary file, the string "Call backtrace: " in func 
> "print_backtrace()" address is :0x0002b280, the func address is
>  0xfff03564, How the CPU can find the 0x0002b280 when call  puts ("Call 
> backtrace: "); ?  I find the SMC serial driver
>  "serial_putc()" but cannot know how to find the char address in binary 
> file.
>  
> Below is the objdump result, can anyone explain to me ? thanks!

Please don't post HTML, use plain text.

I don't understand your question, why are you asking it?  Are you trying 
to figure out a problem or are you just trying to understand the linking 
processes?

Using objdump on u-boot.bin is not valid.  U-boot.bin is a binary file, 
objdump works on ELF (linker formatted) files.

<http://en.wikipedia.org/wiki/Executable_and_Linkable_Format>

When you link the ELF files, the linker fixes up all the addresses so 
the linker sets the proper address in the instruction that the CPU 
ultimately executes.  The u-boot.bin file is a raw binary dump of the 
result.

Was that your question???

Best regards,
gvb




More information about the U-Boot mailing list