Dear Sir/Madam,
Hello,
We have VF3x prototype PCB, which we use dual QSPI Flash for boot. I developed and debugged our code with DS-5 debugger. Then I integrated the "bootloader_vybrid_qspixip" project source files into my project, built the *.axf file, then generated both *.bin and *.c image files. The *.c image file is about 5 times bigger then our *.bin file.
I read some documents mentioning that the IAR accepts *.bin file to program the QSPI flashes. But in DS-5 we only program big *.c files. I could not find a document about if it is possible to dwonload the *.bin files into the internal RAM and then program them to the QSPI flashes.
Could you please help me if it is possible within DS-5, or with MFGToolkit?
Thanks and best regards.
Mehmet Ali Ipin
Solved! Go to Solution.
Quadspi_load project includes *.c file, which is generated with fromelf utility from ELF binary of your application. Generated *.c file is compiled along with the rest of quadspi_load *.c files and downloaded to and executed from Vybrid RAM. You don't need 5x RAM space to program your code to QSPI!
"The *.c image file is about 5 times bigger then our *.bin file."
Of course *.c should be 5x bigger than binary. One byte in human readable form like "0x12," takes exactly 5 bytes in *.c file. But what's the problem with that??? After compiling *.c file you will get again one byte instead of 5.
I see another problem with DS-5. Binary image produced with DS-5 is always enlargened to nearest 64k boundary. Extra space is filled with zeros. That's a waste of memory space and/or bootloading time! *.c files produced with fromelf utility also are bigger and include all those useless zeros.
Dear Edward,
Thank you for your answer,
I know the reason why .c files are bigger then .bin files. The problem is that, we have only internal SRAM to download the code and program them to the QSPI flash. Our code is now almost 100 KByte, but if we add the USB, TCP/IP file system and our full application, I don't know if we will find enough RAM.
If there is no support for DS-5 for .bin files, Do you know, if I use MFGToolkit for Vybrid MQX application download our .bin file?
Regards
Mehmet,
What is "bootloader_vybrid_qspixip"? Does it load not compiled *.c files to RAM? I thought you are using quadspi_load (from VYBRID_SAMPLE_CODE_SBCH) based code to program QSPI? If so, then you still have room to go. Quadspi_load uses compiled *.c image file and your code limit is at least ~500k.
I don't know about MFGToolkit.
Regards
Dear Edward,
Thanks for your answer,
My binary files size is about 100 Kbyte, therefore for .c file we almost near to the 500 KByte limit.
Best regards.
I still don't see the problem. Does compiler refuse to compile 500kB *.c file?
Regards
.c is the project output array file, generated by fromelf. It is not compiled.
Best regards.
Quadspi_load project includes *.c file, which is generated with fromelf utility from ELF binary of your application. Generated *.c file is compiled along with the rest of quadspi_load *.c files and downloaded to and executed from Vybrid RAM. You don't need 5x RAM space to program your code to QSPI!
Dear Edward,
Thank you very much,
I did not know that the generated .c file is compiled with quadspi_load.c files, then downloaded and then executed.
Best regards.