stm32 bootloader + VS串口上位机

stm32 bootloader + VS串口上位机

最近想把之前未成功的二轮平衡车在折腾下,之前调试改参数每次都要插上线进行下载程序,有些麻烦,想通过无线(蓝牙串口)进行bootloader进行。附件是我通过mini开发板和vs制作修改的程序,大致流程如下,上位机发送ff请求进行boot,下位机收到后,先擦除flash,然后发送aa请求上位机发送bin文件字节大小,分两部分发送,比如说5.8k,先发送5,在发送8;下位机收到字节大小后,发送55请求发送bin内容,上位机一次发送1k个字节,发送完后将不够1k字节的数据最后发送,下位机的接收缓冲buff为1k字节,每收1k写1k,写完后,按下按键3进入app程序。上位机我不是太熟,东拼西凑的,可以做参考使用。
一、关于bootloader原理就不多说了,好多大神的文章写的很详细
附件中bootloader的截止地址为0x8003400,这个在boot和app程序中均要设置,另外,app的中端偏移地址也要设置偏移0x3400,这个要注意;
二、hc05蓝牙如何设置
两个hc05蓝牙模块A和B
1、连接好电源、地、tx和rx;
2、将A和B都恢复成默认模式,用AT+ORGL;将A和B的配对密码设置一样,用AT+PSWD;
3、将A设置成主模式,B设置成从模式,用AT+ROLE;
4、查询B的地址用AT+ADDR;
5、蓝牙A绑定蓝牙B用AT+BIND=(B的地址);要把地址的冒号改成逗号;
6、重新上电后A和B会自动连接,可以用两个串口先试试。
进入AT模式要一直按着蓝牙模块的小按钮。
如果电脑端用的是usb蓝牙模块,上位机用串口控件不行,折腾了好长时间,得用类;
三、如何生成bin文件
可以参考如下链接

[https://blog.csdn.net/LZANDLC/article/details/82927316]

四、注意事项
1、stm32 内存大的,写flash是2kb大小写的,附件是1kb擦写的,移植的时候要注意;
2、读写通信未加任何校验,可自行增加;
3、从app往bootloader跳转时,最好用看门狗复位的办法。
试了两个app工程暂时没发现问题。下载地址如下:
https://download.csdn.net/download/weixin_31507479/12136935

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值