BLE-BG24

更新时间:2026-01-28 01:59:46下载pdf

本文介绍 TuyaOS 开发过程中芯片平台相关的基本信息,更多关于 TuyaOS 的信息,请参考 TuyaOS 开发者论坛

硬件环境

芯片手册

  • 获取方式一:接入蓝牙子设备开发框架后,在 vendor\bg24_ble\documents\ 路径下,获取 Datasheet 以及 Reference manual。
  • 获取方式二:访问芯科官网,并在 文档中心 获取最新资料。

开发板

硬件外设

外设与对应 GPIO 描述

  • 由于模组无需引出所有引脚,故 SDK 内部会存在 GPIO 复用的情况。
  • 您可以根据业务内容自行更替 board_gpio.h 相关引脚。

GPIO

SDK 默认使用的芯片型号为 EFR32BG24A020IM40,以下外设均按照该芯片进行描述。如需更换为 48 引脚封装的芯片型号,请在 app_config.h 文件中将 BOARD_GPIO_MAX 定义为 48

在 TuyaOS 中,操作指定的 I/O(Input/Output)时,需要使用对应的 I/O 序号作为入参。对于 BG24 系列芯片平台,GPIO 序号与实际 I/O 引脚的对应关系如下表所示:

QFN40
GPIO 编号 端口引脚 GPIO 编号 端口引脚
TUYA_GPIO_NUM_1 PC00 TUYA_GPIO_NUM_2 PC01
TUYA_GPIO_NUM_3 PC02 TUYA_GPIO_NUM_4 PC03
TUYA_GPIO_NUM_5 PC04 TUYA_GPIO_NUM_6 PC05
TUYA_GPIO_NUM_7 PC06 TUYA_GPIO_NUM_8 PC07
TUYA_GPIO_NUM_16 PB04 TUYA_GPIO_NUM_17 PB03
TUYA_GPIO_NUM_18 PB02 TUYA_GPIO_NUM_19 PB01
TUYA_GPIO_NUM_20 PB00 TUYA_GPIO_NUM_21 PA00
TUYA_GPIO_NUM_24 PA03 TUYA_GPIO_NUM_25 PA04
TUYA_GPIO_NUM_26 PA05 TUYA_GPIO_NUM_27 PA06
TUYA_GPIO_NUM_28 PA07 TUYA_GPIO_NUM_29 PA08
TUYA_GPIO_NUM_37 PD03 TUYA_GPIO_NUM_38 PD02
TUYA_GPIO_NUM_39 PD01 TUYA_GPIO_NUM_40 PD00
QFN48
GPIO 编号 端口引脚 GPIO 编号 端口引脚
TUYA_GPIO_NUM_1 PC00 TUYA_GPIO_NUM_2 PC01
TUYA_GPIO_NUM_3 PC02 TUYA_GPIO_NUM_4 PC03
TUYA_GPIO_NUM_5 PC04 TUYA_GPIO_NUM_6 PC05
TUYA_GPIO_NUM_7 PC06 TUYA_GPIO_NUM_8 PC07
TUYA_GPIO_NUM_9 PC08 TUYA_GPIO_NUM_10 PC09
TUYA_GPIO_NUM_18 PB05 TUYA_GPIO_NUM_19 PB04
TUYA_GPIO_NUM_20 PB03 TUYA_GPIO_NUM_21 PB02
TUYA_GPIO_NUM_22 PB01 TUYA_GPIO_NUM_23 PB00
TUYA_GPIO_NUM_26 PA00 TUYA_GPIO_NUM_27 PA01
TUYA_GPIO_NUM_28 PA02 TUYA_GPIO_NUM_29 PA03
TUYA_GPIO_NUM_30 PA04 TUYA_GPIO_NUM_31 PA05
TUYA_GPIO_NUM_32 PA06 TUYA_GPIO_NUM_33 PA07
TUYA_GPIO_NUM_34 PA08 TUYA_GPIO_NUM_35 PA09
TUYA_GPIO_NUM_43 PD05 TUYA_GPIO_NUM_44 PD04
TUYA_GPIO_NUM_45 PD03 TUYA_GPIO_NUM_46 PD02
TUYA_GPIO_NUM_47 PD01 TUYA_GPIO_NUM_48 PD00

PWM

默认存在 5 路 PWM(占用 Timer0 三个通道以及 Timer1 两个通道,其中 Timer0、Timer1 均为 32 Bit 定时器)。

通道 端口引脚
0 PC01
1 PC02
2 PA04
3 PA05
4 PA06

UART

默认使用两组串口,且串口 0 对应 USART0,串口 1 对应 EUSART0。由于 EUSART(只存在两组)可复用为 SPI、UART 或读卡器等,这里只占用 UART 功能。

UART 功能 端口引脚 备注
UART0 TX PD03 授权、测试
UART0 RX PD02 -
UART1 TX PA00 Demo 未使用
UART1 RX PB00 -

SPI

芯片 SPI 接口,支持主机/从机(Master/Secondary)模式,支持 4 种标准 SPI 模式(CLKPOL、CLKPHA 可配置)。TuyaOS 中 SPI 初始化默认使用 SPI Master,将 SDI 与 SDO 通过引线短接即可测试验证。默认引脚定义如下表所示:

SPI 功能 端口引脚
SPI0 CS PC00
SPI0 CLK PC03
SPI0 SDI PA00
SPI0 SDO PB00

ADC

该芯片支持 16 个输入通道,每个通道均可配置为正输入(posInput)与负输入(negInput)模式。默认情况下 negInput 接地(GND,适用于单端采样)。PAx、PBx、PCx 和 PDx 所有 IO 均可映射至 IADC 的输入端口,支持配置为单通道采样或多通道自动扫描采样模式。

考虑到资源占用,SDK 默认仅支持一组 ADC,需要其他通道请自行配置。

通道 引脚
0 PB02

IIC

芯片支持两路 I2C 接口,支持 100 kHz、400 kHz、1 MHz 通讯速率可调。由于 OLED 屏幕为了显示 SDK 信息(TuyaOS Demo)需预先初始化,TuyaOS 中 I2C 初始化默认使用 I2C0,引脚定义如下表所示:

IIC 功能 端口引脚
IIC0 SCL PB02
IIC0 SDA PB01

按键

PB04:

  • 短按唤醒设备。
  • 长按 3 秒,本地恢复出厂设置。

启动时间检测引脚

PA08:用于上电启动时间检测,进入 main 函数后置为高电平。

更多具体细节,请参考 vendor\bg24_ble\documents\bg24_QA.md 中的介绍。

软件环境

  • 确保环境内已安装 make 命令行工具,或通过搜索平台安装 make,配置环境变量后再次编译。

  • SDK 内已打包 commander 命令行工具(可烧录以及日志打印),存放位置:vendor\bg24_ble\toolchain\software\commander

  • SDK 内已集成toolchain工具链,无需二次下载。

开发软件

芯片类型选择

SDK 默认使用的芯片型号为 EFR32BG24A020IM40,如需更换为 48 引脚封装的芯片型号,开发者需在 app_config.h 文件中将 BOARD_GPIO_MAX 定义为 48

SDK 资源占用

Flash 占用情况。分配的应用区为 352 KB,其中实际占用 270 KB 左右。

BLE-BG24

其他说明

  • SDK 配置说明,关于板载 GPIO 的设定,请务必参考文档中的说明。

  • Flash 分配配置,请参考文档 bg24_flash.md:vendor\bg24_ble\documents

烧录固件

固件烧录与设备日志,均通过J-Link SWD接口来操作,具体如下图所示:

  1. 烧录与擦除:按照图片所示的顺序,点击进行烧录与擦除的操作。

    BLE-BG24
  2. 日志系统(RTT):按照图片所示的顺序,点击查看软件运行日志,获取调试信息。或可以启动运行 J-Link RTT Viewer 软件。

    BLE-BG24

平台特性

Flash 分区

更多细节可参考文档 bg24_flash.md:vendor\bg24_ble\documents

功能名称 具体内容 地址 大小 备注说明
bootloader
(32
KB)
Bootloader 0x0800 0000-0x0800 7FFF 32 KB Boot 区域
应用固件区
(496 KB)
Application_Firmware 0x0800 8000-0x0808 3FFF 496 KB 应用代码区域
升级区域
(392 KB)
OTA Backup 0x0808 4000-0x0808 7FFF 16 KB 差分还原备份区
OTA Patch (Firmware) 0x0808 8000-0x080D FFFF 352 KB 见下方注释一
OTA Manage Info 0x080E 0000-0x080E 3FFF 16 KB OTA 管理信息
OTA BreakPoint Info 0x080E 4000-0x080E 5FFF 8 KB 断点续传信息
保留区域 1
(24 KB)
Reserved1 Data 0x080E 6000-0x080E BFFF 24 KB 保留区域 1
大数据区域
(16 KB)
Bulk Data 0x080E C000-0x080E FFFF 16 KB 大数据保存区域
授权信息
(32 KB)
Auth Data 0x080F 0000-0x080F 7FFF 32 KB 见下方注释二
NVM3 区域
(24 KB)
Bluetooth Core Nvm3 0x080F 8000-0x080F EFFF 24 KB 原厂协议栈保存区域
保留区域 2
(8 KB)
Reserved2 Data 0x080F F000-0x080F FFFF 8 KB 保留区域 2
  • 注释一:该区域固件可分为两类:
    • 当配置为差分固件版本升级时:该区域为差分固件,且后 16 KB 的管理信息的头部为差分配置相关的信息。差分固件大小不可大于 352 KB。
    • 当配置为全量固件版本升级时:该区域为全量固件,全量固件与应用固件的大小配置不同,当使用全量固件升级时,注意固件大小,默认全量升级的固件大小为 352 KN。
      该两种方式都支持断点续传。
  • 注释二:该区域为授权信息,不可随意更改,每一份授权和配置信息都存在备份,故存在 4 份 8 KB 大小的块,即 32 KB。

功耗

测试方法

  1. 将板子所有外接引线全部拆除,仅保留与上位机通信串口。可用 USB 转 TTL 工具接板子的串口,USB 串口的 TX 接 PD02,USB 串口的 RX 接 PD03

  2. 将带有供电能力的电流表接入,供电电压 3.3 V。其中电源正极接板子 VCC,电源负极接板子 GND。

  3. 通过上位机 功耗管理,即可测试不同模式的功耗数据。

    BLE-BG24

功耗数据

  • 100 ms 广播,常规功耗为 2.5 mA 左右

    BLE-BG24

  • 100 ms 低功耗广播,EM2 功耗约为 320 uA。

    BLE-BG24

  • 默认 1 秒带广播,功耗约为 35 uA 左右。

    BLE-BG24

  • 默认不带广播,EM2 功耗约为 3.2 uA 左右。关闭所有外设,关闭广播,RTC 保持,支持 GPIO 唤醒,RAM 数据保持

    BLE-BG24