STM32 无线下载程序(非IAP)

本文介绍了如何使用STM32无线下载程序的方法,通过ESP8266的透传模式,实现STM32的无线串口下载。关键在于监测连续的0x7F信号,控制Boot0和STM32的复位,以及ESP8266的初始化和配置。
摘要由CSDN通过智能技术生成

        STM32利用串口下载是最便宜的一种下载方式,但是利用串口下载需要操作STM32的RST、Boot0两个引脚,在此需要单独加一个下载辅助控制器(STC15F104)。  要无线下载STM32程序需知道在有线情况下串口如何下载程序,简要来说下载完整过程简要如下:

   1.将Boot0拉高,接着复位STM32

   2.PC端串口会不断发送0x7F,与STM32握手(STM32自适应波特率),STM32收到7F后,会返回 0x79 0xF1

   3.串口下载软件识别返回的字节会会接着进一步发送其他控制指令,就这样PC端与STM端不断收发即完成了下载程序。

   4.在下载完后,将Boot0置低,接着RST复位STM32.

无线下载时只需注意到两次复位即Boot0电平变化即可,所以简单来说只需:辅助单片机STC监测串口中有无连续5个以上的 0x7F(也可以多几个),将Boot0拉高,立即复位STM32,接着STC等待串口中无数据后再将Boot0拉低,接着复位STM32即可。

  无线串口利用ESP8266  的透传模式,即A端发什么,B端就收什么(A、B两者能互发),由于ESP8266断电后会自动关闭透传模式,故每次上电时需要STC单片机初始化下ESP8266为透传模式。无线下载机构如下(PC端也需上电初始化为透传模式):

STC主要电路:

 

PC端串口下载软件:

 

STC程序部分:

// STC15F104  程序  for STM32 Download
//   STM32下载串口为偶校验
// 模拟串口设置为115200bps  偶校验
// ESP8266wifi为STA模式

// PC端8266为AP模式,需首次设置AT+CWSAP="STM32Download","Download01",7,3    掉电仍保存

//PC端的8266需AT+CIPSTART="UDP","192.168.4.2",40000,40000,0  设置目标的发送地址,不一定时192.168.4.2,需先看下对方IP,一般无第三者加入此地址不会变的

// PC端再发送: AT+CIPMODE=1     AT+CIPSEND  两个指令即完成PC端的设置
//  从站端,下载目标端程序
//  目标开发板Boot0需下拉,否则初始开机时程序非正常启动,且无法正常发送初始指令给8266模块
#include

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值