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

一万年来谁著史,三千里外欲封侯。这篇文章主要讲述boot工程和app工程bin合并发布版本比较好用的bat(便捷版)相关的知识,希望能为你提供帮助。
直接上图上代码(代码在结尾),有不会用的可以留言:
第一步:工程介绍,关键点--- 1.bat文件放所在app和boot工程的同级目录下   2.release为运行bat自动生成文件夹

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

文章图片

第二步:合版.bat   针对具体项目需要修改的变量如下图,  apppath 、bootpath、size
boot工程和app工程bin合并发布版本比较好用的bat(便捷版)

文章图片

  第三步:双击bat,运行如下图,显示merge success说明成功,按任意键弹出release窗口的发行版bin可以交给生产烧录了!
boot工程和app工程bin合并发布版本比较好用的bat(便捷版)

文章图片
 
  源代码:
1 :: XX公司XX设备 合版bin 2 :: creater: 第一pucktime: 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.binboot.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

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

    推荐阅读