新手上路
- 积分
- 39
- 金钱
- 39
- 注册时间
- 2019-7-25
- 在线时间
- 10 小时
|
1.设备在现场出现了问题,若是能通过手机展示日志分析问题,在通过手机更新固件程序,是不是很方便!若不是软件问题就可以直接甩锅啦,cool!
2.需要知道的
主要硬件:1: mcu - stm32f103re 2: ble模块-串口 bate 57600
2.1 IAP 制作。参考原子的教程:http://www.openedv.com/posts/list/11494.htm。原子是一次性传输,不适用超过RAM大小的固件。我自己做的IAP 主要加了一个自定义的传输协议。把固件分批次用协议传输进来进行烧写。
2.2 协议流程
a.复位芯片从项目app进入iap,项目app里也要加入此协议。
b.烧写握手,避免检测跳转
c.检测固件大小是否超限
d.分批次下载固件
e.引导进入app 跳转
f.这里有个特别注意的蓝牙升级存在中途失败的可能,若是中途失败了,芯片重新上电,依然可能会跳转成功但是APP不能正常运行,而手机连接蓝牙需要时间操作。所以一定要加个更新成功的标记,否则不可以 跳转。我是写在flash中的。
3上位机:加载BIN文件烧写。
软件使用:先扫描获取串口,连接主控。
4微信小程序:
主要功能
4.1 打印蓝牙数据,可以用来指示日志,目前是打印16进制字符样式,需要上位机自己解析文件,后面考虑更新。
4.2 转发日志,转发到聊天
4.3 下载固件。
小程序没有普通工作线程,目前还没找到合适方法做通讯同步,只能用定时器2000ms发一次检测一次做同步,很慢。有更好的方法请指教。小程序的坑不少.
附件资料+源码,有人需要在更新吧!
|
|