当前位置:网站首页>把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
总结
方便生产效率的提升
边栏推荐
猜你喜欢
随机推荐
dotnet core 添加 SublimeText 编译插件
(2022杭电多校五)C - Slipper (dijkstra+虚拟结点)
What are the useful IT asset management platforms?
AIX7.1安装Oracle11g补丁33829709(PSU+OJVM)
Flutter 运动鞋商铺小demo
NUS颜水成等发布首篇《深度长尾学习》综述
ICDE‘22推荐系统论文之Research篇
Manacher(求解最长回文子串)
Game network UDP + FEC + KCP
普法教育结合VR全景,直观感受和学习法治精神
Matlab计算随模拟时间变化的热导率
Request method ‘POST‘ not supported。 Failed to load resource: net::ERR_FAILED
吴恩达机器学习[9]-神经网络学习
多商户商城系统功能拆解24讲-平台端分销会员
dot net double 数组转 float 数组
2022 Hangzhou Electric Multi-School 4
第三章 Scala运算符
Codeforces Round #811 A~F
IP报文头解析
JVM Tuning-GC Fundamentals and Tuning Key Analysis








