OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2253|回复: 2

103写内部flash的问题

[复制链接]

6

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
106
金钱
106
注册时间
2017-7-18
在线时间
38 小时
发表于 2017-9-20 15:46:27 | 显示全部楼层 |阅读模式
10金钱
做IAP升级,在网上查了一下内部flash写操作只能1改0,擦除只能0改1,所以写之前必须要擦除。但是怕开个1024的buffer太占内存程序跑崩,所以想问下能不能每次写flash之前把BootLoader后面的扇区先全擦了然后直接用ProgramHalfWord 写,写的时候就不检查是否擦除...

最佳答案

查看完整内容[请看2#楼]

其实1024byte不大,一般的MCU都能hold住吧 在写FLASH之前可以全部擦除,这里擦除函数可以加个返回值,防止擦的时候有错误发生 后面就只管写就行了,实在还不放心,写完FLASH之后,再读出来校验一次就行,或者在发送的时候在数据末尾增加CRC校验位,这样就多重保护了
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

9

主题

141

帖子

1

精华

高级会员

Rank: 4

积分
606
金钱
606
注册时间
2017-1-3
在线时间
65 小时
发表于 2017-9-20 15:46:28 | 显示全部楼层
其实1024byte不大,一般的MCU都能hold住吧
在写FLASH之前可以全部擦除,这里擦除函数可以加个返回值,防止擦的时候有错误发生
后面就只管写就行了,实在还不放心,写完FLASH之后,再读出来校验一次就行,或者在发送的时候在数据末尾增加CRC校验位,这样就多重保护了
回复

使用道具 举报

13

主题

156

帖子

0

精华

高级会员

Rank: 4

积分
883
金钱
883
注册时间
2017-8-7
在线时间
200 小时
发表于 2017-9-20 16:02:06 | 显示全部楼层
帮顶!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-18 05:52

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表