谈到STM32固件更新,首先就要了解一下固件的概念。固件是指下载到芯片里面去运行的二进制代码数据,是代码工程编译之后生成的,大家如果用的是MDK Keil的话,点了那个编译之后,就会生成固件,点击下载,固件就会被下载到STM32里面。我们平时说的下载程序,实际就是下载固件。

固件更新,就是指通过一些方法,将芯片里面原有的固件替换为新的固件。这篇文章提供两种方法,都是基于STM32 IAP技术实现的(要注意哟,不支持IAP功能的芯片,是不能做固件更新的),一种方法是通过网络的方式,从远程服务器上下载固件后,更新到芯片里面。另一种方法是将固件放到U盘或SD卡里面,再插到开发板上,更新到芯片里面

如果你不是新手,也不是啥也不知道的,只是想找现成的教程,代码工程以及操作演示,我已经准备好了,就不用接着看我啰嗦了,可以直接点下面的链接观看以及下载代码工程和资料:

STM32F103xE系列芯片固件远程升级

STM32F103xE系列芯片IAP升级固件

两个教程都是用正点原子的战舰V3开发板(STM32F103)来做的,包含可直接编译使用的代码工程(使用Keil),以及操作演示(看视频又快又直观,博客可能说不清道不明,还可能有错)。第一个教程使用的是SIM800C的4G模块联网,从网络上的FTP服务器上下载固件后,进行固件更新。第二个教程使用SD卡的方式进行固件更新。课程讲得比较详细,包括硬件,固件更新的原理,代码讲解,以及实际的操作演示,新手也能看得明白。不过课程录制也辛苦,还是收了几块钱,就当做大家给我的辛苦费吧,也希望能帮助到大家。

好,接下来我要开始啰嗦几句了。可能有的人会问,固件更新不就下载程序嘛,这有啥难的,直接用JLINK下载不就好了吗?确实,用JLINK是可以更新固件的,但是你是不是要带着电脑和JLINK才行啊?
对于要拿出去卖的商用产品,一旦卖出去了,用这种方法,你想再更新固件就难了,要么你去客户那边刷程序,要么用能把东西寄回来,这样的邮费和时间成本,老板是受不了的,用户体验也不好。所以对于商用的产品,最好能够把固件更新的功能做进去,需要更新固件的时候就很方便了。

其实单片机的固件更新就是围绕着IAP来实现的,什么是IAP?IAP就是在应用编程,也就是单片机在运行代码的同时,还能对片上ROM进行擦除和编程。我们知道对于STM32,代码是下载到片上ROM的,也是在片上ROM上直接运行的,固件更新就是在代码里面,通过片上ROM的擦除和编程操作,对固件进行更新,其中很关键的部分就是Bootloader。

好了,讲到这里,大家应该对STM32F103的固件升级更新就有了大致的了解了,详细的课程里面也已经说了,下面是STM32F103xE系列芯片通过FTP远程升级固件的演示截图

个人觉得用视频的方式来讲解要比用博文讲解的方式直观的多,感谢支持,有问题请私信留言。

基于IAP实现的STM32F系列固件升级(远程升级 + SD卡升级)相关推荐

  1. 战舰V3适配oneos系列03:添加SD卡驱动及文件系统

    战舰V3系列03:添加SD卡驱动及文件系统 本系列以 oneos2.3.0 提供的 STM32F103ZE 模板为基础,将 oneos 在战舰 V3 上运行起来,并逐步适配相关外设,计划周更 本系列相 ...

  2. ZYNQ - 以太网远程更新SD卡应用程序

    写在前面 对于ZYNQ系列的板卡固化,可以通过JTAG接口,使用SDK固化到FLASH中,或者可将SD卡取出将SD卡中保存的固化工程进行修改,但在很多情况下,离线更新会很不方便,本文借鉴网上常见的远程 ...

  3. STM32CubeMX系列09——SDIO(SD卡读写、SD卡移植FATFS文件系统)

    文章目录 1. 准备工作 1.1. 简单扫盲 1.1.1. SD卡 1.1.2. TF卡 1.1.3. SDIO接口 1.2. 所用硬件及原理图 2. 创建工程 2.1. 选择主控 2.2. 系统配置 ...

  4. 【单片机开发】stm32f429在线IAP 实现SD卡烧写程序

    (一)背景介绍 最近做了一个工程需要用到IAP在线升级这个功能,当时在学的时候,了解到IAP的功能当时就觉得很鸡肋,明明有烧写器干嘛那么费事,现在觉得当时确实浅薄了,IAP功能在工程中确实是非常有用的 ...

  5. 【基于Python+Flask项目部署系列--03】开发测试环境配置-基于Ubuntu16.04

    一.开发测试环境介绍 前提已经部署完[基于Python+Flask项目部署系列--02]Ubuntu16.04服务器安装.建议部署2套环境:开发测试环境+生产环境. 这篇文章主要讲解测试环境如何配置p ...

  6. 免外围电路CH32F/CH32V/STM32F系列单片机串口一键下载方案(CH340)

    一.概述 CH340X和CH340C等USB转串口芯片提供专用下载模式,可实现免外围电路CH32F/CH32V/STM32F等单片机串口一键下载功能,对此类支持多模式启动的单片机,无需外围三极管等逻辑 ...

  7. STM32F系列ARM Cortex-M3核微控制器基础之系统时钟一

    STM32F系列ARM Cortex-M3核微控制器基础之系统时钟 本文章是基于STM32F103ZE微控制器,主要是详细说明STM32F系列的特性,由于本人是初学者,出现错误是难免的,请大家见谅.固 ...

  8. STM32F系列单片机内部FLASH编程

    STM32F系列单片机内部含有较大容量的FLASH存储器,但没有EEPROM存储器,有时候对于参数的保存不得不另外加一片EEPROM芯片.这对于现如今大部分MCU都是FLASH+EEPROM的配置而言 ...

  9. php读取西门子plc_基于Socket访问西门子PLC系列教程(二)

    本文是西门子开放式TCP通信的第2篇,上一篇我们讲了使用西门子1200PLC作为TCP服务器的程序编写,可以点击下方链接阅读:[公众号dotNet工控上位机:thinger_swj] 基于Socket ...

最新文章

  1. 让ie8、ie9支持媒体查询
  2. java浮点整型数组_如何将C风格的二进制浮点数组读入Java?
  3. python下处理win和linux分行符
  4. BERT却不懂Transformer?2021
  5. 原生js系列之DOM工厂模式
  6. 如何从需求文档中辨认客户(一)
  7. donotage标记、MTU及MTU不匹配问题、OSPF邻居状态记录
  8. Java命名规范+常量定义方法
  9. Unity 获取GPS经纬度
  10. sql查询日期格式化
  11. 腾讯中层裁员10%,互联网资本进入寒流时代
  12. 【Unity 优化篇】 | 优化专栏《导航帖》,全面学习Unity优化技巧,让我们的Unity技术上升一个档次
  13. 万能的网格交易法你必须了解一下
  14. 自动的运行时软件测试工具
  15. 一级计算机多选题,2016年计算机一级考试WPS基础模拟多选题
  16. 华硕笔记本快捷键无法使用解决方案
  17. 电气仪表、电表检测、表计检测图像数据集(含VOC标签,3000多张图像,网盘下载链接)
  18. 搭建 本地数据接口 json-server
  19. Oracle使用数据泵expdp导出和impdp导入
  20. 金蝶K3WISE BOS万能报表开发部署

热门文章

  1. vue.js 默认选中select_vue select二级联动第二级默认选中第一个option值的实例
  2. Bert模型做多标签文本分类
  3. 双色球投注区分为红球号码区和蓝球号码区,红球号码范围为 01~33,蓝球号码范围为 01~16。双色球每期从 33 个 红球中开出 6 个号码,从 16 个蓝球中开出 1 个号码作为中奖号码,双色球玩
  4. [CVE-2021-1732] win32k内核提权漏洞分析
  5. java设计模式-动态代理(InvocationHandler)
  6. 买卖人、生意人、企业家
  7. 不怕你不来,就怕你不学—360前端星计划
  8. 推荐一个朋友做的资源网站
  9. 最近运气不好,愿乌云渐渐散去
  10. 上传身份证照片js_身份证正反面上传插件