flash芯片写操作是写一个地址再写一个字节数据吗?还是写一个地址后连续写数据?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了flash芯片写操作是写一个地址再写一个字节数据吗?还是写一个地址后连续写数据?相关的知识,希望对你有一定的参考价值。

末尾数据结束后 看你对应用的方式,用完继续开始原来的程式,就将地址写入返回源地址,如果要进入下一个程式,就写下一个flash的起始源地址。我不是很懂只做参考,我懂硬件,软件,这玩意儿还是自己摸索的好,不过你的flash是三星的,可以擦除的,写错了 擦除就好了。 参考技术A flash的读写不是按照字节来读写的,而是按照16bit,就是两个字节来读写。

如果 len是偶数,那么实际读写长度应该是len=len/2
如果 len是奇数,那么实际读写长度应该是len=(len+1)/2

根据整除的特性,两个式子可以统一写为len=(len+1)/2
参考技术B 因该是先有地址在有数据,可是你的问题还不是很明朗,你没有说明你的是那个品牌的flash,有些flash智能写不能刷,我是卖电子元件的。追问

元件是K9F5608U0D,我知道芯片读取是:给定了读取的起始位置后,读操作将从该位置开始,连续读取到本Page的最后一个 Byte为止。
那请问写的话是:给定一个起始地址,写操作将从该位置开始,连续写到本Page的最后一个 Byte为止?还是给一个地址,写一个数据(像SRAM一样)?

追答

末尾数据结束后 看你对应用的方式,用完继续开始原来的程式,就将地址写入返回源地址,如果要进入下一个程式,就写下一个flash的起始源地址。我不是很懂只做参考,我懂硬件,软件,这玩意儿还是自己摸索的好,不过你的flash是三星的,可以擦除的,写错了 擦除就好了。

参考技术C 1、首先需要做擦除操作,保证该地址的数据为FF;
2、然后发送写使能命令;
3、发送写命令;
4、再发送写入的地址;
5、最后发送写入的数据。
注意flash一般是页编程,如果跨页写数据,需要重新写地址。

以上是关于flash芯片写操作是写一个地址再写一个字节数据吗?还是写一个地址后连续写数据?的主要内容,如果未能解决你的问题,请参考以下文章

第一期_Nand flash

flash存储原理

GD32写4字节flash函数

Nand Flash 控制器工作原理

初识flash芯片----写之前为什么要先擦除

初识flash芯片----写之前为什么要先擦除