STM32合并烧录IAP+APP

STM32合并烧录IAP+APP 通过查找相关资料 

有以下几种合并方法

第一种直接将二进制文件用记事本合并

而要合并的就是就将IAP最后的一行删除,然后将APP程序追加在后面。

(修改前)

把APP的.hex 全部内容拷贝复制到 刚才删掉结束语句的 IAP的.hex后面

(修改后)

第二种使用二进制合并工具 

二、合并.bin文件
  1.将IAP和APP程序分别找出。打开 二进制文件合并工具。
  2.先将IAP产生的.bin文件拖入界面中,此时源文件后面应显示此.bin文件的路径,然后点击添加,该文件被添加到上面的列表中。
  3.再将APP产生的.bin文件拖入界面中,看到路径正确之后,更改偏移量(视情况而定,一般为0x00004000),在“插入”前面打钩,然后点击确定,再点击添加。此时上方的列表中应有两个文件的索引,且偏移地址正确。
  4.选取一个目标文件生成的路径,并为目标文件设置名字。点击合并,即可将两个.bin文件合并。

三、烧录合并后的.bin文件(使用J-Link SWD模式,BOOT0 = BOOT1 = 0)
  1.无法使用FlyMcu.exe烧录.bin文件,可能因为Keil转换后的.bin文件格式与FlyMcu.exe所支持的不同。
  2.使用 SEGGER J-Flash.exe 下载。
  3.设置好串口,波特率设置为115200(不超出MCU规定的范围即可)
  4.点击 file—> Open data file,将合并后的.bin文件添加进来。此时会弹出设置开始地址的对话框,填入8000000。点击OK。
  5.点击Target—> Manual Programming—>Erase Chip 将芯片擦除。
  6.点击Target—> Production Programming 进行下载。
  7.完成。
附:二进制文件合并工具下载地址:链接: https://pan.baidu.com/s/1D7D-cZ2wj_MU4mJ2hL9PWQ 密码: qtx4

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
                        
原文链接:https://blog.csdn.net/hb69222/article/details/80538749

第三种  使用 J-FLASH 进行合并

合并操作步骤

在这里插入图片描述

图2

在这里插入图片描述

图3

在这里插入图片描述

打开IAP程序BOOTLoader文件

在这里插入图片描述

添加BOOTLoader

在这里插入图片描述

下一步添加APP程序

在这里插入图片描述

图7

在这里插入图片描述

保存合并 工程文件

在这里插入图片描述

图10

在这里插入图片描述

 

IAP+APP拼接方法
用于产品量产,烧录的程序文件,一般是hex,或bin文件。不管是hex文件,还是bin文件,我们都需要通过烧录软件 + 烧录(编程)工具实现。烧录软件针对不同MCU,一般有不同的烧录软件。

针对STM32,一般建议使用官方提供的STVP、ST-LINK Utility和STM32CubeProg 这三种编程软件。

拼接说明
1、拼接IAP+APP两段程序,一般简单方法就是:将两个程序分别烧录进去,再统一读取出来,保存成一个量产文件。
2、IAP 和 APP程序的起始地址是不同的,因此烧录进芯片,是存储在两片区域的。烧录程序的时候,特别是烧录bin文件(没有地址)时,要注意设置好起始地址。hex文件有地址地址,不用自己设置地址。读取“合并”程序的时候,同样要注意起始地址,还有读取大小,保证读取全部程序。

比如通过ST-LINK Utility读取STM32程序:

通过STM32CubeProg读取STM32程序:

再次提示:
烧录bin文件时,设置好起始地址;
读取时,设置起始地址,读取大小;
保存可选择hex,还是bin文件;

bin、hex文件互相转换
在某些情况下需要使用特定格式的文件,比如我们远程升级,要求通过bin文件实现。通过上面的介绍,其实你会发现,使用编程软件ST-LINK Utility,或STM32CubeProg,就能直接另存为hex,或bin文件格式。

ST-LINK Utility另存为:

STM32CubeProg另存为:

参考MDK-ARM如何生产Bin文件
————————————————

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
                        
原文链接:https://blog.csdn.net/weixin_45905650/article/details/108010156

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/711020.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Win32汇编ListView控件学习

此控件比较复杂;和基础win32控件不同;需要先初始化Windows公共控件库, invoke InitCommonControls 之后才可使用; lvdemo.asm, .386.model flat, stdcalloption casemap :none ; case sensitiveinclude window…

【OCR识别】使用OCR技术还原加密字体文字

文章目录 1. 写在前面2. 页面分析3. 字符知识4. 加密分析 【作者主页】:吴秋霖 【作者介绍】:Python领域优质创作者、阿里云博客专家、华为云享专家。长期致力于Python与爬虫领域研究与开发工作! 【作者推荐】:对JS逆向感兴趣的朋…

减少页面加载时间:提升用户体验的关键

✨✨ 祝屏幕前的您天天开心,每天都有好运相伴。我们一起加油!✨✨ 🎈🎈作者主页: 喔的嘛呀🎈🎈 目录 引言 一、为什么页面加载时间重要? 二、如何减少页面加载时间? …

华润置地品牌虚拟代言人IP“吉吉”,开启地产数字化营销新场景

在数字化营销时代,房地产品牌通过虚拟人技术,可以有效链接购房者,占领客户心智,优化购房体验,塑造年轻化、数字化的品牌形象。 华润置地积极拥抱数字变革,通过广州虚拟动力「现场虚拟主持技术服务」与「虚…

【Unity】使用Unity实现双屏显示

引言 在使用Unity的时候,有时候会需要使用双屏显示 简单来说就是需要在两个显示器中显示游戏画面 双屏显示注意点: ①双屏显示需要电脑有两个显示 ②双屏显示只能用于PC端 ③不仅仅可以双屏,Unity最大支持8屏显示 1.相机设置 ①我们打开Un…

Untiy webgl iis服务器加载ab包报404.3,需要为AB包添加MIMI映射

首选确定一下文件在不在 这里是缺少对于AB包文件类型的映射,因为AB包没有后缀名,我们为服务器添加通用的映射 1 开始菜单搜索iis管理器,先选中我们的服务器,然后双击进入MIME类型 2 右侧点击添加按钮 3 添加如下内容 文件扩展名为. 类型为…

性能测试-并发测试心得

一些关键名词 吞吐量 指的是在一定时间内系统处理请求或传输数据的能力,具体到性能测试中的话,就是指单位时间内系统处理并完成的请求数量或者是系统传输的数据量。 例如,吞吐量可以表示为系统每秒处理HTTP请求次数,或者是系统…

服务器git安装python包失败,如何手动下载github项目包并安装到虚拟环境中(简单易懂)

背景: 想要复现一个项目,建立好虚拟环境后,准备安装项目需要的包,故输入命令pip install -r requirements.txt requirements.txt如下图 其他包我都安装成功了,只有最后一个包失败了,是需要服务器git链接…

【学习心得】解决无限debugger的常用方法

一、什么是无限debugger 有些网站为了防止爬虫或其他恶意行为,会故意设置无限debugger作为一种简单的反爬机制,它会在开发者工具打开的情况下不断暂停执行。这对于想要分析其他代码逻辑、排查问题或进行正常开发调试工作的开发者来说极为不便。 二、解决…

Sora学习笔记

Sora - 探索AI视频模型的无限可能 随着人工智能技术的飞速发展,AI视频模型已成为科技领域的新热点。而在这个浪潮中,OpenAI推出的首个AI视频模型Sora,以其卓越的性能和前瞻性的技术,引领着AI视频领域的创新发展。让我们将一起探讨…

ios 使用window.location.href 不能跳转微信短链处理过程以及解决方法

需求背景: 由h5提供页面,通过后台请求微信api生成对应的schemal短链,该h5页面嵌入到原生的ios以及安卓app上,当用户点击后通过短连接跳转到其他小程序中 以下为生成微信scheme代码示例,生成后短链为:weixi…

Azure[Sky] Dynamic Skybox

Azure[Sky] Dynamic Skybox是一个完整而稳健的天空系统,它可将你的项目提升大到其他层次。 Azure[Sky] 不仅适合使用现实图片的项目,事实上,该系统用在风格化图片的项目也很不粗,甚至效果更好。使用 Azure,每种风格都能实现最佳效果。 性能: 在开发此资源的过程中,性能是…

【Android】属性动画

在属性动画出现之前,Android 系统提供的动画只有帧动画和 View 动画。View 动画我们都了解,它提供了 AlphaAnimation、RotateAnimation、TranslateAnimation、ScaleAnimation 这4种动画方式,并提供了 AnimationSet 动画集合来混合使用多种动画…

35. 【Linux教程】Linux 修改用户组

前面小节介绍了如何添加用户组,本小节介绍如何给已经添加的新用户组修改信息,从 /etc/group 文件信息可以看到,用户组的信息比用户信息项少,和 usermod 命令类似,用户组的信息可以使用 groupmod 命令修改。 1. groupmo…

为了董宇辉,老婆跟我打起来了!写下一份深刻检讨

两个月前,因为讨论董宇辉小作文事件,跟老婆吵起来了。起因就为了两句话,写了这份检讨!给大家分享一下。 老婆在网上刷了两晚关于董宇辉小作文的视频,一直为董宇辉喊冤、打抱不平。起初,我跟老婆的想法&…

怎样消除视频上的字幕和文字?3个方法值得推荐

怎样消除视频上的字幕和文字?消除视频上的字幕和文字不仅是一个常见的需求,更是一个对视频内容质量提升的关键步骤。特别是在处理从网络下载的带有水印或标识的视频时,这些额外的文字和信息往往会干扰观众的观看体验,甚至可能影响…

【数据结构】顺序表和链表的对比,在各种情况下如何选择

顺序表详细内容: 【数据结构】线性表 顺序表(动态、静态分配,插入删除查找基本操作)解析完整代码 单链表详细内容: 【数据结构】单链表解析完整代码(插入、删除、尾插法、头插法、按值和按位查找、前插和后…

IDEA开发环境的安装与编写第一个程序

1.下载 IDEA(全称IntelliJ IDEA)是用于Java程序开发的集成环境(也可用于其他语言),它在业界被公认是最好的Java开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、Ant、JUnit、CVS整合、代…

Mamba与MoE架构强强联合,Mamba-MoE高效提升LLM计算效率和可扩展性

论文题目: MoE-Mamba: Efficient Selective State Space Models with Mixture of Experts 论文链接: https://arxiv.org/abs/2401.04081 代码仓库: GitHub - llm-random/llm-random 作为大型语言模型(LLM)基础架构的后…

新一代科学计算与系统建模仿真平台MWORKS 2024a震撼发布:产品强势进化,更新亮点速览!

2月25日,同元软控成功举办MWORKS 2024产品发布会,会上公布了新版MWORKS的设计理念、关键技术、版本亮点、产品特性以及重大改进。当前,科学计算与系统建模仿真平台MWORKS 2024a已正式上线,开放下载。 MWORKS已成为全球第4个完整的…