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.

[FAQ] [参考译文] [FAQ] AM64X/AM62X/AM62AX:从 SDL 配置 ESM 模块并设置 ESM 位字段以启用 ESM 错误事件

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1265594/faq-am64x-am62x-am62ax-configuring-the-esm-module-from-sdl-and-setting-the-esm-bit-fields-to-enable-the-esm-error-events

器件型号:AM64x/AM62x/AM62Ax

这个常见问题解答主要解释了如何在 SDL 中配置 ESM 模块以及启用触发 ESM 中断的错误事件。

它还显示了如何为一个 ESM 事件设置中断优先级并且为相应事件启用一个外部错误引脚。

以下说明适用于 AM64x、AM62x 和 AM62Ax 器件。

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

    在配置之前、您需要了解 ESM 模块是如何工作的 ECC_Test_esmInitConfig_main 位字段。

    为此、请查看 ESM 寄存器组和 ESM 模块的中断架构。

    ESM0中断映射

    错误信令模块(ESM)


    请浏览 ESM0_MCU 表、其中指定了有多少中断路由到主 Interrupt_Map 或 MCU ESM。

    在 AM64X 中、我们有177个事件路由到 ESM0模块、92个事件路由到 MCU ESM。

    同样、您可以浏览 AM62x TRM 中的表10-2和表10-3、分别查看路由到 Main 和 WESM kup 的事件

    现在,如果您查看 ESM 寄存器,您主要需要检查3个寄存器。

    我已经从 AM64X TRM 中捕获了这些寄存器。

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

     阅读 上述信息后、您可以在位图配置中看到代码。

    ESM 错误事件分为 每组32个 。 所以 ESM 中断映射表中的事件0-31将在组0中、32-63在组1中、依此类推。  enableBitmap、priorityBitmap、errorpinBitmap 结构的每个条目都与特定 ESM 组相对应。

    主要有3位映射字段。

    enableBitmap:

    您可以从 TRM 中检查中断映射表并识别需要关注的事件。 要启用该特定错误事件、您可以在 enableBitmap 结构中将与该事件编号对应的位设置为1。

    优先级位图

    对于每个错误事件、您可以将中断的优先级设置为高或低。  在 priorityBitmap 结构中、我们设置了启用的 ESM 事件的中断优先级。 为了给特定的 ESM 事件配置高优先级中断、我们可以将与 ESM 事件相对应的位设置为1。 同样、要配置低优先级中断、您可以将该位设置为0。

    所有事件的优先级默认设置为0。  

    errorpinBitmap :  

    在 errorpinbitmap 中、您可以启用外部引脚以外部监控 ESM 事件的状态。 您可以通过将寄存器中的位

    ESM 事件命名为1。  

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

    示例 :假设我想为 WWD_0外设启用 ECC 聚合器 ,中断号值为

     

            (屏幕截图来自 AM64X TRM)

    DMSC0_RTI_0_INTR_WWD_0 -> 5

    优先级 >高

    错误引脚事件:>禁用

    上述事件应在  组0  因此,应配置所有位图字段的突出显示位置。

    现在、您可以在组0的第5个位置只保留1个值。

     

    即 .enableBitmap ={ 0x00000020u 、0x00000000u、0x00000000u、0x00000000u、
    0x00000000u、0x00000000u、0x00000000u、0x00000000u、
    0x00000000u、0x00000000u、0x00000000u、0x00000000u、
    0x00000000u、0x00000000u、0x00000000u、0x00000000u、
    0x00000000u、0x00000000u、0x00000000u、0x00000000u、
    0x00000000u、
    }、

    .priorityBitmap ={ 0x00000020u 、0x00000000u、0x00000000u、0x00000000u、
    0x00000000u、0x00000000u、0x00000000u、0x00000000u、
    0x00000000u、0x00000000u、0x00000000u、0x00000000u、
    0x00000000u、0x00000000u、0x00000000u、0x00000000u、
    0x00000000u、0x00000000u、0x00000000u、0x00000000u、
    0x00000000u、
    }、

    .errorpinBitmap ={ 0x00000000u 、0x00000000u、0x00000000u、0x00000000u、
    0x00000000u、0x00000000u、0x00000000u、0x00000000u、
    0x00000000u、0x00000000u、0x00000000u、0x00000000u、
    0x00000000u、0x00000000u、0x00000000u、0x00000000u、
    0x00000000u、0x00000000u、0x00000000u、0x00000000u、
    0x00000000u、
    }、

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

    上述说明对于 MCU ESM 和唤醒 ESM 模块是相同的、 对于 AM64X 和 AM62X 器件也是相同的方法。