I'm using BF706 DSP and ADI_CrossCoreEmbeddedStudio-Rel2.6.0 in my work. How can I build firmware image file (with .img extention) from .ldr or .dxe file?
Could please let us know, What is the intended purpose of the .img file you are looking for?Please confirm whether you want to load firmware image to the flash memory for direct access or as part of the boot stream?
If you want to load your firmware image to processor flash memory, then you can use .ldr file that can be programmed into a flash device.
The .ldr file is the boot stream, which can be in either binary, ascii or hex format.Regardless of the format, the loader file describes a boot image, which is the binary version of the loader file.An .ldr file contains the boot stream in a format expected by the on-chip boot kernel.The LDR file,whose image is used to burn Flash/PROM memory or other boot devices (as determined by the BMODE pins), which are read at boot time by the processor's on-board boot ROM.
CCES contains a Command Line Device Programmer (cldp) utility which is used to flash on a target board(flash the LDR file into target).From CCES 2.8.0, the need for a CCES license has been removed from the CLDP. Users can now use the CLDP without having to have a separate license for each machine it is used on. A full CCES install is still needed in order to use the CLDP however.
You can get more details about CLDP in the below CCES help,after successful CCES installation.
CrossCore® Embedded Studio x.x.x > Integrated Development Environment > Working with Bootable and Non-bootable Files > Device Programmer > About the Device Programmer CrossCore® Embedded Studio x.x.x > Integrated Development Environment > Working with Bootable and Non-bootable Files > Device Programmer > Device Programmer Command Line > Device Programmer Command-Line Switches
Please refer the below FAQ to program flash into target board.
FAQ: How do I program flash on my target board using CrossCore Embedded Studio?
If above information doesn't satisfy your need, could you please share us the exact purpose of .img file which you are looking for in more detail. This will help us to assist you further.
thanks for fast answer. I use ldr and dpia (dxe) files to program a flash on my target board with JTAG device ICE-1000 (command is: cldp.exe -proc ADSP-BF706 -emu ice-1000 -driver bf707_w25q32bv_dpia.dxe -cmd prog -erase affected -file "My_firmware.ldr").
Further from time to time it's necessary to upgrade firmware through USB interface of BF706 DSP without any JTAG device. So I want to know how to build firmware image to load it to the flash memory through USB interface.
I know how to write .img file to the flash memory. The question is how to build .img file from .c, dxe, ldr files. Any advice will be helpfull.
Unfortunately, Analog Devices do not provide a non-emulator solution(without jtag device) for flashing.You would have to look at third parties.
So you would need, emulator or SADA(debug-agent) to program (flash)processors.However, it should be noted that the SADA2 (Stand Alone Debug Agent) boards can only work with EZ-Boards.
Please note that, The Elfloader utility from CCES can generates the Loader Files from a DXE , which can produce "Binary", "Intel Hex-32", "ASCII" format files all with the *.ldr extension only.
Also note that, output file formats are documented in the Loader and Utilities manual linked below, and they are ultimately pretty straight forward formatting - it would be relatively simple to create a simple conversion utility to parse our LDR files into whatever formatting the selected programming utility expects.