一、环境
- 硬件平台:潘多拉开发板
- rt-thread版本:v4.1.0
- 编译平台:gcc
- 依赖的package: easy_flash, fal, wlan_wiced, stm32_sdio, mymqtt
二、使用过程
1、更改配置
在bsp目录,打开ComEmu
运行menuconfig
:
-
使能wifi
wifi依赖这些包:easy_flash, fal, wlan_wiced, stm32_sdio。wifi使能后这些包会自动选中 -
使能mymqtt包
这个包确实比Paho MQTT
好用,至少整个编译过程没报错,最好把例程也选上:
这个软件包的介绍在这里 -
需要使能rt-thread组件前向支持
2、更新软件包并编译
分别运行
pkgs --updata
scons -jN // cup是几核心 N就最大是几
但是编译完后,发现生成bin文件超过了512k , stm32l475flash只有512kb,报链接错误。
根本原因还是这个wlan_wiced软件包wifi的静态链接库有点大 338kb
而开发板官方例程,用的是旧版库,小多了,只有127kb
所以尝试修改rtconfig.py
文件
BUILD = 'release'
'''
因为如果是debug,优化等级就是O0,所以把'debug'改成了'release'
'''
if BUILD == 'debug':
CFLAGS += ' -O0 -gdwarf-2 -g'
AFLAGS += ' -gdwarf-2'
else:
CFLAGS += ' -O2'
# CFLAGS += ' -Os'
优化等级设为o2 或 os后,编译出来固件大大减小
3、下载、测试
自己用手机开了一个热点。让板子连网
然后测试mqtt:
publish
可以看到,成功执行了订阅回调
再测试一下,取消订阅:
把热点关掉,测试断网回调及重连: