硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2722|回复: 6
收起左侧

[有问必答] IAP更新问题

[复制链接]

19

主题

76

回帖

133

积分

初级会员

积分
133
发表于 2021-8-9 11:41:39 | 显示全部楼层 |阅读模式
IAP更新问题
RAM 16K 假设要更新32K的FLASH
是要分32包来更新吗
有没有比较推荐的例程
网上好像都是用Y-modem

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106882
QQ
发表于 2021-8-9 12:15:43 | 显示全部楼层
IAP更新跟RAM没关系。

收到数据直接编程Flash即可。
回复

使用道具 举报

19

主题

76

回帖

133

积分

初级会员

积分
133
 楼主| 发表于 2021-8-9 12:17:39 | 显示全部楼层
eric2013 发表于 2021-8-9 12:15
IAP更新跟RAM没关系。

收到数据直接编程Flash即可。

接收用RAM做缓存不是吗
回复

使用道具 举报

334

主题

2036

回帖

3043

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3043
发表于 2021-8-9 14:28:41 | 显示全部楼层
本帖最后由 caicaptain2 于 2021-8-9 14:30 编辑

flash写入的时候可以按照“字”(4个字节)或者单个字节来写的。一般在boot程序里面,设定一个接受缓冲区,一般是4KB或者更多。每收满了一次缓冲区就写一次flash。 你这个可以设定8KB或者12KB都行,因为boot程序其他地方不占用多少ram。
极端情况下,你也可以接收到1个字节就写一次flash。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106882
QQ
发表于 2021-8-10 08:34:30 | 显示全部楼层
blueice1108 发表于 2021-8-9 12:17
接收用RAM做缓存不是吗

不用全部缓冲,即使是你每次缓存1个字节都可以。来一次写一次都行。
回复

使用道具 举报

19

主题

76

回帖

133

积分

初级会员

积分
133
 楼主| 发表于 2021-8-10 08:35:52 | 显示全部楼层
caicaptain2 发表于 2021-8-9 14:28
flash写入的时候可以按照“字”(4个字节)或者单个字节来写的。一般在boot程序里面,设定一个接受缓冲区,一 ...

谢谢回覆
回复

使用道具 举报

7

主题

19

回帖

40

积分

新手上路

积分
40
发表于 2021-8-10 17:17:49 | 显示全部楼层
一般来讲,建议至少达到1K在写入FLASH,减少写入次数可以提高IAP升级速度。
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-9 02:36 , Processed in 0.210943 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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