06-24-2019 10:58 AM
I am using zcu102. i was able to follow the instructions online to program flash (fsbl.elf, vivado_wrapper.bit, and hello_world.elf) to print Hello World.
I am wondering if there is a way of finding the memory address where it stores hello_world.elf so that i can write an other .elf to this same address without going through the process of remaking the image and reprogramming the flash.
06-24-2019 10:42 PM - edited 06-24-2019 10:44 PM
Why you don't use System Debugger?
You can read ug1209, chapter 4.
06-25-2019 12:28 PM
debugger is for jtag boot, right? and it cannot be used if i boot from flash?
but i am trying to find out the location of the .elf file. So that after i programmed flash, i can just change the elf file at this address without going to SDK (like use the new .elf to make a new .mcs, and then reprogram this .mcs to flash)again
06-25-2019 06:54 PM
i already programmed .mcs (contains hello_world.elf) to flash, and i want to know if there is a way to overwrite hello_world.elf with new.elf in flash.
i am thinking of something like, locating the memory address of hello_world.elf in flash, then write new.elf to this same address through command window or something. Is this do-able?
06-25-2019 07:12 PM
OK. I recommand you to debug the application by System Debug, and then make the mcs files.
If you just want to know how to replace the ELF in FLASH. There is many ways to do.
You can download your ELF files to your Linux by ftp. And then, write to your flash(you must to know the begging address, and sizes).
06-25-2019 07:19 PM
i used SDK on Windows to proram flash, is there a way of replacing the elf in flash on Windows?
if i can only do it through Linux, do you have more detailed steps of how to do it? pdf etc that i can refer to regarding to this?
and how do i find the address of the elf in flash?
06-25-2019 08:14 PM
There is one thing I forgot to tell you, the elf file can't be packaged into the image by this way.
Because it's hard to know the beginning address in your image, and the size of your each elf file is different.
So you have to place the elf file to the specific address of the flash. and read the elf to your file system after booting.
There is no demo for your request. but some website and documents will help to you.
for u-boot, you can dowload your elf file by XSCT tool(ug1165 pg35), and program the flash(https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18842223/U-boot#U-boot-ProgrammingQSPIFlash. )
for linux, the zynq qspi driver can do the samething.(https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18842262/Zynq+QSPI+Driver#ZynqQSPIDriver-QSPIflashtestingwithflashcp)
the zynq MPSoc qspi driver is as follow: