当前位置:网站首页>把boot和APP一起烧录进MCU
把boot和APP一起烧录进MCU
2022-08-04 15:41:00 【路过的小熊~】
介绍
iap和APP程序烧录进单片机大致有两种方法:
1,第一种方法,先烧录IAP,再用IAP引导(比如通过串口)烧录APP程序,这样就需要两步,比较费时费力,对大批量生产不太合适;
2,第二种方法,把boot.HEX与APP.HEX文件合并,一次烧录进去,省事省力;
IAP.HEX与APP.HEX文件合并介绍
下面介绍一下,怎么样把boot.HEX与APP.HEX文件合并成一个文件
boot +APP 结合的方法
boot 和APP 的hex 文件合成1个hex 文件的方法有3种:
方法一 – 工具烧录
1、boot 先用工具烧写进flash 的 0x0800 0000 开始位置, 再把APP用工具烧写到 flash 的0x 0800 3000开始的地方;
方法二 – 手动合并为一个烧录
2、手动合并boot和app 的.hex 文件
(1)设置boot程序下载到flash 的开头地址为0x0800 0000,然后编译程序生成hex文件。
(2)设置APP程序下载到flash 的开头地址(地址依据芯片和程序大小而定),然后编译程序生成hex文件。
(3)用 notepad++ (或Uedit32) 打开 boot 的hex文件和APP的hex 文件
把boot的.hex 最后一句结束语句去掉(即:删除:00000001FF)
把APP的.hex 全部内容拷贝复制到 刚才删掉结束语句的boot的.hex后面
(4)把两个hex合成的hex文件重新命名为XXX.hex,然后通过烧写工具烧写到0x0800 0000 开始位置的地址即可。
方法三 – bin文件工具合并烧录
3、利用bin文件合并工具将两个bin文件合并为一个
下载地址https://download.csdn.net/download/qq_32348883/86321337
方法四 – hex文件脚本合并烧录
我们使用程序编译完成这个操作
1、我们知道IAP程序确定后,一般是不需要怎样改动的。那么我们将STM32_IAP.hex文件打开,将最后一行删掉之后,保存为一个新的文件 STM32_IAP_change.hex,存放在新建的文件夹中
2、将STM32_IAP_change.hex 的内容复制到一个新的文件中 STM32_App.hex
3、将keil5生成的stm32.hex 追加到 STM32_App.hex中。这样即可以得到我们想要的合并的文件。
(可以通过手动合并生成的文件与使用该程序生成文件进行对比是否有所差异)
4、根据以上步骤,新建 merge.cmd 文件,然后在该文件中添加一下代码。将该脚本放在与STM32_IAP_change.hex同样的文件中。其中 type %cmdDir%…\Uvproj\Output\stm32.hex >> %cmdDir%STM32_App.hex 这行脚本的 \Uvproj\Output\stm32.hex是工程文件生成hex文件路径。
set "cmdDir=%~dp0"
copy %cmdDir%Stm32_IAP_chang.hex %cmdDir%STM32_App.hex
type %cmdDir%..\Uvproj\Output\stm32.hex >> %cmdDir%STM32_App.hex
5、点击 keil5中的魔术棒,将该脚本文件添加到 Run 中
6、这样,每次编译后,就会执行该脚本,就可以自动生成期望的合并文件,不用每次手动合并那么繁琐,从而提高开发效率。
方法5 – 使用hex上位机合并工具
下载地址https://download.csdn.net/download/qq_32348883/86322334
总结
方便生产效率的提升
边栏推荐
猜你喜欢
随机推荐
现代 ABAP 编程语言中的正则表达式
RTC 场景下的屏幕共享优化实践
ICDE‘22推荐系统论文之Research篇
面渣逆袭:MySQL六十六问,两万字+五十图详解
【Gopher 学个函数】边学边练,简单为 Go 上个分
成员变量与局部变量的区别有哪些
AIX7.1安装Oracle11g补丁33829709(PSU+OJVM)
小程序|炎炎夏日、清爽一夏、头像大换装
uni-app之renderjs
张乐:研发效能的黄金三角及需求与敏捷协作领域的实践
Online Excel based on Next.js
如何优雅的消除系统重复代码?
Codeforces Round #811 A~F
【二叉树】根据描述创建二叉树
06-总线
解决dataset.mnist无法加载进去的情况
【Es6中的promise】
RepVGG学习笔记
吴恩达机器学习[13]-支持向量机
初学爬虫笔记(收集数据)









