2009-10-06 02:40:02     Application boot allways over cache??!

Document created by Aaronwu Employee on Sep 24, 2013
Version 1Show Document
  • View in full screen mode

2009-10-06 02:40:02     Application boot allways over cache??!

Gilles Kom Kenmegne (LUXEMBOURG)

Message: 80865   


Hi All,


I have compile a small applicaiton as .dxe, and when I try to start the application after loading to the RAM, I receive the following message.


I just wanted to know why my application is trying to start in the cache?


(Configuration TCM ADSP-BF537, .dxe compiled in VDSP++ Version 5.0)


bfin> tftp 0x1000000 UART.dxe

Using Blackfin EMAC device

TFTP from server; our IP address is

Filename 'UART.dxe'.

Load address: 0x1000000

Loading: ####


Bytes transferred = 52616 (cd88 hex)



bfin> md 1000000

01000000: 464c457f 00010101 00000000 00000000    .ELF............

01000010: 006a0002 00000001 ffa00000 0000cd08    ..j.............

01000020: 0000cb50 00000004 00200034 00280004    P.......4. ...(.

01000030: 0001000b 74732e00 62617472 79732e00    ......strtab..sy

01000040: 6261746d 72702e00 7365636f 00726f73    mtab..processor.

01000050: 50534441 3546422d 4c003733 6f635f31    ADSP-BF537.L1_co

01000060: 2e006564 5f646e65 755f666f 5f726573    de..end_of_user_

01000070: 65646f63 7265765f 65625f79 6e6e6967    code_very_beginn

01000080: 00676e69 6174732e 6f5f7472 73755f66    ing..start_of_us

01000090: 635f7265 5f65646f 79726576 6765625f    er_code_very_beg

010000a0: 696e6e69 7300676e 74726174 76692e00    inning.start..iv

010000b0: 652e0074 6f5f646e 73755f66 635f7265    t..end_of_user_c

010000c0: 3165646f 74732e00 5f747261 755f666f    ode1..start_of_u

010000d0: 5f726573 65646f63 74730031 5f6c6c69    ser_code1.still_

010000e0: 65746e69 70757272 6e695f74 6570695f    interrupt_in_ipe

010000f0: 7300646e 72657075 6f736976 6f6d5f72    nd.supervisor_mo



bfin> bootelf



Loading phdr 0 to 0xffa00000 (12160 bytes)

Loading phdr 1 to 0xff800014 (1244 bytes)

Loading phdr 2 to 0xff800000 (20 bytes)

Loading phdr 3 to 0xff8004f0 (0 bytes)

## Starting application at 0xffa00000 ...l       /* here the application should wright on the UART --> "hello World" "hello World" "hello World" "hello World" "hello World" "hello World" "hello World".... */






Thank you in advance for your help.








2009-10-06 03:04:31     Re: Application boot allways over cache??!

Mike Frysinger (UNITED STATES)

Message: 80867   


we dont really support VDSP because we have no idea what it's doing and it's known to not produce proper ELF files


at any rate, U-Boot only does what the ELF tells it to.  so it's up to you to make sure your ELF makes sense.  look at the PHDRs and make sure they're doing what you expect.  same goes for the entry point -- read the ELF header.  U-Boot doesnt just pick a random address it feels like.


i dont know what you mean by "cache" as none of the addresses you've shown are cache addresses.  not all on chip sram is cache.  the datasheet/HRM covers this pretty clearly.


you also cant assume the state of peripherals.  U-Boot doesnt put all things back to their reset state before running other pieces of code.




2009-10-06 09:37:06     Re: Application boot allways over cache??!


Message: 80897   




You may have better luck getting VDSP to make a ldr (which I have no idea how), and booting that with "bootldr".