一万年来谁著史,三千里外欲封侯。这篇文章主要讲述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: 第一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)。
推荐阅读
- Android 使用MediaRecorder录音调用stop()方法的时候报错
- APP测试基本流程
- CanToolAPP_成果展示
- mybatis自动生成mapper,dao映射文件
- Unity调用讯飞做语音听写(Android Studio版)
- mac android studio 出现 Error: SDK location not found. Define location with sdk.dir in the local.prope
- android百度地图SDKInitializer.initialize(getApplicationContext());
- 关于sys.path.append()
- 最新版 INSPINIA IN+ - WebApp Admin Theme v2.7.1,包含asp.net MVC5示例代码,做管理系统最佳的选择。