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:ESM 回调

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/848833/rm48l952-esm-callback

器件型号:RM48L952

我正在寻找应用程序如何注册和使用 ESM_ApplicationCallback()的一些详细说明或示例。

例如、在执行故障注入测试时、应用程序如何使用 ESM 回调来完成测试? 我知道 ESM_ApplicationCallback()会检查并确定错误的原因,但一旦完成,接下来应该发生什么? 如何使用 param1、param2和 paramM3?

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

    Guy、

    这完全取决于应用设计人员。 根据特定应用中任何错误的严重程度、应用程序可以选择系统响应。 例如、如果 DMA RAM 上出现奇偶校验错误、则可以选择将 DMA 奇偶校验错误地址作为参数传递给回调函数。 然后、应用程序可以决定只写回和读回这个位置、或者在 DMA RAM 上运行 PBIST 来检查它是瞬态故障还是导致检测到奇偶校验错误的永久故障。

    定义了多个参数、以便为发送给 ESM 的所有错误提供所需的信息。

    此致、Sunil

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

    谢谢、Sunil。 这是我需要澄清的部分:  

    " 例如、如果 DMA RAM 上出现奇偶校验错误、则可以选择将 DMA 奇偶校验错误地址作为参数传递给回调函数"

    这是否意味着我从回调函数内部调用我的应用函数? 我认为回调函数是一个提供挂钩的函数、用于对我的应用函数进行异步调用、例如中断驱动或事件驱动程序的工作方式。 但是、通过提供的 ESM 回调函数示例、回调函数在设置参数1、2、3和标记后退出、而不指示其如何挂钩到我的应用程序函数中。   

    例如、在以下代码段中:

    否则((ESM_Grp2_MASK =((grp_channel&ESM_Grp2_MASK)))&&(ESM_G2ERR_B0TCM_Uncorr =(grp_channel & 0x0000fful))
    ){
    callbkParam1 = 1;
    //清除错误 PIN 和标志* ESM_R_B0tCM_RESM=
    
    
    
    真正 ESM_RM_RM_RM_RM_RM_TR_RM_RM_1;RMES_TR_TR_EN_TR_RMES_TR_TR_RMES_TR_TR_TR_0_RMES_TR_TR_TR_RMES_TR_TR_TR_RMES_TR_TR_ENTR_RMES_TR_RMES_TR_TR_TR_TR_RMES_RMES_TR_TR_TR_RMES_TR_TR_TR_ENTR_TR_TR_TR_TR_
    

    我的应用程序如何访问 callbkParam1? 我的目的是使用 doSomethingInApplication (callbkParam1、SRAM_radecode_diagnostics_app_callback)等类似方法从该块中调用我的应用程序函数、或者我应该在其他地方寻找一些触发器/挂钩?

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

    Guy、

    ESM 中断服务例程可根据一个组1或者组2错误来执行、此错误信号被发送给 ESM。 组2错误会导致高级中断请求、该请求在 Hercules 处理器上配置为 FIQ (启用后不可屏蔽)。 组1错误可以根据应用程序的选择生成低/高电平中断。

    这些中断服务例程将需要有关生成中断的错误输入的任何可用信息。 可以使用 callbkParam*全局变量将其传送到 ISR。

    此致、Sunil