你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

IAP更新内部和外部两个Flash遇到的问题

[复制链接]
kokoromi 提问时间:2019-9-3 10:21 /
项目中用到外部NorFlash,用来存放图形和字体等内容,内部Flash存储应用程序,更新固件使用的是IAP的方式。其中应用程序存放在内部 0x800 0000开始的地址区域中,图形库存放在外部 0x9000 0000开始的地址空间中。现在遇到个问题,就是使用IAR生成的Bin文件如果遇到地址不连续的情况会产生一个巨大的文件(GB级别)。如何设置IAR生成两个bin文件,一个应用程序的,一个库的,这样我用IAP更新的时候可以灵活更新(更新其中一个或者全部)。有大神知道该怎么做吗?
收藏 评论13 发布时间:2019-9-3 10:21

举报

13个回答
tgw860910 回答时间:2019-9-3 10:44:48
生成bin文件估计是不行的,生成HEX,然后在上位机做一下处理会好一点
す疯Ⅱ恒す 回答时间:2019-9-3 10:46:55
IAR直接生成APP的bin文件就可以了,库文件可以用图形原文件。这样bin文件的大小就正常了。至于需要更新APP还是图片库,由通讯协议定义,发过去的命令要更新app就更新app,接下来IAP收到的数据就更新到APP去,反之亦然。
回答时间:2019-9-3 10:58:25
图形库时单独的库吧,烧写文件的时候,选择烧写地址写入图形库即可。我用字库的时候时这样写的。或自己写一个程序吧两个bin文件合成一个文件即可。
kokoromi 回答时间:2019-9-3 11:03:14
す疯Ⅱ恒す 发表于 2019-9-3 10:46
IAR直接生成APP的bin文件就可以了,库文件可以用图形原文件。这样bin文件的大小就正常了。至于需要更新APP ...

谢谢回复。我这图片比较多,现在是直接定义成数组到外部Flash中(icf中配置了9000 0000开始的区域,引用时直接使用数组名,外部flash开启了内存映射模式),想的是可以直接生成一个库文件的bin,但是如果用原文件,一个是数量太多了,还有如果直接放在外部Flash中,我程序里如何去引用这些图片呢?
kokoromi 回答时间:2019-9-3 11:04:33
tgw860910 发表于 2019-9-3 10:44
生成bin文件估计是不行的,生成HEX,然后在上位机做一下处理会好一点

生成hex得需要有专门的软件去提取分割才行吧...要不没法直接烧写,毕竟有一些附加信息什么的。
kokoromi 回答时间:2019-9-3 11:11:08
安 发表于 2019-9-3 10:58
图形库时单独的库吧,烧写文件的时候,选择烧写地址写入图形库即可。我用字库的时候时这样写的。或自己写一 ...

我现在是把所有字体和图形都定义成字节数组的方式到外部存储器(0x9000 0000开始),使用时GUI直接引用数组名,因为外部Flash开启了内存映射,可以直接访问。但是生成bin文件时就很大了。不知怎么处理。
你说的这种方式,如果要引用这些库里的图形或字体该如何引用呢?
tgw860910 回答时间:2019-9-3 11:18:04
kokoromi 发表于 2019-9-3 11:04
生成hex得需要有专门的软件去提取分割才行吧...要不没法直接烧写,毕竟有一些附加信息什么的。 ...

HEX文件解析起来挺简单的,自己做一个解析、转换、分割的小软件应该也很快。
先用IAR生成整个工程的HEX文件,再用自己做的小软件把HEX文件解析出来,并且根据地址分割成两个bin文件

点评

又要自己写小软件...搞单片机的真是苦,啥都得会。  发表于 2019-9-3 11:20
奏奏奏 回答时间:2019-9-3 11:42:28
tgw860910 发表于 2019-9-3 11:18
HEX文件解析起来挺简单的,自己做一个解析、转换、分割的小软件应该也很快。
先用IAR生成整个工程的HEX文 ...

赞成这个解决方案
刚解析过HEX烧录文件

楼主要搞清楚哪些工作是MCU能做,哪些工作是MCU擅长做的。
回答时间:2019-9-3 13:45:19
ST的很简单,编译器都是支持生成BIN文件的。同时图形库肯定时固定的。比如1M的FLASH,就建立一个1M的缓冲区按照指定地址写入数据即可。在读取库时,用指着读取就可以了。我用字库都是这么做的。会用c#或者VB写个简单的应用程序,对自己也有好处。方便自己对数据的处理。万事能不求人,坚决不求人。
12下一页

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版