OpenEdv-开源电子网

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

怎样确定IAP的bootloader程序写入之前擦除flash块的大小

[复制链接]

2

主题

29

帖子

0

精华

初级会员

Rank: 2

积分
156
金钱
156
注册时间
2013-1-20
在线时间
50 小时
发表于 2018-1-20 17:35:30 | 显示全部楼层 |阅读模式
10金钱
目前在做IAP的功能,升级之前把flash里面的内容先擦除,保证写入的程序不会被原来flash中的内容干扰,那么擦除flash块的大小怎么确定?
是从app程序的起始地址开始到stm32的flash结束都可以擦除么?
原子哥帮忙解答下,谢谢

最佳答案

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

块的大小,要看单片机型号.资料上都是有的. 位置说得是对的.
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

50

主题

1805

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6662
金钱
6662
注册时间
2016-5-29
在线时间
910 小时
发表于 2018-1-20 17:35:31 | 显示全部楼层
块的大小,要看单片机型号.资料上都是有的.
位置说得是对的.
回复

使用道具 举报

3

主题

1155

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
7464
金钱
7464
注册时间
2015-1-15
在线时间
1368 小时
发表于 2018-1-20 21:56:12 | 显示全部楼层
你用的芯片,规划IAP的FLASH区域,APP的FLASH区域都是已经可以明确的;
那通过IAP升级APP时,自然可以明确知道要擦除多大的APP的FLASH区域大小
一分耕耘一分收获。
回复

使用道具 举报

2

主题

685

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3448
金钱
3448
注册时间
2017-7-4
在线时间
869 小时
发表于 2018-1-21 00:27:50 | 显示全部楼层
方法一:
1、app升级上位机自己写,升级时读取app大小;
2、定义好通信命令码,开始升级前,上位机发送app大小给boot;
3、boot根据接收的app大小,擦除对于的块。
方法二:
边接收数据边写flash。
1、接收到数据就写flash,写之前判断flash地址是否为块的开始,是则擦除该块;写到下一块同理。
回复

使用道具 举报

2

主题

29

帖子

0

精华

初级会员

Rank: 2

积分
156
金钱
156
注册时间
2013-1-20
在线时间
50 小时
 楼主| 发表于 2018-1-22 14:36:33 | 显示全部楼层
Acuity 发表于 2018-1-21 00:27
方法一:
1、app升级上位机自己写,升级时读取app大小;
2、定义好通信命令码,开始升级前,上位机发送ap ...

好方法,目前升级的上位机程序也是自己开发,下位机与上位机的通信协议里面有规划上位机将app程序的 大小发送给下位机
回复

使用道具 举报

2

主题

29

帖子

0

精华

初级会员

Rank: 2

积分
156
金钱
156
注册时间
2013-1-20
在线时间
50 小时
 楼主| 发表于 2018-1-22 14:36:45 | 显示全部楼层
感谢上面各位的回复,谢谢
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-9 04:16

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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