主题中讨论的其他器件: TMDX570LC43HDK
您好!
我需要一些关于在 Hercules TMS570LC4357上使用 CRC 模块时遇到的问题的建议。
我已按如下方式实现 CRC:
-我已经遵循了 SPNA235中的指导。
-我已经使用全 CPU 模式实现了 CRC。
-我已经为.intvecs、.text、.const 和.cinit 定义了由链接器生成的 CRC 表。
我遇到的第一个问题是,在计算.const 的 CRC 时,对 crcSignGen()的调用导致 ESM 错误2.3提出。
这大概是由 ECC 问题导致的。
问题1. 您知道在什么情况下会导致 CRC 的计算导致 ESM 错误2.3?
请注意、我的 HL_sys_link.cmd 已经包含链接器计算出的 ECC。
最初、我对向量 FLASH0和 FLASH1使用 vfill。
即
VECTORS (X):origin=0x00000000 length=0x00000020 vfill=0xffffffff
FLASH0 (RX):origin=0x00000020 length=0x001FFFE0 vfill=0xffffffff
FLASH1 (RX): origin=0x00200000 length=0x00200000 vfill=0xffffffff
所以、我尝试更改 vfill 来填充、我发现 ESM 错误2.3不再提出。
问题2. 您是否知道更改 Vfill 填充可以防止 ESM 错误2.3的任何原因?
我遇到的下一个问题是、现在链接器为.const 计算出的 CRC 与 CPU 为.const 计算出的 CRC 不同。
链接器计算出的.intvecs、.text 和.cint 的 CRC 与 CPU 计算出的.intvecs、.text 和.cint 的 CRC 相同。
只是链接器为.const 计算出的 CRC、与 CPU 为.const 计算出的 CRC 不同。
问题3. 您是否知道为什么一个 CRC 出错而所有其他 CRC 都正确?
请注意、我已经在两个不同的开发板(TMDX570LC43HDK)上运行此软件、并且在两个电路板上获得的结果完全相同。
因此、这些问题的原因并不是由硬件造成的。
谢谢你。