使用本站提供的SDK,WM-W800-SDK-202207-V1.00.08这套SDK,然后打开W800_SDK/W800_SDK.cdkproj工程(使用NIMBLE协议栈的工程),编译后生成fls固件,烧录到W801,通过串口输入t-bt-on()回车发送,显示内容如下:
[WM_I] <0:00:03.988> bt system running, uart_no=255, log_level=6
CAUTION::CONTROLLER ALLOC MEMFAILED
assertion "0" failed: file "wmip.c", line 307, function: wmip_init
这个wmip.c文件不存在,感觉是在libbtcontroller.a静态库里面的。反正说内存报错。还有这个固件,居然使用malloc,free。
我以前都没注意到这个问题,今天想再玩玩NIMBLE协议栈,发现就不行了。用原来那个SDK(wm_sdk_w80x_20211115.zip),编译工程,烧录又是好好的。 这咋整?官方,能用点心,做了测试才发出来吗?
在做测试前,需要把demo/wm_demo.h文件里所有模块都配置为DEMO_ON,DEMO_CONSOLE也设置为DEMO_ON。烦请以后发新SDK时,都拿板子测试过没问题再发。现在我要用回来的SDK来学NIMBLE协议栈了。早知道我就用ESP32了。真晦气。