2011-01-27 09:23:19     how to execute an LDR/BIN/DXE from u-boot ?

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

2011-01-27 09:23:19     how to execute an LDR/BIN/DXE from u-boot ?

Muhammad Ali (PAKISTAN)

Message: 97724   

 

Hi,

 

I've a DXE produced from my VDSP sources.

 

I have an LDR (again produced from VDSP).

 

I also have a BIN (converted from LDR using LDRviewer) .

 

 

 

Is there anyway i can execute any of the above mentioned formats using u-boot ? keeping in mind that every file is basically generated using VDSP and not GCC.

 

My hardware is u-boot ready. It boots from serial flash. My system does not have a serial NOR flash, so loading vdsp produced dxe for booting is not an option i think. I do have a NAND flash for non-volatile storage.

QuoteReplyEditDelete

 

 

2011-01-27 13:47:55     Re: how to execute an LDR/BIN/DXE from u-boot ?

Mike Frysinger (UNITED STATES)

Message: 97725   

 

u-boot doesnt care what compiler produced the object

 

for LDRs, use bootldr

 

for ELFs (a DXE is simply an ELF), use bootelf

 

for a binary, use go

QuoteReplyEditDelete

 

 

2011-01-28 04:58:17     Re: how to execute an LDR/BIN/DXE from u-boot ?

Muhammad Ali (PAKISTAN)

Message: 97730   

 

I tried bootelf with the dxe image produced by VDSP, it started loading sections of code but didnt actually start the app.

 

here is what i got on u-boot after bootelf-ing the dxe (with LDF and startup code). i have an LED that should light up if the code is executed. since it doesnt light up, i am assuming the code didnt run.

 

My application uses VDK , i am not sure if that makes any difference.

 

========bootelf of DXE (with startup and LDF code) ========

bootelf 0x1000000

Loading L1_code @ 0xffa00000 (49076 bytes)

Loading L1_data_a @ 0xff800000 (15204 bytes)

Loading L1_data_b_tables @ 0xff900000 (24 bytes)

Clearing bsz_L1_data_a @ 0xff803b64 (11148 bytes)

Clearing bsz_sdram0 @ 0x0001dab4 (65580 bytes)

Loading sdram @ 0x00000008 (121516 bytes)

## Starting application at 0xffa00000 ...

 

 

here is what i got on u-boot after bootelf-ing the dxe (without LDF and startup code)

 

========bootelf of DXE (without startup and LDF code) ========

 

bootelf 0x1000000

Loading data_L1_data_a @ 0xff800018 (15220 bytes)

Loading data_L1_data_a_tables @ 0xff800000 (24 bytes)

Clearing l1_data_a_bsz @ 0xff803b8c (1064 bytes)

Clearing l1_data_b_bsz @ 0xff900000 (4972 bytes)

Loading sdram0_bank0 @ 0x00000008 (121804 bytes)

Clearing sdram0_bank1_bsz @ 0x01000000 (70696 bytes)

## Starting application at 0x00000000 ...

code=[0x2b], stack frame=0x7f9bac0, bad PC=0x7fc013c

 

 

Unhandled IRQ or exceptions!

 

QuoteReplyEditDelete

 

 

2011-01-28 14:10:09     Re: how to execute an LDR/BIN/DXE from u-boot ?

Mike Frysinger (UNITED STATES)

Message: 97733   

 

you can try using the -p option to bootelf, but if that doesnt work either, this is where you get to debug & figure out what's wrong

Attachments

    Outcomes