器件型号: TMS570LC4357
设备/工具
-
器件: TMS570LS4357ZWT (开发板)
-
IDE/调试: Code Composer Studio (CCS) 调试工具 (通过调试会话加载程序)
-
观察到的信号: NERROR 引脚 (低电平有效,外部上拉至~3.3V
问题总结
之后 上电复位 、 nERROR 引脚会提前变为低电平 并保持低电平、直到我在软件中明确请求错误引脚复位。 我最初怀疑 ROM“强制错误引脚“自检、但 ESM 状态指示 A 实部组 2 错误事件 。
我观察到的内容(范围)
-
未置为有效时、nERROR 上拉至~3.28V
-
上电后、nERROR 会提前转换为低电平并长时间保持低电平
-
固件调用后
esmTriggerErrorPinReset()、nError 返回高电平
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 = 0x8和SSR2 = 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 是否为已知问题?
此致、
底特律
