主题中讨论的其他器件: C2000WARE
去年、我们收到了有关 CPU1启动故障的反馈、这里讨论了两个主题:
TMS320F28388D:CPU1在上电后卡滞
TMS320F28388D:RE:TMS320F28388D:CPU1在上电后卡滞
最近、我们的其他产品也遇到了同样的问题、在上电启动过程中、约5%的芯片让 CPU1跳转至 ITRAP。
我使用有故障的设备进行了测试、出现了以下现象:
1.如果仅运行 CPU1,则没有问题。 如果 CPU1引导 CPU2、即使 CPU2中没有应用程序、CPU1也有进入 ITRAP 的可能性
2.我用 TI 的常规方法进行上述的测试 内存配置和代码来自 C2000ware、CPU1也会进入 ITRAP。
3.我已经测试了 CPU1引导 CPU2和 CPU1进入 ITRAP 之间的时间间隔、大概是37us。 我用三个异常的器件运行了测试、时间间隔几乎相同。 我已经绘制了两张图表来说明应用程序的正常运行和有问题运行、以便进一步讨论。

我们有以下判断和问题:
1、由于 TI 的程序经常会出现问题、问题集中在少数特定的芯片上、所以我们往往认为这是硬件或者芯片的问题。 但根据我们之前的测试、如果我随机地在程序中添加几条 NOP 语句、以便略微更改闪存空间的分配和程序执行时序、问题就会消失、而随着我添加更多 NOP、问题也将再次出现。 这使我们非常困惑、为什么软件调整会影响问题的再次发生。
2. CPU1启动 CPU2与出现问题之间的时间间隔是37us。 我们是否有办法确定整个系统、尤其是 CPU2目前正在执行的操作? 您能给我们一些提示吗、或者我能从 TRM 中查找相关信息吗?
3.我的判断是在 CPU2启动期间、CPU1对闪存的访问将在某个时刻受到影响、导致 CPU1跳转到 ITRAP。 因此、我尝试通过在 CPU1引导 CPU2后让 CPU1跳转到 RAM 以执行大约10ms 的循环来避免这种"问题时刻"。 添加这种机制后、CPU1不再卡在 ITRAP 上。



