STM32 IAP升级(bootLoader)
今天给大家做一个STM32F系列的IAP 升级, 网上有不少例子,我这里字数有点多如果看请耐心看完,如果嫌麻烦可以看其他的帖子
我这边以103为例子,用的人多,不过最近芯片涨价太狠也不知道还有人拿来玩不。当然我做这个不仅仅是可以用在F103上面 F系列/G系列/L系列/H也是可以用的。
废话不多说 先来说明一下这个IAP是个什么,我就简单举个例子 ,大家请看下面:
通常单片机的程序:
加入IAP后单片机的程序:
这个IAP 呢 说白了就是在原来单片机只有一个程序的基础下增加一个程序,这样单片机里面就有两个程序。
重点来了:单片机里面为啥要加个IAP程序呢?写一个就够了还要整两个不是吃饱了没事干吗?
其实不然,如果大家有体验过连续一个星期甚至几个星期都在刷单片机代码就不会觉得了。现实中会有这种情况出现 就是咱做好的电路板写完了程序通常会被一些精美外壳封装好,有些为了防止漏水啊或者什么的 通常都封装的很严实的。要想软件出问题了去拆开得废多大劲。与其这样不如写个能通过通信对单片机进行 程序下载的,就算出现问题了也能通过什么u***口啊 网口啊 进行刷代码,甚至可以连接wifi模块在线远程刷新。
以上为前言啊 ! 说这么多,IAP就是一个能通过其他通信方式对 已经封装好的或者不能通过硬件下载口下载程序的第三方烧录方式。
好接着往下面说,前面大概知道了怎么个东西了,现在我们要开始来实现功能了。怎么实现呢?(如果有什么疑问的请带着疑问往下面看! 很多问题我会写在下面!)
先给大家说一下整体的流程:
上位机发起更新请求 →下位机从用户区域跳转到IAP区域→ 中间传输通过传输协议 →发送到下位机 → 下位机接收文件通过IAP程序更新 →下位机更新完成跳转到用户区域
第一步是 要确定好我们要干啥,首先呢IAP下载到单片机,所以我们需要一个能通信并且内存稍大点的单片机,如果是简单程序呢一个STM32C8T6 就够了
这是我从官方扒下来的图片,这边我只找了103的,有其他型号的大家可以去官网上面看。
STM32 IAP升级(bootLoader)
今天给大家做一个STM32F系列的IAP 升级, 网上有不少例子,我这里字数有点多如果看请耐心看完,如果嫌麻烦可以看其他的帖子
我这边以103为例子,用的人多,不过最近芯片涨价太狠也不知道还有人拿来玩不。当然我做这个不仅仅是可以用在F103上面 F系列/G系列/L系列/H也是可以用的。
废话不多说 先来说明一下这个IAP是个什么,我就简单举个例子 ,大家请看下面:
通常单片机的程序:
加入IAP后单片机的程序:
这个IAP 呢 说白了就是在原来单片机只有一个程序的基础下增加一个程序,这样单片机里面就有两个程序。
重点来了:单片机里面为啥要加个IAP程序呢?写一个就够了还要整两个不是吃饱了没事干吗?
其实不然,如果大家有体验过连续一个星期甚至几个星期都在刷单片机代码就不会觉得了。现实中会有这种情况出现 就是咱做好的电路板写完了程序通常会被一些精美外壳封装好,有些为了防止漏水啊或者什么的 通常都封装的很严实的。要想软件出问题了去拆开得废多大劲。与其这样不如写个能通过通信对单片机进行 程序下载的,就算出现问题了也能通过什么u***口啊 网口啊 进行刷代码,甚至可以连接wifi模块在线远程刷新。
以上为前言啊 ! 说这么多,IAP就是一个能通过其他通信方式对 已经封装好的或者不能通过硬件下载口下载程序的第三方烧录方式。
好接着往下面说,前面大概知道了怎么个东西了,现在我们要开始来实现功能了。怎么实现呢?(如果有什么疑问的请带着疑问往下面看! 很多问题我会写在下面!)
先给大家说一下整体的流程:
上位机发起更新请求 →下位机从用户区域跳转到IAP区域→ 中间传输通过传输协议 →发送到下位机 → 下位机接收文件通过IAP程序更新 →下位机更新完成跳转到用户区域
第一步是 要确定好我们要干啥,首先呢IAP下载到单片机,所以我们需要一个能通信并且内存稍大点的单片机,如果是简单程序呢一个STM32C8T6 就够了
这是我从官方扒下来的图片,这边我只找了103的,有其他型号的大家可以去官网上面看。
举报