魏博 发表于 2020-10-2 23:36:37

关于STM32F429VET6(Flash512K)的Flash双块设置问题

本帖最后由 魏博 于 2020-10-3 10:05 编辑

已知:对于Flash为1M的STM32F429VGT6来说,可以通过配置FLASH_OPTCR的DB1M位为1,切换成双块模式。这样,Flash扇区8-11(每个扇区128K)的空间被转移到扇区12-19(扇区12/13/14/15为16K,扇区16为64K,扇区17~19为128K)中,扇区细分了,总容量不变。那么,对于Flash为512K的STM32F429VET6,是否可以进行类似的“设置双块模式”操作?即:将扇区6~7(每个扇区128K)的空间转移到扇区12-17中,扇区细分了,总容量不变。
有知道的吗?感谢大家!

281229961 发表于 2020-10-3 12:29:03

这样用作什么用途?

魏博 发表于 2020-10-3 15:47:20

本帖最后由 魏博 于 2020-10-3 23:00 编辑

281229961 发表于 2020-10-3 12:29
这样用作什么用途?

方便Flash数据分区。有多种数据保存在Flash中。这些数据种类多(例如A/B/C/D/E/F6种)、但是总容量不大(每个区域16K,总计不超过128K)。如果把这些数据规划在同一个128K的扇区,则改写其中一种数据(例如B区),则要将A/C/D/E/F备份缓存。一来这样子效率低。二来也造成Flash寿命的额外损耗。因为有时候只要改写6种其中的一种,有时则是改写多种(包括6种全部)。所以每写一种都要擦除Flash,写Flash。这样写六种数据时,Flash要擦写6次。429VGT6的Flash配置为双块模式后,小区域块数量足够,改写Flash数据效率高,也不会多损耗Flash寿命。但是VGT6比VET6贵太多了,贵十二块左右!
页: [1]
查看完整版本: 关于STM32F429VET6(Flash512K)的Flash双块设置问题