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.

TMS320F280049: 特定flash区域CRC值每次编译都不一致

Part Number: TMS320F280049

hi,dear:

我需要对特定区域作为安全区(0x98000-----0x99000),对此区域flash做CRC校验(即和goldenCRC比较,一致则ok)

但是每次测试,对非安全区程序略有改动,安全区域CRC 会变化。

如下所示:在安全区只有calculateECC(),执行xorData = xorData ^ temp1;。打开反汇编可以看到,当执行 00C955BB    FFC          XAR7, LL$$XOR时候, 00C955BB会变化。

打开map文件,

0 0009542e C$$EXIT
0 00094d6d FS$$DIV
0 00095514 I$$DIV
0 00095525 I$$MOD
0 00095404 L$$DIV
0 00095413 L$$MOD
0 000955ab LL$$AND
0 00095554 LL$$CMP
0 000955b3 LL$$OR
0 000955bb LL$$XOR
0 00095601 U$$DIV
0 00095606 U$$MOD
0 00095421 UL$$DIV
0 00095428 UL$$MOD
0 00095566 ULL$$CMP 

每次编译会发生变化。该如何固定LL$$XOR这些在flash中的位置呢?

谢谢!

#pragma CODE_SECTION(calculateECC,"FlashFusa2" );
void calculateECC(void);

#pragma DATA_SECTION(temp1,"ramgs1");
#pragma DATA_SECTION(xorData,"ramgs1");
uint64_t xorData,temp1;

void calculateECC(void)

{xorData = xorData ^ temp1;}

x 出现错误。请重试或与管理员联系。