IAP升级(STM32)

IAP升级(STM32)

(未完,更新ing)

IAP作用简述:将要升级的程序bin文件通过串口发送给STM32,STM32接收后存储到FLASH或者SRAM,用户通过事件(按键等)触发(也可延时自动触发)后将升级

image-20250209211012513

文件夹作用:

Bootloader先烧录到stm32,作为引导接受串口bin文件升级包,以及跳转到用户程序执行

IAP_FLASH_LED工程用作生成存储到FLASH地址段内的用户程序bin文件,用于串口发送给STM32用作IAP升级实验

IAP_SRAM_LED工程用作生成存储到SRAM地址段内的用户程序bin文件,用于串口发送给STM32用作IAP升级实验

两部分设计,bootloader、APP代码设计,bootloader用于检查APP区代码是否需要更新,以及跳转到APP区执行APP程序

Bootloader设计

image-20250209220116386

Bootloader程序中根据芯片启动流程,将用户执行程序存放在地址:0x08010000

//第一个应用程序起始地址(存放在FLASH)image-20250209220500197

制作APP用户程序的.bin文件

FLASH:

要制作flash区的用户程序,首先选择IROM1更改start的地址为0x810000(不重叠于bootloader区占用地址0x800000+size)

image-20250209215602759

同时在程序初始化前加上跳转指令,跳转到FLASH指定的地址(0x08010000)image-20250209220249401

接下来继续编写需要存储在FLASH的用户程序。

image-20250209220903485

SRAM

img

img

需要用到keil MDK自带的执行文件将程序编译构建生成的.axf文件转化为.bin文件

首先在keil MDK软件路径下找到fromelf.exe执行程序,复制其地址,点击keil魔术棒图标

image-20250209213826424

选择User下,勾选Run #1,在横线内填入 刚才复制fromelf.exe执行程序的本地路径,在结尾加上

--bin -o  要工程生成的.bin文件路径 工程编译构建生成的.axf路径

完整为:

fromelf.exe执行程序的本地路径  --bin -o    要工程生成的.bin文件路径 工程编译构建生成的.axf路径

例如我的路径为D:\keil_5.39\ARM\ARMCC\bin\fromelf.exe,工程文件名为keil_project则完整为:

D:\keil_5.39\ARM\ARMCC\bin\fromelf.exe  --bin --output .\Objects\keil_project.bin .\Objects\keil_project.axf 

勾选Run #1,填入脚本,目的是编译构建结束时将.axf文件转化为.bin文件

img

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

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

相关文章

.NET适配HarmonyOS进展

1. 前言 目前国产化系统浪潮下,适配鸿蒙是中国软件大势所趋,.NET作为最适合开发客户端语言之一,适配鸿蒙系统(HarmonyOS Next)是目前.NET开发者最关心的事情。我目前业余时间正在移植Avalonia到HarmonyOS,去年在.NET Config CN上分享过,目前又取得一点进展,所以本文把所有…

点云大数据在低空经济中的应用:三维激光雷达技术探索

随着科技的飞速发展,低空经济正逐渐成为推动社会经济发展的新引擎。其中,三维激光雷达技术以其高精度、高效率的特点,在低空经济中扮演着越来越重要的角色。本文将深入探讨三维激光雷达在点云大数据领域的核心技术,以及其在多元应用中的探索与实践。一、三维激光雷达技术概…

deepseek本地部署

deepseek本地部署 下载并部署大模型(这里使用Ollama)下载并安装Ollama打开浏览器搜索ollama,访问官网。 点击右上角Download按钮,选择对应系统版本的安装包下载。 双击安装包,按提示完成安装。 验证安装:在终端输入ollama -v,出现版本号即表示安装成功。指定模型下载位置…

部署离线版DeepSeek

2025年春节前DeepSeek着实火了一把,记得刚看完美国总统特朗普召集孙正义,让他投资5000亿美金资助美国的“星际之门”计划。两天后DeepSeek出圈,轰动全球AI界。它只花费了500万美金就训练出了媲美OpenAI大模型的推理模型,关键还是开源免费的,太强了。过年前的几天瞬间在网络…

App Uploader 提交苹果应用商店 Bundle ID 故障解除

通过App Uploader提交ipa文件的时候反复提示Bundle ID错误,有点蒙。反复检查发现是uniapp里面编译ipa文件的时候写的Bundle ID和appstoreconnect里的没有对应上。以下3个位置的Bundle ID 要保持统一,不然就反复提交无法通过。保持统一后,问题解除。顺利提交ipa到苹果商店。查…

集训5 20240209

集训5 20240209 牛客竞赛_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ A: 题目大意:给出一个整数和一个操作符,生成两个能组成这个数的因子 #include<bits/stdc++.h> #define cintie ios::sync_with_stdio(false);cin.tie(0);cout.tie(0); using namespace…

2024.2.9 鲜花

超级入门的单位根反演?推歌 《壹雫空》 もしこの雨が上がっても 就算这场大雨就此停止 忘れずに歩いてくよ 我也将永不忘怀向前行 最初のひとしずくに 顔上げた今日の僕を 那抬头仰望最初一滴雨滴的今天的我 透明な傘で作る ひとり分だけの世界 透明的伞创造出的一人份…

2.9 实现安卓界面跳转

通过今天的学习实现了安卓程序界面的跳转web端出现的问题已经基本解决 今天学习了button的使用和@string字符串文本的使用

The Journey of Hailiang Winter Camp 2025

【洛谷专栏】。 前言 THUWC 2025 游记。 胸牌也是牌,倒一也是一,能去就是赢。 正文 2025.1 1.15 大晚上被叫到教练房间去训话,得知了一些非常重要的信息。 这次我们学校五个人仅有两个银,理论上勉强还看的过去,但是我们成了打的最差的一届。 @Cczzyy20150005 的分数差已知…

并发编程 - 线程同步(六)之锁lock

lock是C#中的线程同步互斥锁,使用时需避免锁定this、公共对象、字符串和非readonly对象,小心锁定静态对象。锁定不当易导致同步问题,示例代码和源码在代码库。通过前面对Interlocked类的学习,相信大家对线程同步机制有了更深的理解,今天我们将继续需要另一种同步机制——锁…

解读 DeepSeek-R1 论文 - 通俗易懂版

引言:让 AI 学会"思考"的新突破 在近年来的人工智能浪潮中,大型语言模型(LLM)如 ChatGPT 已经能回答各种问题,但它们在复杂推理方面仍有不足。所谓复杂推理,比如解决奥数难题、编写复杂代码或进行多步逻辑推导,这些都相当于让 AI "动脑筋"思考多步。…

2025多校冲刺省选模拟赛10

过于困难,直接放弃2025多校冲刺省选模拟赛10\(T1\) A. 电车 \(5pts\)直接化简成质因数分解的形式,因质因数分解是唯一的,故可以只考虑下标为质数处的值交换。容易发现 \(2p_{1},2p_{2}>n\) 的质数 \(p_{1},p_{2}\) 交换后不会影响合法性,考虑进一步扩展。对着指数确定范…