[开发工具] STM32的两个.bin文件如何合并?

[复制链接]
 楼主| jtingwang 发表于 2008-4-21 14:48 | 显示全部楼层 |阅读模式
STM的两个.bin文件,一个是用于IAP的,一个是用户程序,想将这两个.bin文件合并为一个,然后烧写到芯片中。有什么合并工具或方法吗?
香水城 发表于 2008-4-21 16:36 | 显示全部楼层

既然是IAP,为什么不先写入IAP再通过IAP下载另一个程序?

 楼主| jtingwang 发表于 2008-4-21 17:06 | 显示全部楼层

在生产时就是两道工序

先写入IAP,再通过IAP写入用户程序。在生产时就是两道工序,且生产时可能不会通过IAR+JLINK向芯片写IAP,应该是通过专门的烧录器+适配器向芯片烧写程序。如果能合并为1个,一次性烧写最好了,节省一道工序。
grant_jx 发表于 2008-4-22 09:13 | 显示全部楼层

可以这样吗

我们变通一下。

你找个STM32,用J-Link写入IAP,用IAR写入用户程序。然后用J-Flash将STM32的Flash内容全部读出来,保存为Bin文件就可以了。


你手上是有JLink吗,用Segger上的JLink 驱动下的JFlash


如你确定需要使用文件合并的方式,你可以先算出IAP的长度,在用户程序中算好需要偏移的地址,用UltraEdit是Hex文件形式打开,copy后保存,再做hex到Bin的转换。
computer00 发表于 2008-4-22 09:33 | 显示全部楼层

你的用户程序和IAP程序的地址肯定是知道的,

那自己随便写个小软件合并就行了。
香水城 发表于 2008-4-22 09:56 | 显示全部楼层

4楼的办法不错,但注意确定Flash读写保护的状态

对母片的操作时,不要加读保护。
 楼主| jtingwang 发表于 2008-4-22 14:28 | 显示全部楼层

Ubin

谢谢4,5,6楼的回帖
我找到了一个合并的软件Ubin,还没有试怎么用。

不过我会试试4楼的方法。
walnutcy 发表于 2008-4-22 15:21 | 显示全部楼层

搞这么麻烦,现在通用的烧录器都有你想要的功能

搞这么麻烦,现在通用的烧录器都有你想要的功能
:
可以一次写多个文件,每次选文件后存放在不同的地址即可,

然后另存不就OK了吗?

我用过的580U,3000U,T9600都可以,
当然我正在做的也支持,呵呵,wsy programmer
 楼主| jtingwang 发表于 2008-4-23 08:36 | 显示全部楼层

方法越来越多了

谢谢
方法越来越多了
niu9911 发表于 2008-4-23 12:07 | 显示全部楼层

也学习下

xddl 发表于 2011-2-27 16:53 | 显示全部楼层
我实验了UBIN,不灵
把第一个文件加长,用copy/b命令合并,也不灵

不知道还有什么办法么?
winloop 发表于 2011-2-27 18:28 | 显示全部楼层
就用4楼的方法,最简单的,别的不用考虑了
gaobq 发表于 2011-2-27 18:54 | 显示全部楼层
学习了
ziyueyoulang 发表于 2011-7-26 14:06 | 显示全部楼层
学习了
ploto 发表于 2011-7-27 10:02 | 显示全部楼层
bin文件没有地址指示,如果你的bootloader没有把所有的空间用完,中间需要加无效数据以保证实际应用程序的位置正确,简单一点的方法就是用hex文件,hex文件本身有地址。

真的,你信不信,由你,反正我是信了。
McuPlayer 发表于 2011-7-27 10:07 | 显示全部楼层
LDR的目的就是加载AP的,你这样把AP和LDR给combin到一起,要LDR何用?
mcuisp 发表于 2011-7-27 11:06 | 显示全部楼层
cmd==>copy /b
janeslee 发表于 2011-7-27 11:27 | 显示全部楼层
很简单,SEGGER的J-FLASH ARM就有合成两个BIN或HEX文件的功能,你装了J-LINK的话就有
zhjerry 发表于 2011-7-27 11:28 | 显示全部楼层
告诉你我一直在用的方法:

使用Jlink-Arm, Open方法装入IAP, Merge方法装入用户程序。

不过我都是Hex格式,BIN格式的应该也可以,你自己试一下。
xrwf_2008 发表于 2011-8-3 23:17 | 显示全部楼层
4楼是个好主意
您需要登录后才可以回帖 登录 | 注册

本版积分规则

67

主题

171

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部