UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Visitor vidhya_93
Visitor
279 Views
Registered: ‎08-27-2019

How To change the DDR Execution Address Location in FSBL User Code

Hi Community Users,

I am Working on Zynq 7000 Soc(Baremetal OS). how to change the DDR  Load+Exec Address Location in FSBL User Code.

For Example:

DDR Base Address = 0x00100000

i want to change the Load Address into 0x00400000(DDR Memory) and Execute my Application from this point.How to do this?

thanks in advance...

0 Kudos
2 Replies
Xilinx Employee
Xilinx Employee
213 Views
Registered: ‎10-30-2017

Re: How To change the DDR Execution Address Location in FSBL User Code

Hi @vidhya_93 ,

Please open the linker script file in your application and change the DDR base address and size based on where you want to load your application. (base address is the start address where you want to load your application).

Please check below image once:

image.png

 

Best Regards,
Srikanth
----------------------------------------------------------------------------------------------
Kindly note- Please mark the Answer as "Accept as solution" if information provided is helpful.

Give Kudos to a post which you think is helpful and reply oriented.

0 Kudos
Visitor vidhya_93
Visitor
160 Views
Registered: ‎08-27-2019

Re: How To change the DDR Execution Address Location in FSBL User Code

Thankyou For your replay.

Exactly my need is i have 2 Applications

1)app1.elf

2)app2.elf

By using app1.elf+.bit+fsbl.elf i created Boot.bin file and i loaded into Qspi Flash. I know that,BootROM Code load the fsbl into OCM memory.then FSBL load the Bitstream and Application(load into DDR).

My Application1 (app1.elf) is for waiting for app2.elf via Ethernet (TFTP Protocol). Now,My application(app1.elf) is Running in DDR at 0x100000. 

int main()

{

while(1)

{

//waiting for data//

if(data_came)

break;

}

/*load the app2.elf into Ext Parellel NOR flash Memory(not in QSPI)*/

/*read the app2.elf from Ext Parellel NOR Flash memory and load into DDR at 0x400000 .*/

/*and execute the app2.elf */

}

this is possible or not?

 

Thanks in advance..

0 Kudos