大家好、
我正在将 SDL_ECC_ATCM 和 SDL_ECC_BTCM 的演示集成到一个工程中、但其功能不正确、请帮助检查。
提醒:这个项目在 R5FSS1-0中运行。 在此项目中、我关闭了缓存、而在调试时、我不打开"variables"、"expressions"和"Memory Browser"。
问题如下:
1)。 ATCM 和 BTCM 的 ECC 初始化将更改 TCM 中的数据。 在代码中,我添加了两个函数,一个是 用于将 ATCM / BTCM 的初始值存储到两个数组;另一个是 用于检测 TCM 内容变化的 TestTcmValueChange ()。 首先,我 在 ECC init 之前插入 vTcmInitialValueStore(),然后 在 ECC init 之后插入 TestTcmValueChange(),它显示内容已更改;
2)。 不出所料、我发现2位或1位错误注入也会改变数据、您可以从代码中检查、我插入了 VTcmInitialValueStore 和 TestTcmValueChange 。
3)。 另一个奇怪的现象是、 2BitProjectTest 或 1BitProjectTest 有时无法通过、并且测试在以下循环中停止:

4)。 ATCM 和 BTCM ECC 特性由 R5指令启用、并且应该访问 R5寄存器来启用 ECC 特性。 然而、注入错误函数、即 API- SDL_ECC_expractError、是由 ECC 聚合器生成的、我对它很好奇、为什么启用功能和注入错误不是通过一条相似的路径 、而是通过两种不同的方式。
请检查这个问题、我和客户都很困惑... SDL ECC 的演示非常不可预测、而且很难调试。
Br、
怎样的







