BU 先生/女士、
客户使用 2802x_FlashAPI_BootROMSymbols_v2.01.lib 对 F28022的闪存进行编程。 过程是:首先、接收包含16个字的数据包(16位字、或者您可以说总共32个字节);其次、通过调用闪存 API 来将其编程为以下代码:
如图所示、编程后、他们将进行验证、但验证结果(即代码中的 u16VerifyStatus)不会 用于进一步判断或诊断。 但是、编程状态、即 u16ProgStatus 将用于进一步判断或诊断。
在我看来,以上程序对编程来说是很好的。 但客户发现自己领域的一些芯片出现了以下现象。 也就是说、一些数据包不能编程到闪存中、但是结果是0xFFFF、如下图所示。 并且在几次测试中、相似的芯片将具有不同的闪存地址来解决这个问题、这意味着软件应该没问题。 最重要的是,u16ProgStatus 在这种情况下是成功的。 由于 客户系统中未使用 u16VerifyStatus、因此 在这种情况下不知道 u16VerifyStatus。
请帮助分析上述问题并提供您的建议。
我有以下疑问、请给出您的指导:
1.为什么 u16ProgStatus 在这种情况下仍然成功? Flash_Program API 返回的成功状态意味着什么? 这只意味着编程命令被成功释放至闪存状态机?
2.如果可能是电源不稳定造成的问题? VDDIO 用于为闪存供电。 如果在闪存内容编程期间 VDDIO 降低、这可能会导致上述问题吗?
感谢你的帮助。
此致、
将会