请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:TMS320F28377S 尊敬的团队:

"-byte --memwidth=16 --order=MS --romwidth=16 --diag_wrap=off --ascii --binary"
在我的客户使用上述配置生成.hex 文件后、他发现.hex 文件中的地址可能与.out 文件中的地址不同。 例如:

闪存中使用的地址长度为 0x18230、
以.hex 格式加载到闪存并查询存储区域后。 最后数据的闪存地址为0x9c231、与映射文件的数据长度相同。
但是、如果您以.out 格式加载到闪存 中并查询存储区域、则最后一个数据地址为0x9c233、比映射文件的长度多两个。

此外、客户提到、当他向程序添加参数定义时会出现此问题、但他不确定是哪个参数。 他怀疑是以下情况:
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
unsigned char CANREC_STATE[2] = {CAN_REC_READY,CAN_REC_READY};
unsigned char CANSEND_STATE[2] = {CAN_SEND_OVER,CAN_SEND_OVER};