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:SDL ESM 配置(错误信令模块)

Guru**** 2393725 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1354161/tms570lc4357-sdl-esm-configuration-error-signaling-module

器件型号:TMS570LC4357

您好!

我已将所有 SDL 示例合并在一起、现在我只想使用一个回调和配置函数。 所以、我将尝试完全理解 ESM 配置。

此链接有助于 ESM 配置、但我似乎需要更多帮助。 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

首先、我不确定它的用途是什么。 本链接中未对其进行讨论。  .esmErrorConfig ={1u、8u}、/*用于自检的错误事件*/

其次、从链路可以看出、主域中有177个 ESM 中断、MCU 域中有64个。 我有点困惑、因为示例似乎不仅仅启用177个中断。 如果我在主域中启用177个中断、在 MCU 域中启用64个中断、我认为配置应该是这样。

/*主域*/

.enableBitmap ={0xffffffu、0xffffffu、0xffffffff、0xffffffu、0xffffffff、//128
0xffffffu、0x0001ffffu、0x00000000u、0x00000000u、/256
0x00000000u、0x00000000u、0x00000000u、0x00000000u、//384
0x00000000u、0x00000000u、0x00000000u、0x00000000u、//512
0x00000000u、0x00000000u、0x00000000u、0x00000000u、//640
0x00000000u、0x00000000u、0x00000000u、0x00000000u、//768
0x00000000u、0x00000000u、0x00000000u、0x00000000u、//896
0x00000000u、0x00000000u、0x00000000u、0x00000000u、//1024
}、

/* MCU 域*/

.enableBitmap ={0xffffffu、0xffffffu、0x00000000u、0x00000000u、//128
0x00000000u、0x00000000u、0x00000000u、0x00000000u、/256
0x00000000u、0x00000000u、0x00000000u、0x00000000u、//384
0x00000000u、0x00000000u、0x00000000u、0x00000000u、//512
0x00000000u、0x00000000u、0x00000000u、0x00000000u、//640
0x00000000u、0x00000000u、0x00000000u、0x00000000u、//768
0x00000000u、0x00000000u、0x00000000u、0x00000000u、//896
0x00000000u、0x00000000u、0x00000000u、0x00000000u、//1024
}、

第三步、我从 grpChannel 5索引2 intSrc 65收到一个高优先级中断。   现在、我正在尝试弄清楚中断来自哪里。  我相信 如果我没有弄错、它会映射到 RTI11_INTR_WWD_0。

最后、我不确定 intSrc 是什么意思。 (我指的是回调)

int32_t ESM_callback (SDL_ESM_Inst esmInstType、
SDL_ESM_IntType esmIntType、
uint32_t grpChannel、
uint32_t index、
uint32_t intSrc、
空*arg)

谢谢!

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

    尊敬的 Christopher:

    我开始处理您的线程、并会尽快为您提供更新。

    --
    谢谢。此致、
    Jagadish。

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

    尊敬的 Christopher:

    对于延迟回复、我深表歉意、上周我们有几个假期、在这段时间内还有很多其他问题需要解决。

    实际上、 通常只会有两个 ESM 中断。

    它们是 "esmHighInterrupt"和"esmLowInterrupt"。

    但 ESM 通道将为160。

    每个错误通道可配置为高电平中断或低电平中断。

    如果我们将一个通道配置到 ESM 高电平中断、那么它将被路由到例程"esmHighInterrupt"、如果我们将其配置为 ESM 低电平中断、那么它将被路由到例程"esmLowInterrupt"。

    从这些例程中、我们可以调用一些通知函数、并可以处理这些通知函数中的中断、如下所示

    --
    谢谢。此致、
    Jagadish。