你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

为什么stm32f4xx_flash.h提供的库函数是Flash_EraseSector()而不像F1...

[复制链接]
liangliangwa 提问时间:2018-2-5 10:30 /
为什么stm32f4xx_flash.h提供的库函数是Flash_EraseSector()而不像stm32f10x_flash.h里面提供的是FLASH_ErasePage,因为一个扇区是好多个页,很大了可以说,不好细划分出来使用,尤其在做在线升级的时候,需要一个程序升级的标志位,或者需要程序使用一个重启不改变的标志位,这时候难道要用一个扇区嘛?觉得很不方便,不知道这样做出于什么考虑。
收藏 1 评论11 发布时间:2018-2-5 10:30

举报

11个回答
wudianjun2001 回答时间:2018-3-6 09:15:59
擦除都是整个扇区一起擦除的

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

bargagebaobei 回答时间:2018-3-6 09:18:38
楼主啊 我是这样理解的stm32f10x的flash从16kb到1M的都有,而且绝大部分都比较小,所以需要一页一页的擦除,而stm32f4xx的flash最小的只有一个410的是64的,其余的绝大部分都很大,根据实际需要所以升级到按照扇区进行擦写。

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

jundao721 回答时间:2018-3-6 09:32:50
flash比较大,占用或擦除一个扇区可能并不觉得浪费。以前是擦除字节,后来直接擦除页,现在擦除扇区,官方可能考虑更快更便捷。

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

springvirus 回答时间:2018-3-6 09:33:17
这就是F4xx和F10x的区别所在,系列不同,容量不同,适用的API也不同

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

无薪税绵 回答时间:2018-3-6 10:20:41
我觉得是,因为STM32的FLASH的擦写次数是有限的,尽量使用擦扇区,比擦页安全。
因为擦多了,出现坏块,那就影响使用了。

而且,估计官方的设想是把FLASH作为升级程序用的,并不是用来保存零碎数据的。
如果保存零碎数据,建议还是使用外部FLASH了。

评分

参与人数 1蝴蝶豆 +4 收起 理由
zero99 + 4

查看全部评分

feixiang20 回答时间:2018-3-6 10:34:33
你们都想多了,我认为主要是为了提高性能,减少多次擦拭的损伤

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

黑皮男 回答时间:2018-3-6 11:55:10
Flash比较大的STM32,前几个扇区都相对来说要小一些,bootloader和相关的一些参数可以放在小扇区中

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

Angel_YY 回答时间:2018-3-6 17:41:16
Flash页擦除是很费时间的,而扇区擦除则快很多,STM32的片内Flash多为程序存储使用,是连续的,所以适合扇区擦除,如果支持为了保存参数,还是外挂一个EEPROM方便。
XinLiYF 回答时间:2018-3-6 17:47:51
可以参考一下这个,STM32F4(Flash读保护)
12下一页

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版