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

谈到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远程升级固件的演示截图
远程升级演示
个人觉得用视频的方式来讲解要比用博文讲解的方式直观的多,感谢支持,有问题请私信留言。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值