单片机/MCUwilliam hill官网
直播中

jf_63540249

3年用户 17经验值
擅长:嵌入式技术 接口/总线/驱动 控制/MCU RF/无线
私信 关注

【xG24 Matter开发套件试用体验】开发环境搭建和开发流程体验

EFR32xG24 Explorer Kit 开发套件的主芯片是EFR32MG24 无线 SoC,支持Zigbee,BLE,专有2.4G等多种协议。

datasheet和EFR32xG24 Explorer Kit User's Guide两个文档连个文档很优秀,可以快速了解主芯片和开发板的组成和相关功能。

image.png

开发板上硬件资源和连接口:

  • EFR32MG24 Wireless Gecko SoC with 78 MHz operating frequency, 1536 kB kB flash, and 256 kB RAM
  • 2.4 GHz matching network and ceramic antenna for wireless transmission
  • 两个LED和两个按钮
  • USB Type-C电缆连接的板载SEGGER J-Link调试器可进行程序烧录和调试;一个usb虚拟串口提供了一个到目标应用的串口连接;
  • 套件包含的mikroBUS™ socket and Qwiic® connector,允许使用者用已有的板子添加功能到套件
  • 套件支持Simplicity Studio ,并提供给BSP给应用程序开发人员一个快速的开端

image.png

image.png

板载的J-Link调试器通过SWD接口连接EFR32MG24芯片,VCOM虚拟串口连接到芯片的USART1

image.png

开发环境

官方的Simplicity Studio® 开发环境,集成了代码编辑,编译和调试,并可快速查看设备相关的资料文档链接,软件SDK下载,可视化的硬件引脚和功能配置等,功能相对完备,搭配开发板,可以快速开始开发。

安装Simplicity Studio后,用USB Type-C线连接开发板,软件会自动识别出开发板,显示开发部和芯片信息;

在Install页面可以下载安装开发板和芯片相关的资源包和SDK,可以自动安装也可以收到选择所需的部分;
image.png

安装SDK后,设备信息页面会显示开发板和芯片相关信息和资料,SDK资料等;
image.png

workspace和SDK下载到的位置
image.png

点击创建工程,创建向导会提示选择目标设备,SDK和编译工具类。然后选择基于例程创建或创建空白的工程;
image.png

image.png

我选择的是bt_soc_blinky例程,此例程可以通过蓝牙控制板子上的LED亮灭,并可以通过蓝牙上报板子上按钮的状态;

创建工程后,.slcp工程概览页面中,会展示例程的介绍,芯片信息,以及常用工具的链接,比如可视化的引脚配置工具,蓝牙GATT属性配置等工具。
image.png

Build Object

10年老旧电脑,编译用时1分7秒
image.png

Debug调试
进入debug页面,但无法正常运行,断点无效。
image.png

分析发现调试器和芯片连接是正确的,但程序启动异常,网上搜索后发现是此例程依赖boot程序。

创建对于的boot程序工程,编译后调试,boot程序可以正常进行单步调试等操作。
image.png

再次烧录bt_soc_blinky例程并调试,例程也可以正常调试运行了。
image.png

测试蓝牙控制

用手机上的蓝牙app尝试搜索连接设备的蓝牙,默认蓝牙名称为Blinky Example

image.png

image.png

官方提供了一个蓝牙测试demo APP: EFRConnect

https://github.com/SiliconLabs/SimplicityConnect-android/tree/master/build

使用说明

https://docs.silabs.com/mobile-apps/latest/mobile-apps-demos-overview/

安装官方的测试APP demo,通过Blinky这个功能页面,可以搜索并连上设备,点击灯泡可以控制板子上LED的亮灭,板子上按钮按下,APP上的按钮状态也会跟着变化。
image.png

APP界面
image.png

点击APP上的灯泡后,可以控制开发板上的LED灯亮灭,实测效果如下

image.png

APP demo应该是根据蓝牙名称来搜索过滤设备的,所以测试时候不要修改设备的蓝牙名称,否则会搜不出来。

调试串口使用

通过板载的USB接口连上电脑会出现一个虚拟串口,此虚拟串口可连接到芯片的调试串口,查看调试信息,波特率115200。

初次连接上后,无任何打印信息,且打开此虚拟串口后无法连上芯片的蓝牙了。

经过调试发现是原因是:代码中串口硬件配置使能了流控,而我电脑上打开串口时没有使能流控,造成串口输出异常。

重新测试,电脑上串口工具打开串口时也打开流控,串口有输出了,蓝牙连接也正常了。

image.png

也可以通过可视化的串口配置页面来禁用流控后,修改配置后重新编译烧录即可

image.png

至此,开发环境和开发板相关资料已齐备,例程编译烧录运行流程也跑通了,后续可以开始研究代码和芯片详细功能,开始愉快玩耍了。

更多回帖

发帖
×
20
完善资料,
赚取积分