03-11-2011 03:55 AM
I'm working with SP605 evaluation board and need to boot from the flash memory my sdk design. Now, firt i program the fpga with de .bit and .bmm file. , and then run de .elf file. I want that this process was automatic when i turn my board, running from flash memory.
Previously i worked with a virtex5 custom board with and eprom memory and i use impact to prepare a .mcs file to program that memory.
I've been looking for tutorials or documentation for that pourpose (imagine it would be very simple) but i found nothing. Please if someone knows where to find documentation or could write me a quick tutorial.
Thanks in advance!
03-30-2011 12:08 AM
My problem was that I was not paying attention to the Flash initial address which in my case (SP605) is 0x42000000.
I'm running now using the an offset of 0x00A00000, so my srec_booloader application has the start position at 0x42A00000.
Record a hello_world aplication at this memory position and Run the srec_bootloader to test it.
Just be sure that you are really recording at the exact position... that was my fault first...
If you record your app in a different position, the srec_bootloader returns that same message!!
Thanks for your information.
I upgraded my tool to ISE13.1. And when I use the program Flash tool in sdk, there is a cmmand sets supported by this programmer, as :
1. Intel/ Sharp (Extended Command Set)
2. AMD/Fujitsu (Standard Command Set)
3. Intel (Standard Command Set)
4. AMD/Fujitisu(Extended Command Set)
But I use the spansion flash s29gl in my project with the custom-build board (use Spartan6-LX16 fpga).
I am consider whether my problem is the the program flash tool don't support this spansion flash.
But if it is, what should I do?
Thanks again, raphael.barbieri
03-30-2011 08:12 AM
07-13-2012 02:42 AM
You can read xapp973, excellent application note from xilinx. File is attached with mail.
05-21-2013 02:37 AM
When I execute this command I have a leak of memory.
/home/mayotte/Xilinx/14.4/ISE_DS/ISE/bin/lin64/data2mem -bm system.bmm -bt system.bit -bd boot_esssai.elf output.bit
I place an examle of error that I can see in the console this is the latest. Do you have an idea why I have a leak of memory.
INTERNAL_ERROR:Data2MEM:45 - Memory allocation leak of 8 bytes at 0x019B15F8 for 'CharPtrArrayType' data.
Total memory in use at allocation was 7605 bytes.
Source file "StringUtils.c", line number 901.
019B15F8: 00 00 00 00 00 00 00 00
I have spartan 6 and I want programme the flash with a file who contains the .elf and the .bit. I think that with the impact 14.4 I load the file output.bit in the cable SPI. Unfortunately the file output.bit did'nt generate.
05-24-2013 07:02 AM
I am doing the same thing that you in this link http://forums.xilinx.com/t5/Embedded-Development-Tools/program-flash/td-p/134956/page/3. unfortunately it's'nt work I generated the system.bit thakns planAhead I have a microblaze processor then I export the hardware with xsdk then I create a project hello world. I launch this commande in a terminal
/home/eukrea/Xilinx/14.4/ISE_DS/ISE/bin/lin64/data2mem -bm system_bd.bmm -bt system.bit -bd hello_world.elf -ob final_release.bit
I generated a file hello.mcs that I load in the board sp605 in SPI thanks impact. It specify the program succed. When I lauch minicom in the terminal I don't see the disp of hello world. I don't know if I must configure the jumper of the board or not ?
Do have an idea ?
05-24-2013 07:03 AM
05-29-2013 09:22 AM
Since yours is an Embedded Application you need to create a Boot loader if you want to run your application from the flash memory. Seeing the procedure what you described your steps are wrong. You should do the following :
1) Create a SREC image of the ELF file of your C project and store it in the flash memory. This can be done using the Flash Programmer from the SDK.
2) Create a BootLoader application for the Flash interface.
3) Using data2mem generate the bit file which has the bootloader elf file in it. This way you have embedded the bootloader into the download.bit file.
4) Now use IMPACT to generate a PROM file and store it in the flash memory.
The steps described above are very brief . The whole procedure needs a lot of patience and parameters have to be set correctly. Make sure you search previous posts on Bootloader's.
The procedure you executed is sufficient if you want to run a VHDL application. Not an Embedded Application!
09-17-2013 01:10 AM
I have followed all the steps provided in the last post to program my linear flash (on ML605) and everything went well.
However, I have the following issue: If I update my .elf software and I reprogram flash the SDK (step 1 of the previous post), the entire content of my linear flash is erased thus making it necessary to restore the prom file in the flash memeory.
To your knowledge, would it be possible to repogram the flash software from sdk without erasing the prom content? Restoring the prom file in the flash usually requires a lot of time!
Thank you in advance.