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:TMS570LS4357ZWT:nERROR 在上电后置为低电平

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1610372/tms570lc4357-tms570ls4357zwt-nerror-asserted-low-after-power-on

器件型号: TMS570LC4357

设备/工具

  • 器件: TMS570LS4357ZWT (开发板)

  • IDE/调试: Code Composer Studio (CCS) 调试工具 (通过调试会话加载程序)

  • 观察到的信号: NERROR 引脚 (低电平有效,外部上拉至~3.3V

问题总结

之后 上电复位 nERROR 引脚会提前变为低电平 并保持低电平、直到我在软件中明确请求错误引脚复位。 我最初怀疑 ROM“强制错误引脚“自检、但 ESM 状态指示 A 实部组 2 错误事件

我观察到的内容(范围)

  • 未置为有效时、nERROR 上拉至~3.28V

  • 上电后、nERROR 会提前转换为低电平并长时间保持低电平

  • 固件调用后esmTriggerErrorPinReset()、nError 返回高电平

nERROR.PNG

ESM 寄存器转储(在 main 中捕获)

进入 main 时(nERROR 为低电平):

EPSR=0x00000000 (pin=0)  EKR=0x00000000  LTCR=0x00003E70  LTCPR=0x00003FFF
SR1=0x00000000  SR2=0x00000008  SR3=0x00000000  SR4=0x00000000  SR7=0x00000000  SSR2=0x00000008
IOFFHR=0x00000024  IOFFLR=0x00000000

后续快照(读取一次 IOFFHR 后):

EPSR=0x00000000 (pin=0)  EKR=0x00000000  LTCR=0x00000000  LTCPR=0x00003FFF
SR2=0x00000000  SSR2=0x00000008

呼叫后esmTriggerErrorPinReset()

EPSR=0x00000001 (pin=1)  EKR=0x00000000  LTCR=0x00003FFF  LTCPR=0x00003FFF
SR2=0x00000000  SSR2=0x00000008


到目前为止的解释

 
  • EPSR bit0 = 0表示 ERROR 引脚置为低电平

  • SR2 = 0x8SSR2 = 0x8指示 组 2 通道 3 至少设置过一次。

  • IOFFHR = 0x24似乎匹配 组 2 通道 3 (0x21 + 3)。

  • 读取IOFFHR似乎已清除SR2但未清除SSR2(阴影会保留事件)。

  • 写入ESMEKR = 0x5 (VIAesmTriggerErrorPinReset() ) 后,nERROR 返回高值,但SSR2仍显示历史事件。

 

根据 LS4357 ESM 通道映射、 组 2 通道 3 对应于:
“Cortex-R 内核–所有致命总线错误事件(通常由闪存中的 ECC 值不正确/不完整引起)。“

通过 CCS Debug Tool 加载/编程分组 2 ch3 是否为已知问题?  

此致、  

底特律

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

    您好!

    我参考了本 TI E2E 主题: TMS570LC4357:闪存 ECC 问题。 我下载了附件7024.FEE_ECC_Errors_TEST_LC4357.zip () 并HL_sys_link.cmd使用 zip 存档文件覆盖了我的项目。 我还按照 POST 中的建议完全配置了 CCS Debug 设置(闪存设置)。

    但是、刷写程序后、CPU 会立即进入预取中止状态。

    尽管遵循了 E2E 建议、但您能否给出一些可能导致此问题的原因?

    此致、

    底特律

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

    您好!

    我发现此错误是由设置中未启用 ECC 导致的。

    现在一切都很好。我会保留这个问题,以防其他人遇到相同的问题。

    谢谢、

    底特律