1:使用SDK的demo: bl602_demo_wifi工程
此demo路径在sdk的:customer_app/ble602_demo_wifi
sdk获取路径在安信可官网WB2-32S下
官网的linux环境sdk有一些问题,编译前需要修改一些配置信息,具体参考官网教程和教程的评论区
2:打开main.c,添加wifi连接信息
找到main.c中的函数: static void _connect_wifi()
在此函数中有一行函数:
wifi_interface = wifi_mgmr_sta_enable();这个是打开wifi的函数
(最底下有连接wifi的函数)
在wifi_mgmr_sta_enable()这个函数之前配置wifi信息
/*删除flash中原有的wifi信息*/
ef_del_env((const char *)WIFI_AP_PSM_INFO_SSID);
ef_del_env((const char *)WIFI_AP_PSM_INFO_PASSWORD);
ef_del_env((const char *)WIFI_AP_PSM_INFO_PMK);
// ef_del_env((const char *)WIFI_AP_PSM_INFO_CHANNEL);
// ef_del_env((const char *)WIFI_AP_PSM_INFO_BSSID);
/*设置新的wifi信息*/
ef_set_and_save_env((const char *)WIFI_AP_PSM_INFO_SSID, "TP-LINK_30F0");
ef_set_and_save_env((const char *)WIFI_AP_PSM_INFO_PASSWORD, "147258369");
3:编译: ./genromap
刚下载的SDK会有一些问题
编译前
sudo vi ./genromap
:set ff=unix
:wq
可以编译了: sudo ./genromap
4:使用make flash_only命令下载也会有问题:
修改如下:
路径下H:\share\bl_iot_sdk\make_scripts_riscv\project.mk内容
修改flash_only区域如下
flash_only:
cd $(BL60X_SDK_PATH)/tools/flash_tool && \
env SDK_APP_BIN=$(APP_BIN) \
SDK_BOARD=$(PROJECT_BOARD) \
SDK_NAME=$(PROJECT_NAME) \
SDK_MEDIA_BIN=$(APP_MEDIA_BIN) \
SDK_ROMFS_DIR=$(APP_ROMFS_DIR) \
SDK_DTS=$(PROJECT_DTS) \
SDK_XTAL=$(PROJECT_BOARD_XTAL) \
BL_FLASH_TOOL_INPUT_PATH_cfg2_bin_input=$(APP_BIN) \
./bflb_iot_tool-ubuntu --chipname=BL602 --baudrate=115200 \
--port=/dev/ttyUSB0 \
--pt=$(PROJECT_PATH)/img_conf/partition_cfg_4M.toml \
--dts=$(PROJECT_PATH)/img_conf/bl_factory_params_IoTKitA_40M.dts --firmware=$(APP_BIN)
在需要编译的demo工程目录下添加img_conf文件夹
在文件夹下放入如下文件,自己在工程下搜索
(这些文件具体路径在
bl_iot_sdk\tools\flash_tool\chips\bl602下的device_tree和partition文件夹)
5:其他编译注意事项:
此SDK时采用模块化,当编译提示找不到某些文件时,大概率没有添加功能模块
在Makefile中需要按照demo示例进行修改INCLUDE_COMPONENTS
还有proj_config.mk也要使能相应的功能#define