码迷,mamicode.com
首页 > 移动开发 > 详细

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

时间:2017-10-26 13:52:18      阅读:376      评论:0      收藏:0      [点我收藏+]

标签:工程文件   说明   ges   dem   bsp   png   class   log   设备   

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

第一步:工程介绍,关键点--- 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(便捷版)

标签:工程文件   说明   ges   dem   bsp   png   class   log   设备   

原文地址:http://www.cnblogs.com/firstparke/p/7735966.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!