IAP升级(STM32)

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

文件夹作用:

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

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

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

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

Bootloader设计

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

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

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

FLASH:

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

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

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

SRAM

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

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

选择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文件

IAP升级(STM32)的更多相关文章

  1. STM32 Bootloader基于ymodem传输协议串口IAP升级详解

    硬件:stm32f103cbt6 软件:STM32F10x_StdPeriph_Lib_V3.5.0 文章目录 1 预备知识 2 Bootloader 2.1 启动流程 2.2 校验跳转地址是否有效 ...

  2. STM32 IAP 升级官方资料汇总

    整理了一下SMT32标准外设库进行IAP升级的官方demo: 标准库版本 STM32F10xxx in-application programming using the USART (AN2557) ...

  3. STM32IAP升级-----编写IAP升级遇到的问题总结

    IAP的源代码等资料我上传了,压缩包内有12个文件.,http://download.csdn.net/detail/f907279313/7524849(要积分的辛苦收集的你们就给点积分吧) 还有还 ...

  4. CH579(Cortex-M0)网络IAP升级介绍及问题解答--(持续更新) 网络升级

    CH579网络IAP升级的源码可以从码云(Gitee)上git clone下来. 码云地址:https://gitee.com/maji19971221/wch-ch57x 以下是一个朋友问的几个常见 ...

  5. STM32 IAP升级

    STM32 IAP在线升级,用Jlink设置读保护后前5K字节是默认加了写保护的,导致IAP升级时擦除和写入FLASH不成功,可以做两个boot,前5k为第一个boot程序,上电时负责跳转到APP还是 ...

  6. STM32 IAP 升级功能

    IAP In Application Programming 可通过USB,CAN,UART,I2C,SPI等接口实现 IAP流程 Bootloader程序:接收升级程序,更新到flash指定地址:跳 ...

  7. 【转】stm32 IAP升级程序

      一.什么是IAP,为什么要IAP       IAP即为In Application Programming(在应用中编程),一般情况下,以STM32F10x系列芯片为主控制器的设备在出厂时就已经 ...

  8. 【iCore1S 双核心板_ARM】例程二十:UART_IAP_ARM实验——更新升级STM32

    实验现象及操作说明: 1.本例程共有两个代码包,APP和IAP,IAP程序功能实现将APP程序升级至STM32中. 2.直接上电或烧写程序将执行升级的APP应用程序. BIN升级文件产生方法: 1.编 ...

  9. 【iCore1S 双核心板_ARM】例程十九:SD_IAP_ARM实验——更新升级STM32

    实验现象及操作说明: 1.本例程共有两个代码包,APP和IAP,IAP程序功能实现将APP程序升级至STM32中. 2.直接上电或烧写程序将执行升级的APP应用程序. 3.按下按键上电或写程序将进行升 ...

  10. 【iCore4 双核心板_ARM】例程三十四:U_DISK_IAP_ARM实验——更新升级STM32

    实验现象及操作说明: 1.本例程共有两个代码包,APP和IAP,IAP程序功能实现将APP程序升级至STM32中. 2.直接上电或烧写程序将执行升级的APP应用程序. 3.按下按键上电或写程序将进行升 ...

随机推荐

  1. Javascript 粘贴板

    1.前言 本节讲述如何封装一个操作粘贴板的方法 原理:选中某个Dom元素(比如文本域),执行区域复制命令即可. 相关API:document.execCommand():该方法允许运行命令来操纵可编辑 ...

  2. LALR语法分析表

    LALR语法分析表 1.LALR(向前看-LR)技术 2.在实践中常用,分析表比规范LR分析表小 LALR(1)项集族的内核的高效计算方法 1.构造G的LR(0)项集族的内核 2.确定自发生的符号 3 ...

  3. GraphQL Part VI: 使用 Postgres 和 EF Core 持久化数据

    这次我们关注持久化数据而不是 GraphQL 方面.我们将使用 Postgres 数据库作为后端存储,您可能问:为什么要使用 Postgres?因为大家都熟悉 SQL Server,我们尝试一下新东西 ...

  4. 中电金信多模态鉴伪技术抵御AI造假威胁

    ​ AI换脸技术,属于深度伪造最常见方式之一,是一种利用人工智能生成逼真的虚假人脸图片或视频的技术.基于深度学习算法,可以将一个人的面部特征映射到另一个人的面部,创造出看似真实的伪造内容.近年来,以A ...

  5. 【Python】2023年Python期末复习题

    Python百分百挂科指南 出题人,出的题,水平不咋样,给出的参考答案一堆错误,给出的正确选项单词都能拼错. 非本次考试人员不必看,没有参考价值 选择题 下列哪个标识符是不合法的()D A. Name ...

  6. java -jar命令运行jar包时指定外部依赖jar包

    你们都知道一个java应用项目能够打包成一个jar,固然你必须指定一个拥有main函数的main class做为你这个jar包的程序入口.具体的方法是修改jar包内目录META-INF下的MANIFE ...

  7. 痞子衡嵌入式:MCUXpresso for VS Code开发环境搭建及SDK工程导入

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是MCUXpresso for VS Code开发环境搭建及SDK工程导入. MCUXpresso IDE(包括其前身 LPCXpress ...

  8. 前端开发常用git命令详细版

    1.新建代码库 当前目录创建一个git代码库 git init 新建一个目录文件 将其初始化为git代码库 git init [pro-name] 远端拉去项目 git clone [url] 2.基 ...

  9. 「工具分享」Checker Script for Linux

      以前整的一个 Linux 下对拍程序 qwq.   建一个文件夹, 假设叫 dir, 然后把 checker.sh 扔进去, 顺便 chmod +x checker.sh. 你需要自己设置一下代码 ...

  10. DataV Note:让Jupyter Notebook绽放新活力

    一.导读 Jupyter Notebook的官网定义:是一个基于网络的交互式计算平台.该笔记本结合了实时代码.方程式.叙述性文本.可视化.交互式仪表板和其他媒体.换句话来说,假如你有数据加工.数据分析 ...