*闪存编程位数256为,即32字节;
*写入一个字节,剩下31个字节将不能再写入,实测写入一个字节,后面31个字节,内容随机,多数为0;
*一次需写入32个字节,读取一样,不够32字节,可以将不够的区间设置为0。
*块比较大,有128KB,写入内容后,若检测后面地址有之前写的,需要擦除整个BLOCK
总结:STM32H743内部FLASH的使用灵活性,没有外部norflash好用。
*NANDFLASH
总体评价,逐渐没落,逐渐被替代
原因:使用一般需配合FATFS,要自己处理磨损均衡问题,block 显示擦除等需要操心;
linux操作系统上,cortex-a芯片看不上它,一般适配EMMC,上面说的问题,内置的EMMC控制器帮处理了;
低端MCU:华邦的norflash 一般就够用,QSPI操作起来也不复杂,按字节写,可以开辟缓存空间,存储block数据;再不济,用EEPROM,没擦除的概念,直接往指定地址写,注意不要超容量范围即可,否则又从头开始了(页写),EEPROM又有一种升级货,铁电,价格上自然贵些;
*nandflash 大容量存储的,MCU应用场景的新秀,SDnand,有EMMC的优势。
以上存储设备,需注意意外断电,尤其在写操作,擦除操作,更新物理逻辑表时,可能造成数据丢失,甚至芯片损坏。
解决办法:超级电容做后备电池,容量,电池均衡,掉电检测。