硬汉嵌入式论坛

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

[IAR] IAP更新内部和外部两个Flash的问题

[复制链接]

76

主题

237

回帖

465

积分

高级会员

积分
465
发表于 2019-9-3 10:52:55 | 显示全部楼层 |阅读模式
项目中用到外部NorFlash,用来存放图形和字体等内容,内部Flash存储应用程序,更新固件使用的是IAP的方式。其中应用程序存放在内部 0x800 0000开始的地址区域中,图形库存放在外部 0x9000 0000开始的地址空间中。现在遇到个问题,就是使用IAR生成的Bin文件如果遇到地址不连续的情况会产生一个巨大的文件(GB级别)。如何设置IAR生成两个bin文件,一个应用程序的,一个库的,这样我用IAP更新的时候可以灵活更新(更新其中一个或者全部)。有人知道吗?(论坛改名了,找半天才找到...)
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106959
QQ
发表于 2019-9-3 11:25:32 | 显示全部楼层
字库图库,直接自己合并成一个大文件就好了,可以使用这个助手:

用 C++ Builder XE7 开发的 文件合并助手。用来合并RA8875的图片文件
http://www.armbbs.cn/forum.php?m ... 8627&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

76

主题

237

回帖

465

积分

高级会员

积分
465
 楼主| 发表于 2019-9-3 11:30:45 | 显示全部楼层
我去...你这怎么总有这么高端大气的东东,太好了,3Q~
回复

使用道具 举报

76

主题

237

回帖

465

积分

高级会员

积分
465
 楼主| 发表于 2019-9-3 13:53:58 | 显示全部楼层
对了,有没有Hex文件按照地址段分割成多个bin文件的软件?我想和IAR的FlashLoader程序兼容。用IAR生成一个包含扩展地址(0x9000 0000)的整个Hex文件,然后按照地址分割为多个bin文件。
这样我就不用在引用的地方填地址了,直接引用之前定义在外部的数组名就好了。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106959
QQ
发表于 2019-9-3 13:58:30 | 显示全部楼层
kokoromi 发表于 2019-9-3 13:53
对了,有没有Hex文件按照地址段分割成多个bin文件的软件?我想和IAR的FlashLoader程序兼容。用IAR生成一个 ...

这个?

hex文件合并批处理文件,用于合并app,iap比较省事,多少个都没关系,可以指定地址
http://www.armbbs.cn/forum.php?m ... 9420&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

76

主题

237

回帖

465

积分

高级会员

积分
465
 楼主| 发表于 2019-9-3 14:32:47 | 显示全部楼层
eric2013 发表于 2019-9-3 13:58
这个?

hex文件合并批处理文件,用于合并app,iap比较省事,多少个都没关系,可以指定地址

我看了下,这个好像是将多个bin合并的。
我生成的hex文件里包含从0x800 0000开始的应用代码和 从0x9000 0000开始的图形库代码,我是想把这个hex文件按照地址区域分割成两bin文件。
回复

使用道具 举报

76

主题

237

回帖

465

积分

高级会员

积分
465
 楼主| 发表于 2019-9-3 15:10:12 | 显示全部楼层
eric2013 发表于 2019-9-3 13:58
这个?

hex文件合并批处理文件,用于合并app,iap比较省事,多少个都没关系,可以指定地址

还有,你这个合并bin文件的软件里面可以设置地址,bin文件不是不包含地址信息的吗,这个地址我下载器怎么识别?
回复

使用道具 举报

7

主题

125

回帖

146

积分

初级会员

积分
146
发表于 2019-9-3 22:14:41 | 显示全部楼层
kokoromi 发表于 2019-9-3 14:32
我看了下,这个好像是将多个bin合并的。
我生成的hex文件里包含从0x800 0000开始的应用代码和 从0x9000  ...

我之前用jflash分割过一次,不过是手动分割的,后来嫌麻烦,改了下makefile把外部和内部的都生成出来
回复

使用道具 举报

7

主题

125

回帖

146

积分

初级会员

积分
146
发表于 2019-9-3 23:21:02 | 显示全部楼层
试下这个吧,似乎Keil和IAR原生不支持,我用arm-gcc是可以的

IAR:Technical Note 35923

Keil: SPLITTING HEX FILES

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-11 14:57 , Processed in 0.253573 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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