您好!
我们使用 HALCOGEN 工具生成初始化代码,该代码具有 setupFlash()函数。 现在、我们想使用寄存器进行编程和擦除、并参考以下文档来开发我们自己的代码:
SPNU499C
ZHCA544
spnu501h
以下是用于对闪存进行编程的算法:
1.使用组配置 FMAC 寄存器。
2.配置 FBSE 寄存器以选择组扇区。
3.使用 FSMWRENA 寄存器使能闪存写入。
4.配置 FSM_CMD 以清除状态。
5.将0x15值写入 FSM_EXECUTE 寄存器以执行闪存命令。
6.使用扇区地址对 FADDR 寄存器进行编程。
7.用 要写入的数据对 FWPWRITE 寄存器进行编程。
8.配置 FSM_CMD 进行编程。
9.将0x15值写入 FSM_EXECUTE 寄存器以执行闪存命令。
当执行上述程序时、我们将获得 fmstat 寄存器中设置的以下错误位:
INVDAT
恒压
SLOCK
出现这种情况的原因可能是什么、是否有任何文档为闪存初始化、编程和擦除捕捉了实际算法?
提前感谢。
谢谢、
Kalyan