Zephyr 中的 BeagleConnect Freedom 开发板:CC1352P7 双频无线 SoC 的入门指南
2026/9/16 19:16:12 网站建设 项目流程

Zephyr 中的 BeagleConnect Freedom 开发板:CC1352P7 双频无线 SoC 的入门指南

【免费下载链接】zephyrPrimary Git Repository for the Zephyr Project. Zephyr is a new generation, scalable, optimized, secure RTOS for multiple hardware architectures.项目地址: https://gitcode.com/GitHub_Trending/ze/zephyr

导读

本文围绕 Zephyr 官方仓库中 BeagleConnect Freedom 开发板支持文档,介绍这款基于 TI SimpleLink 多协议无线 MCU CC1352P7 的物联网开发板的硬件构成、引脚功能、Zephyr 板级支持现状以及烧录环境搭建。读完本文,你将掌握 BeagleConnect Freedom 的引脚分配与各外设(UART、I2C、SPI、PWM、ADC、IEEE 802.15.4、BLE)在 Zephyr 下的使用方法,并能通过west flash完成固件烧录。

板卡概述

BeagleConnect Freedom 是 BeagleBoard.org 推出的一款无线物联网开发板,核心是 TI 的 SimpleLink 多协议 CC1352P7 无线 MCU。它是 BeagleConnect 系列首款发售的解决方案,出厂即预编程、开箱即用,由一个板卡和一个外壳组成。

从 Zephyr 的角度看,BeagleConnect Freedom 板卡运行 Zephyr RTOS,并带有两个 mikroBUS 端口以及 BLE 与 Sub-GHz 双频段无线电:

  • 48 MHz Arm Cortex-M4F SoC(CC1352P7)
  • 蓝牙低功耗(BLE)IEEE 802.15.4无线连接
  • 两个 mikroBUS 扩展端口,可对接海量 Click 扩展板
  • 板载TI MSP430F5503 微控制器,用作 USB 转串口桥接器与 GPIO 扩展器

注意版本差异:Rev C5 是预量产版本,使用 TI CC1352P MCU;Rev C7 是量产版本,使用 TI CC1352P7。仓库中为两个版本分别维护了对应的设备树与 defconfig(见下文「版本与构建目标」)。

支持的 Zephyr 特性

Zephyr 为 BeagleConnect Freedom 提供的板级支持覆盖了该板卡的主要外设。以量产版 CC1352P7 为例,板卡 YAML 元数据 中明确列出的受支持子系统包括:

功能说明
gpioGPIO 输入输出
i2cI2C 总线(含板载传感器与 MSP430 桥接器)
spiSPI 总线(板载 SPI Flash 与 mikroBUS 端口)
uartUART 串口(控制台)
hwinfo硬件信息读取
adc模拟采样通道
pwmPWM 输出
flashFlash 存储与分区管理

这些特性在 beagleconnect_freedom-common.dtsi 中逐一以status = "okay"形式使能,例如:

  • UART0 / UART1:均配置为 115200 波特率。UART0 面向带 MSP430 的一侧(远离电池座),UART1 面向带电池座的一侧,设备树中已为两者分配了 pinctrl 引脚。
  • I2C0:以I2C_BITRATE_FAST(400 kbit/s)运行,通过 GPIO DIO14 控制的gpio-i2c-switch为板载传感器供电,总线上挂载了 TI OPT3001 光照传感器(地址 0x44)与 TI HDC2010 湿度传感器(地址 0x41),并挂载了beagle,usbbridge(MSP430,地址 0x4)。
  • SPI0:三个片选分别对应板载 SPI Flash(GD25Q16C,2 MiB,jedec,spi-nor)以及 mikroBUS 端口 1、2。
  • IEEE 802.15.4ieee802154g):被选为zephyr,ieee802154,即 Zephyr 网络栈的默认 802.15.4 设备。
  • ADC0:预配置了 MB1 AN、MB2 AN、SCL、SDA、MB2 CS、MB1 CS 共 6 个 12 位采样通道。
  • PWM0 / PWM1:分别映射到 mikroBUS 端口 1(DIO17)与端口 2(DIO19)的 PWM 引脚。

板载 LED 与按键也通过标准 Zephyr 抽象暴露:led0(DIO18,2.4 GHz 收发指示)与button0(DIO15,BOOT 按键,低电平有效并带上拉),并通过aliases提供mcuboot-button0watchdog0等别名。

引脚连接与功能

下面完整列出 BeagleConnect Freedom 的引脚功能分配(含正反两面标注图):

PinFunctionUsage
DIO5RST_MB2Reset mikroBUS port 2
DIO6RST_MB1Reset mikroBUS port 1
DIO7INT_SENSOROn-board sensor interrupts
DIO8FLASH_CSSPI flash chip-select
DIO9SDO / PICOSPI serial data output
DIO10SCKSPI serial clock
DIO11SDI / POCISPI serial data input
DIO12CC1352_RXUART RXD mikroBUS port 1 or MSP430
DIO13CC1352_TXUART TXD mikroBUS port 1 or MSP430
DIO14I2C_CTRLEnable on-board sensor I2C bus
DIO15USER_BOOTBOOT button status
DIO16INT_MB1INTERRUPT PIN on mikroBUS port 1
DIO17PWM_MB1PWM PIN on mikroBUS port 1
DIO18LED_LINKRadio link indicator LED
DIO19PWM_MB2PWM PIN on mikroBUS port 2
DIO20INT_MB2INTERRUPT PIN on mikroBUS port 2
DIO21MB2_RXUART RXD on mikroBUS port 2
DIO22MB2_TXUART TXD on mikroBUS port 2
DIO23AN_MB1ANALOG PIN on mikroBUS port 1
DIO24AN_MB2ANALOG PIN on mikroBUS port 2
DIO25SCLI2C SCL
DIO26SDAI2C SDA
DIO27CS_MB2SPI CS on microBUS port 2
DIO28CS_MB1SPI CS on microBUS port 1
DIO29REF_SW_CTRL1Antenna mux PA enable
DIO30REF_SW_CTRL2Antenna mux SubG enable

将这些引脚与设备树/pinctrl 对照,可以看到完整的映射关系(见 beagleconnect_freedom-pinctrl.dtsi):

  • UART0:TX=DIO13、RX=DIO12(IOC_PORT_MCU_UART0_TX/RX),对应 mikroBUS 端口 1 或 MSP430 桥。
  • UART1:TX=DIO22、RX=DIO21(IOC_PORT_MCU_UART1_TX/RX),对应 mikroBUS 端口 2。
  • I2C0:SCL=DIO25、SDA=DIO26,配置为开漏输出与上拉;休眠状态下两个引脚切回普通 GPIO。
  • SPI0:SCK=DIO10、MOSI=DIO9、MISO=DIO11,片选为 DIO8(Flash)、DIO28(MB1)、DIO27(MB2)。
  • PWM:DIO17 复用为IOC_PORT_MCU_PORT_EVENT1,DIO19 复用为IOC_PORT_MCU_PORT_EVENT3,两者驱动强度设置为 2。

天线开关与双频段射频路径

BeagleConnect Freedom 板载一个 SKY13317-373LF 天线开关,用于根据当前使用的 PHY 选择正确的射频通路。设备树(beagleconnect_freedom-common.dtsi)中记录的真值表如下:

PathDIO29DIO30
Off00
Sub-1 GHz01(DIO30 复用为 IOC_PORT_RFC_GPO0 自动控制)
20 dBm TX10(DIO29 复用为 IOC_PORT_RFC_GPO3 自动控制)

其实现位于 board_antenna.c:通过RFCC26XX_hwAttrsglobalCallback挂接 TI 射频驱动的全局事件回调,订阅RF_GlobalEventRadioSetupRF_GlobalEventRadioPowerDown事件。当收到 Radio Setup 事件时,回调解析命令中的loDivider判断是否为 Sub-1 GHz 模式,并结合发射功率表类型(是否 High PA)调用pinctrl_apply_state切换三组 pinctrl 状态之一(default/ant_subg/ant_subg_pa),从而自动选择 2.4 GHz 或 Sub-GHz 天线通路。该逻辑由CONFIG_CC13X2_CC26X2_HAS_CUSTOM_RF_HWATTRS使能,板级初始化优先级通过 Kconfig 中的BOARD_ANTENNA_INIT_PRIO(默认 70)控制,要求大于设备初始化优先级且小于 IEEE 802.15.4 Sub-GHz 驱动的初始化优先级。

Flash 分区布局

BeagleConnect Freedom 采用 MCUboot 引导方案,内部 Flash 与外部 SPI Flash 均定义了分区(见 beagleconnect_freedom_cc1352p7.dts):

  • 内部 Flashboot_partition(mcuboot,56 KiB)+slot0_partition(image-0,640 KiB),并刻意避开 CCFG 配置区。
  • 外部 SPI Flash(GD25Q16C,2 MiB)slot1_partition(image-1,640 KiB)+scratch_partition(image-scratch,128 KiB,用于镜像交换)+storage_partition(storage,1280 KiB)。

早期 CC1352P 版本(Rev C5)分区较小:mcuboot 40 KiB、应用槽 304 KiB、scratch 16 KiB、storage 1728 KiB(见 beagleconnect_freedom_cc1352p.dts)。

系统要求与固件烧录

前置条件

使用west flash烧录 Zephyr 固件前,需要安装cc1352-flasher工具:

pip3 install cc1352-flasher

烧录集成方式定义在 board.cmake 中:构建系统通过find_program查找cc1352_flasher可执行文件,并将 flasher 设置为misc-flasher,同时附加--bcf(BeagleConnect Freedom)参数,因此完成安装后即可直接执行:

west build -b beagleconnect_freedom@C7/cc1352p7 samples/hello_world west flash

版本与构建目标

BeagleConnect Freedom 在 board.yml 中声明了两种 SoC 与两个修订版本(C5/C7,采用自定义精确匹配格式)。对应的构建目标为:

  • beagleconnect_freedom@C5/cc1352p—— 预量产版,TI CC1352P
  • beagleconnect_freedom@C7/cc1352p7—— 量产版,TI CC1352P7

两者共享同一份beagleconnect_freedom-common.dtsi,仅 SoC 头文件、分区布局与 defconfig 有所区别。量产版 defconfig 的关键配置包括:

CONFIG_GPIO=y CONFIG_BUILD_OUTPUT_HEX=y # 天线开关自定义射频回调 CONFIG_CC13X2_CC26X2_HAS_CUSTOM_RF_HWATTRS=y # 启用 MCUboot 引导与 BOOT 按键后门 CONFIG_CC13X2_CC26X2_BOOTLOADER_ENABLE=y CONFIG_CC13X2_CC26X2_BOOTLOADER_BACKDOOR_ENABLE=y CONFIG_CC13X2_CC26X2_BOOTLOADER_BACKDOOR_PIN=15 # MPU 与硬件栈保护 CONFIG_ARM_MPU=y CONFIG_HW_STACK_PROTECTION=y # 默认 UART 控制台 CONFIG_SERIAL=y CONFIG_CONSOLE=y CONFIG_UART_CONSOLE=y # 晶振电容阵列补偿 CONFIG_CC13X2_CC26X2_XOSC_CAPARRAY_DELTA=0x02

值得留意的是,该 defconfig 启用了硬件栈保护与 MPU,适合作为学习 Zephyr 安全特性的实际参考;同时通过 BOOT 按键(DIO15)实现 MCUboot 后门进入方式。

小结与延伸阅读

BeagleConnect Freedom 是 Zephyr 支持较为完整的双频无线开发板:双 mikroBUS 端口让外设扩展灵活,CC1352P7 的 BLE + IEEE 802.15.4 + Sub-GHz 能力配合板载天线开关可覆盖多种物联网场景。在 Zephyr 仓库中,你可以继续深入阅读以下资源:

  • 板级设备树:beagleconnect_freedom-common.dtsi、beagleconnect_freedom_cc1352p7.dts
  • 引脚复用:beagleconnect_freedom-pinctrl.dtsi
  • 天线开关实现:board_antenna.c
  • 板级 Kconfig 与构建集成:Kconfig、board.cmake
  • 板卡元数据:board.yml、beagleconnect_freedom_cc1352p7_C7.yaml

【免费下载链接】zephyrPrimary Git Repository for the Zephyr Project. Zephyr is a new generation, scalable, optimized, secure RTOS for multiple hardware architectures.项目地址: https://gitcode.com/GitHub_Trending/ze/zephyr

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询