OpenEdv-开源电子网

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

用iap进行升级,如果APP比RAM还要大该怎么处理呢?

[复制链接]

2

主题

7

帖子

0

精华

新手上路

积分
47
金钱
47
注册时间
2014-8-1
在线时间
3 小时
发表于 2014-8-1 10:56:06 | 显示全部楼层 |阅读模式
5金钱
如题,现在要用iap通过485进行升级,固件大于64K,采用的是STM32VET6,请问这种情况下,需要外扩RAM吗?

最佳答案

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

你用的是485 不是直接通过串口助手升级,所以多高速度都没关系。写个通信协议,把数据分成多个数据包发出…… 接收端,接受一包校验成功写入后再发命令接受下一包
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

4

主题

200

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
236
金钱
236
注册时间
2012-12-19
在线时间
0 小时
发表于 2014-8-1 10:56:07 | 显示全部楼层
你用的是485 不是直接通过串口助手升级,所以多高速度都没关系。写个通信协议,把数据分成多个数据包发出…… 接收端,接受一包校验成功写入后再发命令接受下一包
目前在玩STM32,BBB,RPi
回复

使用道具 举报

230

主题

1950

帖子

10

精华

论坛元老

Rank: 8Rank: 8

积分
4562
金钱
4562
注册时间
2010-12-14
在线时间
32 小时
发表于 2014-8-1 11:08:11 | 显示全部楼层
完全不用啊。。。
我们的IAP实验只是一个demo。。。放到SRAM。方便用户选择是从内存升级还是FLASH。。。
你直接接受了写到FLASH就可以啊。。。。。
我是开源电子网?网站管理员,对网站有任何问题,请与我联系!QQ:389063473Email:389063473@qq.com
回复

使用道具 举报

4

主题

200

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
236
金钱
236
注册时间
2012-12-19
在线时间
0 小时
发表于 2014-8-1 11:17:22 | 显示全部楼层
直接写FALSH就可以了
 如果通信速度太快,可以适当用一部分RAM作为缓冲区
目前在玩STM32,BBB,RPi
回复

使用道具 举报

10

主题

561

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1821
金钱
1821
注册时间
2014-6-27
在线时间
977 小时
发表于 2014-8-1 11:19:09 | 显示全部楼层
你可以接收完一部分了,写入, 在写的时候也同时接收,发现到头了,接收的又从头放,这个时候,前面的已经写入了,覆盖也没问题,如果接收完,做个标志,你写入检测到这个标志就不再写入了,把数组作为一个FIFO来用。
回复

使用道具 举报

2

主题

7

帖子

0

精华

新手上路

积分
47
金钱
47
注册时间
2014-8-1
在线时间
3 小时
 楼主| 发表于 2014-8-1 11:27:35 | 显示全部楼层
回复【2楼】Admin:
---------------------------------
主要是怕升级过程中,通讯出错了,想把程序下载完成后,校验一下,没问题了,再进行升级操作,这种情况,是不是要多分一个程序存储区就行了啊?
回复

使用道具 举报

2

主题

7

帖子

0

精华

新手上路

积分
47
金钱
47
注册时间
2014-8-1
在线时间
3 小时
 楼主| 发表于 2014-8-1 11:32:19 | 显示全部楼层
回复【3楼】w0rmis20:
---------------------------------
升级程序的时候想用38400的速率,这个时候需要不需要用ram啊?
回复

使用道具 举报

2

主题

7

帖子

0

精华

新手上路

积分
47
金钱
47
注册时间
2014-8-1
在线时间
3 小时
 楼主| 发表于 2014-8-2 11:15:10 | 显示全部楼层
回复【7楼】w0rmis20:
---------------------------------
回复【7楼】w0rmis20:
---------------------------------
多谢了,结合楼上各位的建议,采用485通讯,用modbus协议,2K字节的缓冲,收到2K字节,校验无误后,写入flash,发送命令给上位机,继续接收下一包,现在已经可以正常下载并跳转到APP了。
回复

使用道具 举报

19

主题

85

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
202
金钱
202
注册时间
2014-9-16
在线时间
11 小时
发表于 2015-6-26 15:03:26 | 显示全部楼层
回复【8楼】cslr2004:
---------------------------------
能把你的程序发上来参考一下么,我现在也碰到你一样的IAP问题?
回复

使用道具 举报

19

主题

85

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
202
金钱
202
注册时间
2014-9-16
在线时间
11 小时
发表于 2015-6-26 15:31:23 | 显示全部楼层
回复【2楼】Admin:
---------------------------------
怎么样直接写进Flash啊,来不及吧,起码得接受缓冲,等flash块擦除后存进去吧,有例程可以参考一下么
回复

使用道具 举报

230

主题

1950

帖子

10

精华

论坛元老

Rank: 8Rank: 8

积分
4562
金钱
4562
注册时间
2010-12-14
在线时间
32 小时
发表于 2015-6-27 15:23:57 | 显示全部楼层
回复【10楼】laoguren1122:
---------------------------------
 那你就先擦除flash块,然后接收数据写入啊。。
我是开源电子网?网站管理员,对网站有任何问题,请与我联系!QQ:389063473Email:389063473@qq.com
回复

使用道具 举报

230

主题

1950

帖子

10

精华

论坛元老

Rank: 8Rank: 8

积分
4562
金钱
4562
注册时间
2010-12-14
在线时间
32 小时
发表于 2015-6-27 15:24:27 | 显示全部楼层
回复【10楼】laoguren1122:
---------------------------------
或者缓冲留很小,比如每次接收512个字节,就写入依次。。这个很好理解的
我是开源电子网?网站管理员,对网站有任何问题,请与我联系!QQ:389063473Email:389063473@qq.com
回复

使用道具 举报

2

主题

18

帖子

0

精华

初级会员

Rank: 2

积分
121
金钱
121
注册时间
2013-12-24
在线时间
26 小时
发表于 2015-9-19 20:07:56 | 显示全部楼层
回复【8楼】cslr2004:
---------------------------------
能不能把你程序发出啦,这个问题已经困扰了我很久了
回复

使用道具 举报

4

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
94
金钱
94
注册时间
2016-6-14
在线时间
22 小时
发表于 2016-6-25 14:38:50 | 显示全部楼层
cslr2004 发表于 2014-8-2 11:15
回复【7楼】w0rmis20:
---------------------------------
回复【7楼】w0rmis20:

你的程序可以发给我看一下吗?我的qq1241450757
回复

使用道具 举报

28

主题

70

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
243
金钱
243
注册时间
2015-12-26
在线时间
34 小时
发表于 2016-10-18 11:04:31 | 显示全部楼层
求程序啊!我的QQ1106767620
回复

使用道具 举报

58

主题

359

帖子

0

精华

高级会员

Rank: 4

积分
987
金钱
987
注册时间
2014-9-29
在线时间
261 小时
发表于 2016-10-18 16:17:40 | 显示全部楼层
用ymodem协议,比较通用
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-23 23:34

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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