boot工程和app工程bin合并发布版本比较好用的bat(便捷版)

Posted FIRST PUCK

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了boot工程和app工程bin合并发布版本比较好用的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)。

以上是关于boot工程和app工程bin合并发布版本比较好用的bat(便捷版)的主要内容,如果未能解决你的问题,请参考以下文章

RT1052 BootLoader总结_后续Bin合并

如何使用老版本的vivado打开新版本的vivado 工程

contex-m基于IAR工程从boot阶段引导app

项目管理软件都有哪些好的推荐?

ansys哪个版本好用

利用jink的驱动软件j-flash 合并两个hex的方法,bootloader+app