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.

[参考译文] RM48L952:checkRAMUERRTest()期间的预取指令

Guru**** 2893300 points

Other Parts Discussed in Thread: RM48L952, HALCOGEN

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/789868/rm48l952-prefetchentry-during-checkramuerrtest

器件型号:RM48L952
主题中讨论的其他器件: HALCOGEN

大家好、

我正在使用 HALCoGen 为 RM48L952生成的代码、我不使用中断(它们通过_disable_interrupts_()被禁用、vim 也被配置为不生成中断。
要检查错误,请检查 esmREG->SR1[0...2]、esmREG->SSR2和核心 cp15寄存器(datafault,指示故障)。
我想定期运行 HALCoGen 生成的 checkRAMUERRTest()。

在未连接调试器的情况下(在 PORST 之后)运行时、该操作正常。
但是、当我通过 JTAG 进行连接时、在 checkRAMUERRTest 函数的末尾会调用一个预取指令中断。 然后、如果我重新启动(nRST)并重新运行程序、则不会生成预取指令中断。
在 PrefetchEntry 中、我读出 cp15寄存器。

_coreGetInstructionFault _()返回0xd、指示权限
_coreGetInstructionFaultAddress_()返回0xe3cfefc6。

欢迎您提供有关在何处查找指令故障或如何查找指令故障的任何帮助。
这与 MPU 或 CPU 模式(sys、user、...)相关吗?

此致、

Karel

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Karel、

    看起来代码正在尝试访问未实现的存储器。 CCMR4测试要求在未连接 JTAG 的情况下执行代码、但对于 SRAM 和闪存相关测试、JTAG 不应影响测试。

    运行代码时是否有断点? 连接 JTAG 后、何时使用运行选项、运行(恢复)还是自由运行?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 QJ、


    我没有执行 CCMR4测试。
    我正在使用 GDB。 我设置了唤醒点。 在调用 main ()之前,我正在_c_int00中执行 checkRAMUERRTest()和 checkRAMAddrParity ()。
    通过代码或继续(继续)设置断点或单步执行(单步执行/下一步)似乎不会影响这一点。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    我刚刚进行了相同的测试、没有发现任何问题。 在 pbist 测试后,我执行了检查 RAMAddrParity ()。