您好!
我们观察到 ESM nERROR 引脚在热复位时的未检测行为。
附加的图上显示了初始条件。
在目标上执行的代码会生成一个 NMPU - DMA 端口 A MPU 错误 EMS1.69、具体方法是生成一个不正确的 DMA 请求。 ESM1.69按预期触发、 nERROR 引脚和低级中断处理程序根据 ESMIEPCR7和 ESMILSR7寄存器配置相应地被激活。 我们会给处理程序留出一些时间来记录一些工程数据并清除 ESMSR7寄存器。
从该状态开始、如所附图所述:
e2e.ti.com/.../1614.nERROR.pdf
(a)一旦 RTCR 达到零、请求 nERROR 引脚复位的操作将立即成功。
但在热复位之后(b)
(C)请求 nERROR 引脚复位无效
(D)成功强制 nERROR (虽然我们预计会拒绝请求、因为 nERROR 引脚已处于活动状态、如 TRM§16.2.3-1所述'如果在功能模式中已经检测到故障、则 ESM 模块无法切换到错误强制模式。 切换到错误强制模式的应用程序命令将被忽略'
(e)从这种接受的强制模式中、请求切换回正常模式实际上会清除 nERROR 引脚、尽管没有发送实际复位请求;因此原始错误上下文会丢失。
(f)从接受的强制模式中、 请求 nERROR 引脚复位被接受、但在 ESMEKR 中状态保持在复位请求模式、而根据 TRM§16.2 "(一旦 ERROR 引脚输出低电平、 需要一个上电复位或者向 ESMEKR 写入0x5来将 ESM ERROR 引脚释放回正常状态)"、并且只有 当 CPU 通过在 ESMEKR 中写入0x0来实际请求时、才会进入正常模式。
您能不能帮助理解为什么(c)不足以在热复位后复位 nERROR 引脚?
请您澄清一下过渡时期(d)、(e)和(f) TRM 中的差异与我们的理解。
问题是完全确定的。
感谢您的支持。
弗朗克。