我之前已经发布过故障注入方法、用于检查第1组故障行为。 对于其他故障、我的 ESM 处理程序按预期工作、nERROR 变为低电平并保持低电平、直到我在下一个下电上电周期复位故障记录。 我的 ESM 通道 ID 被保存到我的 ESM 处理程序中的闪存仿真 EEPROM 组7 (FEE)。
我参考自检例程和安全 TI 库确定了注入故障的方法。 但我并不完全理解如何成功地为通道35和36注入故障、这样我就可以在触发 ESM 中断后完成对 FEE 的写入。 我对系统进入安全状态感到满意- nERROR 在通道35和36中都保持低电平、并且我们进入了应用程序故障状态。 但是、我想了解为什么我无法写入通道#来收费。
这里是我的通道35故障注入代码的屏幕截图、我是否在这里缺少一些内部管理功能、以允许在生成故障后进行写入以收费? 我知道节省费用并不成功、因为下次上电时我们会再次触发 nERROR、通常、如果触发最后一个上电周期、我的测试逻辑将不会运行故障注入、并将 ESM 事件保存为 FEE。
这是通道36故障注入。 这很奇怪、下载后第一次上电时、我捕获了通道36、并获得了类似于通道35的 nERROR 活动。 下一次上电时、我获得 nERROR 活动、但我的 ESM 通道 ID 通过255、这表示没有调用 ESM 处理程序、因为这是我的初始化值。 那么、我突然得到一个通道35误差吗? 我只在进入主循环之前运行故障注入、因此突然的单个位误差必须是之前运行的剩余误差?
了解有关如何成功注入通道35和36故障的任何见解、以便我捕获通道 ID 并将其保存到 EEPROM 组7中。
谢谢
Jamie