In order to peform field upgrades of embedded systems in the field, I would like to be able to download .out files to a target system (via a serial port for example) then use the Flash API to program the DSP with the new version our software. The JTAG ports will not be accessible on systems in the field so I needed to find another method for upgrading software stored in the flash.
A couple of things that I would like to understand is the format of the COFF files.
When performing a release build, the software uses about 32K of code (as shown in the .map file) yet the .out file is over 330K bytes. I tried using the advanced linker option to strip the symbolic information yet the output file did not decrease in size. Is there some magic compiler / linker setting to strip the output files down for production release?
Also, can anyone point me to information related to:
1) Reducing the size of the .out files to something reasonable and perhaps DSP source code for disecting the .out file for writing to the DSP flash.
or
2) Converting the file to some other format (.hex for example) that would simplify programming the flash memory of the DSP?
Any links to source code examples would be appreciated!
Thank you in advance.