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.

[参考译文] TMS570LC4357:VIM ECC 回退矢量地址 (FBVECADDR) 测试

Guru**** 2587365 points
Other Parts Discussed in Thread: HALCOGEN

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1572450/tms570lc4357-vim-ecc-fallback-vector-address-fbvecaddr-test

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

工具/软件:

在 VIM ECC 测试期间是否有办法触发 FBVECADDR? 确认处理程序工作正常? 这将是 TI HalCoGen 中的 vimECCErrorHandler。

在 TRM 中、指出:

UERR 指示发现了一个双位错误、并且中断向量表为
已绕过。 然后、任何 IRQ/FRQ 中断的结果矢量是包含在中的值
在清除该位之前、FBVEADDR 寄存器。

在 19.9.1 中断矢量表 ECC 状态寄存器 (ECCSTAT) 中、但当我触发 UERR、然后尝试触发 IRQ/FIQ 时、我没有看到 FBVECADDR 上的函数被调用。 是否有正式的方法来测试这一点?

谢谢、
Ben

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

    您好 Ben、

    对延迟的回复表示歉意。

    我以前从未测试过这种情况。

    我使用了我们的 TI 内部 AI、该 AI 可以验证与该控制器相关的所有文档、还可以验证数据库中的所有旧的类似问题、并提供有用的建议。 在第一级、我使用了此工具并得到了以下建议、因此我请求您尝试一次此方法、如果您在这方面需要进一步的支持、请告诉我:

    这种情况是复杂的、需要认真考虑。 以下是我们所了解的内容和可以尝试的内容:

    1. 默认行为:根据 TRM、当检测到 UERR(不可纠正的错误)时、应绕过中断矢量表、并且任何 IRQ/FIQ 中断应矢量到 FBVECADDR 寄存器中包含的地址、直到 UERR 位被清除。

    2. 测试方法:虽然没有直接记录的方法来测试此功能、但下面是一些可能的方法:

    a) 诊断模式测试:如某些相关情况中所述 (6)、您可以使用诊断模式来测试 ECC 相关功能。 这将涉及:

    • 将数据和相应的 ECC 写入闪存
    • 故意破坏 ECC 或数据以创建多位错误
    • SEC/DED 模块应检测这些错误

    b) ESM 集成:由于 ECC 错误通常通过错误信令模块 (ESM) 处理、因此您可能需要:

    • 配置 ESM 以进行正确的错误处理 (4)
    • 启用相应的错误通知
    • 发生错误时监控 ESM 状态寄存器
    1. 重要注意事项:

    a) 错误类型:

    • 默认情况下、组 2 和组 3 错误将始终触发 nERROR 引脚 (4)
    • ESM 模块可用于验证错误检测 (1)

    b) 中断处理:

    • VIM(矢量中断管理器)维护一个中断堆栈 (7)
    • 当通过读取 VIM 向量寄存器清除中断时、应保持正确的上下文
    1. 建议的测试程序:

    2. 在 FBVECADDR 中设置 vimECCErrorHandler

    3. 配置 VIM 以进行正确的 ECC 错误检测

    4. 创建受控测试环境、您可以在其中:

      • 在向量表中注入一个双位错误
      • 触发测试中断
      • 验证是否调用了 FBVECADDR 中的处理程序
    5. 潜在问题:如果看不到调用的 FBVECADDR 处理程序、请检查:

    • 是否正确设置了 UERR
    • 优先级配置是否正确
    • 以防止出现任何竞争的中断处理程序

    --
    此致、
    Jagadish。