合并bin文件-----带boot发布版本比较好用的bat(便捷版)

直接上图上代码(代码在结尾),有不会用的可以留言:

第一步:工程介绍,关键点--- 1.bat文件放所在app和boot工程的同级目录下  2.release为运行bat自动生成文件夹

第二步:合版.bat  针对具体项目需要修改的变量如下图, apppath 、bootpath、size

 第三步:双击bat,运行如下图,显示merge success说明成功,按任意键弹出release窗口的发行版bin可以交给生产烧录了!

 

 源代码:

 1 :: XX公司   XX设备 合版bin
 2 :: creater: 第一puck     time: 20170909
 3 :: 该文件需要放在工程文件夹相同目录下
 4 
 5 :: 开/关显示cli信息
 6 @echo off
 7 echo ***************** XX工程项目 *****************
 8 
 9 :: CMD标题
10 title XX有限公司合版bin工具
11 
12 :: 创建目标文件夹release,并清空
13 mkdir "%~dp0release"
14 del %~dp0\release\*.bin
15 
16 ::变量声明
17 set apppath="%~dp0XX - APP -V1.00\EWARM\rtos\Exe\XX_APP_V1.00.bin"
18 set bootpath="%~dp0XX- BOOT\EWARM\DEMO\Exe\XX_BOOT_V1.00.bin"
19 set merge="%~dp0release\XX_APP_BOOT_V1.bin"
20 
21 
22 :: 准备boot文件 空bin文件撑开不需要写部分,size取决于app在flash起始地址之前的空间大小
23 for %%a in (%bootpath%) do set /a size=128*1024-%%~za
24 fsutil file createnew temp.bin %size%
25 copy /b %bootpath% + temp.bin  boot.bin
26 
27 :: 生成合版文件
28 copy /b boot.bin + %apppath%  %merge%
29 
30 :: 删除临时文件
31 del temp.bin
32 del boot.bin
33 
34 :: 执行成功与否
35 if exist %merge% (goto success) else goto failure
36 
37 
38 :success
39 echo *************** Merger success! *****************
40 Pause
41 start "" "%~dp0release\"
42 exit
43 :failure
44 echo **************** Merger failure! ****************
45 Pause
46 exit

 注:网上合并bin的工具比如UBIN原理都差不多,撑开部分都是00(bat暂时我没找到方法写入FF,需要调用其他插件就不方便了),我拿J-LINK ARM合并的bin和上述合并的bin用beyondcompare比较了下唯一区别就是撑开部分是00和ff区别,一般情况不会有影响(flash写入前都会先擦除00->FF)。

转载于:https://www.cnblogs.com/firstparke/p/7735966.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值