谈到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. java中怎样定义实数_Java Math 类中的新功能,第 1 部分: 实数
  2. inxni扫地机器人_实用型助手,inxni以内扫地机器人 X332
  3. PyTorch的六个学习率调整
  4. 秀啊,用Python快速开发在线数据库更新修改工具
  5. 【Qt】Qt数据库驱动层
  6. 100篇精选算法技术文章收藏
  7. 初中生学计算机网络应用怎么样,初中生读计算机网络技术专业怎么样?小编解答...
  8. [python] ZZ 随机数生成
  9. 史上最全的php面试题-带有答案,史上最全的PHP面试题-带有答案
  10. 【Rollo的Python之路】Python 爬虫系统学习 (二) Requests 模块学习
  11. python卡方拟合优度检验_SPSS超详细教程:卡方拟合优度检验
  12. GWAS: 网页版的基因型填充(genotype imputation)
  13. win7 下点击鼠标右键无法新建文件夹
  14. 解决安装vmware以后,系统服务增多,系统变慢的问题。
  15. mysql explain是什么意思_MySQL中EXPLAIN解释命令详解
  16. bigworld游戏服务器架构参考
  17. jeapedu 115 複習習題05
  18. 自考本计算机应用免试,惊喜!自考计算机科目可以免试?
  19. centos7无法读取移动硬盘
  20. mysql 创建外键约束以及注意事项

热门文章

  1. 树莓派4B-安装远程桌面TeamViewer
  2. 使用python处理wps表格_【使用Python操作XLS文件+wps中叫et+】 - #1
  3. iwconfig 安装_linux下安装无线驱动
  4. 计算机应用与基础教学计划,《计算机应用基础》教学计划
  5. Android3d结构光,安卓阵营独一份!OPPO完成3D结构光技术研发,某果开始慌了
  6. 中国未来二十年大趋势,你的机遇全在这
  7. python云计算主要是干嘛的_全球python 云计算是干什么的
  8. Eclipse知识点精粹
  9. 女性计算机科学家比例,为何女性IT工作者占比低
  10. 使用ContentResolver操作手机系统联系人