TI's CCS generates files in .out format by default, but many applications often require pure binary code. TI provides a small tool HEX2000 to help achieve format conversion. For specific instructions, please refer to the TMS320C28x Assembly Language Tools manual. Here is a brief description of the use of the tool: 1. hex2000 is in the ccs installation directory. 2. The hex2000 conversion tool supports multiple output formats. As for which format to use, it is usually determined by the burner used. Common ones are: Ascii hex: This format actually converts all codes into character form. For example, the original 0x3132 is represented by '3' '1' '3' '2', with spaces in between. This format is more suitable for updating data through tools such as serial ports. Binary: -b option, pure binary format. It also supports formats such as intel, motorola-s, ti-tagged, tektronix, etc. 3. hex2000 has the concept of memory width. The input file (--memwidth) is generally 16 bits (because it is compiled like this), and the output format --romwidth can be specified as 8 or 16 (some formats do not support 16). If the input is 16 and the output is 8, the hex tool will automatically generate two files, one for the lower 8 bits of data and the other for the upper 8 bits of data. Of course, you can also name the two files yourself. 4. You can also specify the byte order of the output file. The default is little-endian, and you can also specify the big-endian and little-endian order through -order LD and -order MS. 5. -image option: Turn on this option, the system will generate a file of the same size as you specified in roms, and the insufficient part will be replaced by the fill value. If this option is not used, the system will only generate a file of the actual size. For example, if the space you want is 0x300000-0x330000, but there is only data in 0x300000-0x310000, the system will only generate this part of the data, and the rest will not be filled with 0; if the -image option is not used, then if there are only two data blocks in 0x300000-0x330000, and these two data blocks are not connected, this option will not be used, and a compressed data block will appear, and there will only be an outfile of these two data blocks. 6. The hex2000 tool can be run by writing all the parameters and input and output together in one sentence through the command line, for example: hex2000 -t firmware -o firm.lsb -o firm.msb You can also write a script file through the ROMS instruction. The advantage of this script file is that it can write more complex requirements and is easy to modify. Here is an example of mine: mcbsp_sd_demo.out -image --memwidth 16 --map mcbsp_sd_demo.map --order=LS -b -fill FFFFh ROMS { TEXT: org = 0x00600000, len = 0x2800, romwidth = 8 files = {mcbsp.bin} } Copy code I don't know if it's because I want to output 8 bits and the source file is 16 bits, the org here is actually 0x300000, but it's always wrong to write this, only fill it twice to make it work. Note that the length here is byte.