前言 此代码兼容STM32F103全系列 为避免添加上升级程序造成内存不足,请使用128KB Flash及其以上的型号 这篇文章是为了能够让大家快速移植我的升级模板程序到自己的项目 BootLoader 程序制作 拷贝文件到自己的项目 拷贝到自己的项目(我准备了一个工程作为叙述) 在自己工程的定时器里面添加以下信息 if(IAPStructValue.PutDataFlage && IAPStructValue.UpdateFlage)IAPStructValue.DownloadTime…
前言 用户程序比较简单,但是起着至关重要的作用 用户程序是和BootLoader程序相互配合的 拷贝文件到自己的项目 APP用户程序的 stmflash.c stmflash.h 和 上一节的BootLoader 是一样的. 只有IAP有点差别 用户程序需要做两件事情 一.获取更新的信息(版本号,更新的状态) 二,在认为APP用户程序运行没有问题以后写上 现在就完成了APP用户程序的处理工作. 现在我说明一下为啥会有如此操作 在前面的BootLoader程序里面就有很多的状态判断, 在APP用户…
实现功能概要 前面的版本都是,定时访问云端的程序版本,如果版本不一致,然后下载最新的升级文件,实现升级. 这一节,在用户程序里面加入MQTT通信,执行用户程序的时候,通过接收MQTT的升级命令实现升级 注意:BootLoader程序还是用以前的程序. 一开始设计这个升级篇的时候,我就规定好了大的框架 BootLoader只是负责升级,其它一概不管 用户程序只是写入升级标志,然后重启,所有的升级步骤全部交给BootLoader! 协议: 注:所有的实现MQTT的软件,统称为MQTT上位机 一,MQ…
实现功能概要 这节和上一节的功能一样(只不过上节是利用Wi-Fi模块,这节是利用GPRS模块) 用户程序里面加入MQTT通信,执行用户程序的时候, 通过接收MQTT的升级命令实现升级. 凡是可以实现MQTT通信的上位机皆可控制单片机升级. 通信控制协议和上一节一样 注:所有的实现MQTT的软件,统称为MQTT上位机 一,MQTT上位机通过MQTT发送获取设备信息指令 {"data":"updata","cmd":"DeviceInfo&…
前言 这一节和上一节是搭配的 给大家鱼,也必须给鱼竿! 我期望自己封装的代码,无论过了多少年都有应用的价值! 这节说明一下制作APP用户程序的过程 咱是用MQTT通信控制模块实现升级,所以首先自己的程序先实现MQTT哈. 协议 注:所有的实现MQTT的软件,统称为MQTT上位机 一,MQTT上位机通过MQTT发送获取设备信息指令 {"data":"updata","cmd":"DeviceInfo"} //设备接收到回复 {&…
实现功能概要 定时使用http访问云端的程序版本,如果版本不一致,然后通过http下载最新的升级文件,实现升级. 测试准备工作(默认访问我的服务器,改为自己的服务器,请看后面说明) 一,下载BootLoader程序(请自行下载) 二,调整波动开关位置,STM32和Wi-Fi 串口 通信 三,短接STM32的PB2和Wi-Fi模块的RST引脚(内部程序使用该引脚硬件复位Wi-Fi) 四.两个串口模块的RX,分别接到单片机的PA9和PA10. 4.1注:此为监控STM32和Wi-Fi之间的数据,看到…
前言 1.BootLoader程序,升级简要流程图 2.其实主要的就是把程序文件写入环形队列,然后环形队列取出来数据写入Flash 3.用户程序,简要流程图 下面的读一下,有个印象就可以: 说白了就是BootLoader里面通过http远程下载完程序以后, 设置更新状态是 0x01  然后重启 重启以后还是会先执行BootLoader,然后BootLoader判断更新状态是 0x01 那么就设置更新状态是 0xFF 然后就会执行 用户程序,用户程序判断更新状态是 0xFF 就切换下版本号.设置升…
前言 学习此代码所需: 实现功能概要 定时使用http访问云端的程序版本,如果版本不一致,然后通过http下载最新的升级文件,实现升级. 测试准备工作(默认访问我的服务器,改为自己的服务器,请看后面说明) 一,下载BootLoader程序(请自行下载) 二,调整波动开关位置,STM32和Wi-Fi 串口 通信 三,短接STM32的PB2和Wi-Fi模块的RST引脚(内部程序使用该引脚硬件复位Wi-Fi) 四.两个串口模块的RX,分别接到单片机的PA9和PA10. 4.1注:此为监控STM32和W…
实现功能概要 单片机定时使用http访问云端的程序版本,如果版本不一致, 然后通过http下载最新的升级文件,实现远程升级STM32程序. 兼容Air202 ,SIM800 测试准备工作(默认访问我的服务器,改为自己的服务器,请看后面说明) 一,下载BootLoader程序(请自行下载) 二,调整波动开关位置,STM32和GPRS 串口1 通信 二,别忘了插手机卡,还有安装上天线 三.准备两个串口模块,两个串口模块的RX,分别接到单片机的PA9和PA10. 4.1注:此为监控STM32和GPRS…
实现功能概要 单片机定时使用http访问云端的程序版本, 如果版本不一致,然后通过http下载最新的升级文件,实现远程升级STM32. 兼容Air202,SIM800 测试准备工作(默认访问我的服务器,改为自己的服务器,请看后面说明) 一,下载BootLoader程序(请自行下载) 二,调整波动开关位置,STM32和GPRS 串口1 通信 三,别忘了插手机卡,还有安装上天线 四.准备两个串口模块,两个串口模块的RX,分别接到单片机的PA9和PA10. 4.1注:此为监控STM32和GPRS之间的…