axman002 发表于 2021-7-3 15:11

关于HC32F460的FLASH空间数据读写操作的几个疑问

对于HC32F460的FLASH空间,我想用来存储一些参数,可是看了下官方的手册,有以下疑问得不到解答,特来请教各位:
1,HC32F460的擦除操作每次起码是8Kbytes,这让我只想修改其中一两个字节的数据时怎么操作?我不能为了改一两个字节而把整个8K字节的数据全擦除了啊!
2,官方有提供FLASH窗口保护起始和结束寄存器,但是语焉不详。我就想问,是否可以利用这两个寄存器实现对最小编程单位(4字节)的单独擦除编程呢?
请各位大侠指点!

axman002 发表于 2021-7-3 18:32

华大的手册文档感觉还需要更完善,实在是看不明白

lavion 发表于 2021-7-4 16:54

Flash的特性多了解下.   只能写0,不能写1.已经是0了, 不能通过写1来改写.所以 要写入, 除非原来的字节是0XFF,否则, 就读取8K保存到Ram,然后改写.然后擦除Flash,然后写入8K.   

martinhu 发表于 2021-7-5 08:52

Flash不是E2,擦除只能按最小的页大小擦,F460编程的是按字WORD编程的。

axman002 发表于 2021-7-5 09:31

martinhu 发表于 2021-7-5 08:52
Flash不是E2,擦除只能按最小的页大小擦,F460编程的是按字WORD编程的。

这样的话,想用FLASH做快速参数读取存储就没有任何意义了,动辄8K的数据转移太费劲了。那岂不是还不如外挂个存储芯片?
页: [1]
查看完整版本: 关于HC32F460的FLASH空间数据读写操作的几个疑问