尊敬的 C2000专家:
我们在使用 F021闪存 API 时遇到了一个奇怪的问题。 器件是 F28375。
我们正在尝试擦除闪存组1的某些扇区、然后对其进行编程。 在大多数时间(大约4分之3)、该过程成功完成。
在其余情况下,CPU 显然是完全随机的,在检查"Fapi_checkFsmForReady()!= Fapi_Status_FsmReady"期间停止。
有时、它也会在随机位置停止、例如在安全 ROM 地址中停止。
此外、这个问题似乎只在擦除阶段出现。 编程工作正常。
我们为擦除执行的步骤如下:
-检查我们要擦除的组是否已激活
如果没有、我们声明泵信标、请调用 Fapi_initiataleAPI、然后调用 Fapi_setActiveFlashBank
-调用 Fapi_issueAppelandCommandWithAddress
-通过选中"Fapi_checkFsmForReady()!= Fapi_Status_FsmReady"(这似乎是有问题的步骤),等待命令完成
-通过调用 Fapi_getFsmStatus 读取擦除结果
到目前为止我们已检查的内容如下:
-所有使用的函数都加载到 RAM 中,也加载换行函数
-在 RAM 上复制函数之后,在调用擦除函数之前,我们会检查 RAM 是否以某种方式损坏
-根据勘误咨询"内存:有效内存之外的预取"、我们不使用受限制的内存区域
你有什么建议吗?
如果您需要更多信息、请告诉我。

