May I program *.bin image file into QSPI with DS-5

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

May I program *.bin image file into QSPI with DS-5

跳至解决方案
2,604 次查看
MehmetAliIpin
Contributor V

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

标签 (6)
1 解答
2,065 次查看
kef2
Senior Contributor V

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!

在原帖中查看解决方案

0 项奖励
回复
8 回复数
2,065 次查看
kef2
Senior Contributor V

"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.

2,065 次查看
MehmetAliIpin
Contributor V

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

0 项奖励
回复
2,065 次查看
kef2
Senior Contributor V

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

0 项奖励
回复
2,065 次查看
MehmetAliIpin
Contributor V

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.

0 项奖励
回复
2,065 次查看
kef2
Senior Contributor V

I still don't see the problem. Does compiler refuse to compile 500kB *.c file?

Regards

0 项奖励
回复
2,065 次查看
MehmetAliIpin
Contributor V

.c is the project output array file, generated by fromelf. It is not compiled.

Best regards.

0 项奖励
回复
2,066 次查看
kef2
Senior Contributor V

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!

0 项奖励
回复
2,065 次查看
MehmetAliIpin
Contributor V

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.

0 项奖励
回复