上一篇:蓝牙 Mesh 网络及 SDK 概述 | 《无需从0开发 平头哥教你1天上手蓝牙Mesh应用解决方案》第一章
下一篇:蓝牙 Mesh 标准 Model 开发指南 | 《无需从0开发 平头哥教你1天上手蓝牙Mesh应用解决方案》第三章
点击免费下载
《无需从0开发 平头哥教你1天上手蓝牙Mesh应用解决方案》>>>
1. 简介
本文介绍如何使用CB6121 开发板进行MESH Light的功能演示。通过本文的指引,开发者可以学会开发环境的搭建、SDK 的编译与烧录、基本调试方法,快速上手 CB6121 的开发。
2. 开发环境搭建
2.1 准备
2.2 Linux 开发环境搭建
● Linux 环境搭建
Win10 用户,建议前往应用商店下载安装 Ubuntu18.04 LTS;其他用户可自行选择安装 Linux 或者虚拟机。
● 工具链安装
$ tar -jxvf gcc-arm-none-eabi-8-2018-q4-major-linux.tar.bz2
● 环境变量中添加工具链路径并使其立即生效,其中 toolchain_path 为工具链解压的目录
$ vi ~/.bashrc ... PATH={toolchain_path}/bin:$PATH ... $ source ~/.bashrc
● 验证工具链是否安装成功
$ arm-none-eabi-gcc -v ... gcc version 8.2.1 20181213 (release) [gcc-8-branch revision 267074](GNU Tools for Arm Embedded Processors 8-2018-q4-major)
● 安装 make 工具
$ sudo apt-get install make
2.3 仿真器驱动安装
● 双击 JLink_Windows_V620f.exe。
● 点击下一步直到安装完成。
● 打开 JLink GDB Server, 选择 Target Device 为 Cortex-M0。
2.4. 开发板准备
CB6121开发板资源介绍
3. 编译烧录及调试
3.1 编译
● 例程编译方法
使用 build.sh 脚本编译,命令格式为 ./build.sh < 示例目录 >
[ 多线程数 ]
$ make clean $ ./build.sh defconfigs/defconfig_ch6121_evb_mesh_node applications/ bluetooth/mesh_light_node/ j64
● 编译后固件位于 applications/bluetooth/meshlightnode/generated
$ ll applications/bluetooth/mesh_light_node/generated ...... -rwxrwxrwx 1 xxx xxx 652920 Mar 13 19:03 total_image.hexf* ....
● 编译成功将输出如下图所示信息
● 各个示例对应配置文件说明
3.2 镜像烧录
● 打开烧写工具 PhyPlusKit.exe。 ● 勾选UART Setting,选择开发板串口,串口配置为波特率:115200,停止 位:1,校验:NO。 ● 点击 Connect, 连接串口。 ● 选择 Flash_writer 标签页。 ● 选择 HEX 烧入方式标签页。 ● 双击选择applications/bluetooth/meshlightnode/generated/total_image.hexf。
● 下方选择 Single 标签,TYPE 选择 MAC,VALUE 填写 MAC 地址。 ● 将拨码开关拨到 VDD TM 。
● 按开发板上的 RESET 按键,重启开发板,串口打印 UART RX : cmd>>。 ● 点击 Erase 擦除。 ● 点击 Write 烧写。
● LOG 区域显示烧录过程。
3.3 GDB 调试
● 打开 JLink GDB Server,连接开发板
● 编辑 Linux 环境中配置 GDB 环境变量并保存后退出 , 其中 2331 为默认端口号
$ cd applications/bluetooth/mesh_light_node $ vi .gdbinit target remote 127.0.0.1:2331
● 运行 GDB,开始调试,调试镜像为 yoc.elf
$ arm-none-eabi-gdb yoc.elf -x .gdbinit
● 若出现无法连接或长时间无响应,请确认
工程目录下是否存在 .gdbinit 文件
JLink GDB Server 是否成功连接开发板
.gdbinit 文件中的 IP 地址是否正确
● 常用 GDB 命令
4. 例程运行
基于 CB6121 开发板的灯控示例工程
● 连接串口调试工具 , 配置为
波特率 : 115200, 数据位 : 8, 校验位 : None, 停止位 : 1, 流控 : None
● 开发板拨码开关拨至 GND
● 按 RESET 按键,复位开发板
● MESH Light 启动 Log 如下
[ 0.004000][I][init ]Build:Mar 24 2020,21:52:51
[ 0.017000][I][init ]find 9 partitions
Welcome to CLI...
> [ 0.738000][I][DEMO ]Mesh light node demo
● 关于灯控配网请参考《蓝牙 Mesh 灯控开发指南》
添加班级群
阅读完今日份的文章分享后,别忘了打开钉钉APP,扫描下方训练营班群二维码👇,参与今日课程直播或观看直播回放,群内不定时配备讲师答疑~
学习完课程视频后,我们今天的学习才算正式结束哦~