主应用程序可以在待机模式下执行闪存编程。可以对整个闪存进行编程,也可以选择闪存块进行部分闪存更新。主应用程序在使用中确定每个闪存块是存储在闪存还是 EEPROM 中。因此,该过程与 EEPROM 编程相同。
以下命令用于擦除、编程和验证闪存块:
图 5-16 演示了闪存编程步骤。写入每条命令的步骤必须遵循节 3.4.3 中所述的写入命令处理程序过程。
- 写入闪存数据类型选择 - 设置要擦除和重新编程的一个或多个闪存块。
- 写入闪存数据擦除 - 擦除选定的闪存块。此过程可能需要很长时间才能完成。写入命令处理程序 应该会有额外的时间轮询短状态,以确认命令标签已更改为适当的值,并且请求正在进行中 位已被清除,然后再执行下一步。
- 闪存数据写入 - 最多重复写入一页(256 字节)的闪存数据。要写入的数据大小必须是 4 的倍数。在写入每段数据后,重复读取短状态,直到写入完成。继续操作,直到没有剩余闪存数据。
- 闪存数据验证 - 开始验证闪存。此过程可能需要很长时间才能完成。写入命令处理程序 应该会有额外的时间轮询短状态,以确认命令标签已更改为适当的值,并且请求正在进行中 位已被清除。闪存验证错误将在短状态下标记命令错误 位。这应该会在写入命令过程中检测到。