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.

[参考译文] TMS570LS0432:ECC 测试无响应

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1007280/tms570ls0432-ecc-test-no-response

器件型号:TMS570LS0432

你好

团队

我想测试我的软件的 ECC 功能

 现在在我的代码中,是 startup.c。

  SL_Init_ECCTCMRAM (10、true);       /*启用 TCM RAM ECC */

我还在 HCG 中设置 ESM 接口,在 ESM 中设置为26 28

测试代码是

*(volatile UINT32 *)(0x08400000U)^ 0x03;

*(volatile UINT32 *)(0x08400000U)^ 0x01;

我的代码不在中断中,为什么??

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

    我还写入 sl_tcram1REG->RAMCTRL=0x0005010AU  

    sl_tcram2REG->RAMCTRL=0x0005010AU  

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

    我还编写

    sl_tcram1REG->RAMCTRL=0x0005010AU  

    sl_tcram2REG->RAMCTRL=0x0005010AU  

     我也尝试了  

    coredisableramecc_()

    *(volatile UINT32 *)(0x08400000U)^0x03;

    _coreenableeramecc_()

    uint32 testvalue= *(volatile uint32 *)(0x08000000U)

     没有中断被触发

     

     

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

    黄先生、您好!

    ESM 组1 通道的默认中断服务例程为 esmLowInterrupt(),请启用 VIM 通道20,以便 ESM 组1-26/28生成的中断可导出到 PCU。

    如果 IRQ 未启用、请启用它。

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

    你好

    我已经设置了它,但我仍然无法进入并中断。

    需要注意的其他事项

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

    你好

     我对 RAMCTRL 进行微调,我在软件 初始化中编写代码

    sl_tcram1REG->RAMCTRL=0x0005010AU  

    sl_tcram2REG->RAMCTRL=0x0005010AU  

    但是,当代码在此代码中运行 时...

    coredisableramecc_()

    *(volatile UINT32 *)(0x08400000U)^0x03;

    _coreenableeramecc_()

    uint32 testvalue= *(volatile uint32 *)(0x08000000U)

     寄存器值已更改

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

    黄你好、

    您的代码将强制出现双位 RAM ECC 错误。 ESM 3.3和3.5位被置位、并且生成数据中止。 未按预期产生中断。

    要生成单位 RAM ECC 错误、请更改此指令:

    *(volatile UINT32 *)(0x08400000U)^0x03;

    更改为

    *(volatile UINT32 *)(0x08400000U)^0x01;