cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Participant
Participant
927 Views
Registered: ‎04-27-2018

Destination Load Address is 0x0 in BOOT.BIN

Jump to solution

Dears

 

In zcu102 board, when I load the BOOT.BIN with SD mode as following procedure,

the Destination Load Address is 0x0 and not equal the Execution Address,

could you tell me the reason and how to fix it.

thank you.

 

procedure:

1:create 32bit FSBL project and compile it

2:create boot image(BOOT.BIN)with FSBL and custom app (NO bit file)

3:copy BOOT.BIN to SD card

4:power on zcu102 with SD mode

 

log:

----------------

Xilinx Zynq MP First Stage Boot Loader
Release 2018.1   Jun 27 2018  -  10:54:39
Reset Mode      :       System Reset
Platform: Silicon (4.0), Cluster ID 0x80000000
Running on A53-0 (32-bit) Processor, Device Name: XCZU9EG
Processor Initialization Done
================= In Stage 2 ============
SD1 with level shifter Boot Mode
SD: rc= 0
File name is BOOT.BIN
Multiboot Reg : 0x0
Image Header Table Offset 0x8C0
*****Image Header Table Details********
Boot Gen Ver: 0x1020000
No of Partitions: 0x2
Partition Header Address: 0x440
Partition Present Device: 0x0
Initialization Success
======= In Stage 3, Partition No:1 =======
UnEncrypted data Length: 0x3E800
Data word offset: 0x3E800
Total Data word length: 0x3E800
Destination Load Address: 0x0
Execution Address: 0x4D0DC
Data word offset: 0x6A10
Partition Attributes: 0x11E
Partition 1 Load Success
All Partitions Loaded
================= In Stage 4 ============
PMU-FW is not running, certain applications may not be supported.
Protection configuration applied
Running Cpu

---------------

0 Kudos
1 Solution

Accepted Solutions
Participant
Participant
1,080 Views
Registered: ‎04-27-2018

Re: Destination Load Address is 0x0 in BOOT.BIN

Jump to solution
 I think the different between execute address and load address is correct.

So now the question is why the FSBL handoff failed.

Since the hardware will be reinitialize in my customer APP, the "Exit From FSBL" message may not be outputted.

I and sleep handling before handoff, "Exit From FSBL" output correctly.

So please allow me close this issue

View solution in original post

0 Kudos
7 Replies
Highlighted
Xilinx Employee
Xilinx Employee
900 Views
Registered: ‎10-11-2011

Re: Destination Load Address is 0x0 in BOOT.BIN

Jump to solution

what memory address is your custom app linked against?

-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 Kudos
Highlighted
Participant
Participant
880 Views
Registered: ‎04-27-2018

Re: Destination Load Address is 0x0 in BOOT.BIN

Jump to solution

Hi @denist

 

I sorry I don't understand what you said.

But in my app, the entry point address is 

0x4D0DC

 and the head information as following:

--------------------------------------------

ELF Header:
Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
Class: ELF32
Data: 2's complement, little endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Type: EXEC (Executable file)
Machine: ARM
Version: 0x1
Entry point address: 0x4d0dc
Start of program headers: 4542044 (bytes into file)
Start of section headers: 4542076 (bytes into file)
Flags: 0x5000002, has entry point, Version5 EABI
Size of this header: 52 (bytes)
Size of program headers: 32 (bytes)
Number of program headers: 1
Size of section headers: 40 (bytes)
Number of section headers: 25
Section header string table index: 24

---------------------------------------

0 Kudos
Highlighted
Xilinx Employee
Xilinx Employee
868 Views
Registered: ‎10-11-2011

Re: Destination Load Address is 0x0 in BOOT.BIN

Jump to solution

You might want to take a look at the .elf dump and linker script. It should look like this.

It might give you some clues.

 

 

-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
elf.PNG
linker.PNG
0 Kudos
Highlighted
Participant
Participant
856 Views
Registered: ‎04-27-2018

Re: Destination Load Address is 0x0 in BOOT.BIN

Jump to solution

Dear @denist

 

Thinks for your detailed explanation.

In my linker file 

the load address and execute address is 0x0000_0000,

ENTITY 0x00000000
{
    KERNEL_RO 0x00000000 FIXED
    {

So,Why is it different between execute address and load address in BOOT.BIN

 

Otherwise,

Could you tell me which App you use for dump the elf load address 

0 Kudos
Highlighted
Participant
Participant
851 Views
Registered: ‎04-27-2018

Re: Destination Load Address is 0x0 in BOOT.BIN

Jump to solution

Dear @denist

 

here is my App's dump info

===================

Elf file type is EXEC (Executable file)
Entry point 0x4d0dc
There are 1 program headers, starting at offset 4542044

Program Headers:
  Type           Offset   VirtAddr   PhysAddr   FileSiz MemSiz  Flg Align
  LOAD           0x004000 0x00000000 0x00000000 0xfa000 0x13a6a8 RWE 0x4000

Execute address is 0x4d0dc, but LOAD address is 0x0000_0000

 

0 Kudos
Highlighted
Participant
Participant
840 Views
Registered: ‎04-27-2018

Re: Destination Load Address is 0x0 in BOOT.BIN

Jump to solution

Dear @denist

 

Please allow me add some analysis info

 

Since I disassembled my custom APP,

arm-none-eabi-objdump -d XXXXX.elf |grep 4d0dc
      20:       0004d0dc        .word   0x0004d0dc
0004d0dc <_entry>:
   4d0dc:       f10e01d3        cpsid   aif,#19

 I think the different between execute address and load address is correct.

So now the question is why the FSBL handoff failed.

 

OK:

================= In Stage 4 ============
Protection configuration applied
Running Cpu Handoff address: 0xFFFF0000, Exec State: 8
Exit from FSBL

 

NG

================= In Stage 4 ============
PMU-FW is not running, certain applications may not be supported.
Protection configuration applied
Running Cpu

 

0 Kudos
Participant
Participant
1,081 Views
Registered: ‎04-27-2018

Re: Destination Load Address is 0x0 in BOOT.BIN

Jump to solution
 I think the different between execute address and load address is correct.

So now the question is why the FSBL handoff failed.

Since the hardware will be reinitialize in my customer APP, the "Exit From FSBL" message may not be outputted.

I and sleep handling before handoff, "Exit From FSBL" output correctly.

So please allow me close this issue

View solution in original post

0 Kudos