BL602是博流出的一款 WIFI/BLE一体的单芯片解决方案。
第一:下载SDK
首先从官网下载最新的SDK bl_iot_sdk 版本是:release_bl_iot_sdk_1.6.39-238-gf5ba0a7ee
第二:编译 SDK
进入目录\bl_iot_sdk\customer_app\bl602_demo_event 中
linux 下执行 ./genromap 等待编译结束。备注:具体编译方法可以参考官方文档,我主要说明下,编译不同脚本的含义。
![](https://i-blog.csdnimg.cn/blog_migrate/9c3ae21612f5f009b6eee7734dd3f848.png)
有6个脚本可以选择编译
# Ble编译脚本说明
genblecontroller: 编译WIFI和BLE控制器,使用串口HCI指令和BLE控制器通讯。这个意思就是BLE应用层和协议栈控制层是分开的,在两个不同的芯片上,使用串口HCI发送指令来控制整个蓝牙,这样的好处是 WIFI和BLE应用层可以放在一个芯片中作为主控制。
genblehogp: 编译WIFI和BLE,BLE作为从设备,并且使能HOGP服务(BEL HID设备)。
genblem0s1: 编译WIFI和BLE,1个BLE 连接支持,并且bl602是从设备。
genblem0s1s: 编译WIFI和BLE. 在 genblem0s1 的基础上, 增加BLE扫描特性。
genblemesh: 编译WIFI和BLE mesh. mesh application without mesh model code.
genblemeshmodel: 编译WIFI和 BLE mesh. mesh application with mesh model code.
genromap: 编译WIFI和BLE. BLE 支持所有角色, 2个BLE连接支持, 并且使能 tp 服务.
每个脚本的配置内容如下:
![](https://i-blog.csdnimg.cn/blog_migrate/9db9ebf237a0ecdebfe14e82ced2c0bc.png)
![](https://i-blog.csdnimg.cn/blog_migrate/418a551675e356607ec96c07eebe9c9a.png)
![](https://i-blog.csdnimg.cn/blog_migrate/752d84187ec62ec7cc32a6f0cfdac1ad.png)
![](https://i-blog.csdnimg.cn/blog_migrate/429b1544ff8ee3f089134baf7e3ca5b8.png)
![](https://i-blog.csdnimg.cn/blog_migrate/8f17cc6f9d23f55225053c360e6900df.png)
genblemesh脚本内容:
#!/bin/sh
make CONFIG_CHIP_NAME=BL602 CONFIG_LINK_ROM=1 CONFIG_BT_MESH=1 CONFIG_BT_MESH_MODEL=0 CONFIG_BT_SETTINGS=1 CONFIG_BT_CONN=2 CONFIG_BT_ALLROLES=0 CONFIG_BT_CENTRAL=0 CONFIG_BT_PERIPHERAL=1 CONFIG_BT_OBSERVER=1 CONFIG_BT_BROADCASTER=0 CONFIG_DISABLE_BT_SMP=1 CONFIG_DISABLE_BT_HOST_PRIVACY=1 CONFIG_BLE_MULTI_ADV=0 -j
exit $?
接着看,编译好后,生成build_out文件夹 bl602_demo_event.bin 就是要烧录的文件
第二:烧录bin文件
打开烧录软件
![](https://i-blog.csdnimg.cn/blog_migrate/863e88b299f1c867476ce3c586c16b96.png)
选择 BL602/604,【确认】
![](https://i-blog.csdnimg.cn/blog_migrate/9bfcff43a7c8ab7a7d3a3bb141274ab7.png)
配置参数,然后烧录
![](https://i-blog.csdnimg.cn/blog_migrate/1ea2a88c37bc2e0e7ee7ff96ff6c99be.png)
dts = //wsl.localhost/Ubuntu-22.04/home/chenbo/bl602/bl_iot_sdk/tools/flash_tool/chips/bl602/device_tree/bl_factory_params_IoTKitA_40M.dts
这个和你板子的晶振有关。
boot2 = //wsl.localhost/Ubuntu-22.04/home/chenbo/bl602/bl_iot_sdk/tools/flash_tool/chips/bl602/builtin_imgs/boot2_isp_bl602_v6.4_rc6/boot2_isp_dts
partition table = //wsl.localhost/Ubuntu-22.04/home/chenbo/bl602/bl_iot_sdk/tools/flash_tool/chips/bl602/partition/partition_cfg_4M.toml
fireware = //wsl.localhost/Ubuntu-22.04/home/chenbo/bl602/bl_iot_sdk/customer_app/bl602_demo_event/build_out/bl602_demo_event.bin
运行
![](https://i-blog.csdnimg.cn/blog_migrate/f77792ac4f5bff1cac78594ca8ae3e0f.png)
进入间隔一段时间打印 proc_hellow_entry:RISC-V rv32imafc 字符串表明已经正常运行。
我的开发板使用 Ai-WB2-12F
附上SDK 开发文档:
快速入门 — BL IoT SDK release_bl_iot_sdk_1.6.39-238-gf5ba0a7ee 文档 (bouffalolab.github.i