主题中讨论的其他器件: RM57L843
您好!
我使用 f021通过自动 ECC 生成功能在 HDK 电路板上刷写 TMS570LC4357器件的内部 FPROM。
我在扇区0和1 (前32KB)中刷写了引导、其中包括中断和异常向量。 然后、我有一个从扇区12 (偏移1MB)开始的应用。 我的应用程序使用 f021库来刷写应用程序本身或启动。
该应用程序完全从 RAM 运行(所有函数的 text 和 const)。 只能通过访问闪存 shoud 来获取主中断处理程序(包含到 RAM 中实际处理程序代码的分支)
在对每个块进行编程期间、我始终按8KB 块进行全局屏蔽中断的闪存。
我成功刷写了应用程序本身、没有任何错误。
但是、当尝试刷写引导时、我在该过程中收到意外的总线错误(ESM 2.3、红色 LED)。 尽管如此,引导闪存会正确结束:打开 RST 电源后,将执行更新的引导,并且不会出现进一步的错误。
我还通过 PMU 查看了 cortex 事件、并注意 到前3个写入8KB 的事件为0x6e 和0x71、后8K 块为无。 我还尝试停用 CPU 高速缓存、这并没有改变全局行为、而只是增加了 PMU 记录的事件数量。
ESM 同时指示1.4和2.3错误(这似乎与上面记录的事件一致)、而 EPC 只显示 CAM FIFO (0x5308)中记录的单个地址。
如何进行调试并找出导致意外访问闪存的原因(我想)?
谢谢、
多米尼克