Because of the Thanksgiving holiday in the U.S., TI E2E design support forum responses may be delayed the week of Nov. 21. Thank you for your patience.

This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS320F28377S: Question about generating hex file with CCS10

Part Number: TMS320F28377S

Dear team:

"--byte --memwidth=16 --order=MS --romwidth=16 --diag_wrap=off --ascii --binary"

After my customer generated .hex file with the above configuration, he found that the address in the .hex file may different from the address in the .out file. For example:

The length of address used in flash is 0x18230,

After loading into flash in .hex format and query the storage area. The flash address of the last data is 0x9c231, which is the same as the data length of the map file.

However, if you load into flash in .out format and query the storage area, the last data address is 0x9c233, which is two more than the length of the map file.

In addition, customer mentioned that this problem would occur when he added a parameter definition to the program, but he was not sure which parameter it was. He suspected that it was the following:

unsigned long g_bErrFlag ;
//unsigned long u32CanAErrorStatus;

tCANMsgObject TXCANMessage[2];//发送消息
tCANMsgObject RXCANMessage[2];//接收消息
//uint32_t RX_Lunfa1 = 0;
//uint32_t RX_Lunfa3 = 0;
//int testnum1[17] ;
//int testnum2[17] ;
//unsigned char TX_1_Data[8] ={ 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };//发送缓存

unsigned char RX_2_Data[8] ={ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };//接收缓存 充放电报警和故障电流
unsigned char RX_3_Data[8] ={ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };//接收缓存 BMS报警和工作状态

Uint32 CANSENDbox[2] = {0,0}; //can邮箱发送状态,对应发送邮箱0、1、2


  • Hello,

    Our compiler expert is current away and will reply after he returns on Tuesday. Thank you for your patience.


  • "--byte --memwidth=16 --order=MS --romwidth=16 --diag_wrap=off --ascii --binary"

    Why do you specify both --ascii and --binary output formats?  Only the last one takes effect.  In this case, you get binary format.  Are you sure binary format is correct?  What formats are supported by the method you use to program flash memory?  What method is used to program flash memory?

    Thanks and regards,