支持芯片与蓝牙认证
本页介绍 fw-AW33N_BLE_SDK 支持的芯片平台与型号、蓝牙协议栈的 SIG 认证状态(QDID),以及围绕芯片平台展开的板级配置、编译目标与工具链支撑,帮助开发者确认硬件选型与合规依据。
Purpose and Scope
本页是"芯片支持"主题的独立参考页,覆盖以下内容:
- 支持的芯片平台与型号:
bd57平台下的 AW33N 系列具体型号及其适用应用(transfer / hid)。 - 蓝牙协议认证:SDK 内置蓝牙协议栈的 Bluetooth SIG 认证信息(QDID、认证链接),以及源文档中的版本表述差异。
- 芯片平台相关的工程支撑:板级配置目录(
board/)、预编译静态库(include_lib)、编译目标(Makefile / Code::Blocks)与工具链要求。
以下主题属于兄弟页面,不在本页展开:
- 环境搭建与快速开始:参见《环境搭建》《快速开始》等目录页。
- 应用开发细节:TRANSFER / HID 应用的业务实现见对应应用文档。
- 烧录与升级、配置说明:均另有目录页,本页仅在涉及芯片平台选择时引用。
Overview
fw-AW33N_BLE_SDK 是杰理科技为 AW33N 系列芯片提供的通用蓝牙 SDK 固件开发包,基于裸机操作系统,内置完整 BLE 协议栈,并附带丰富的应用示例。该 SDK 的芯片支持边界清晰:单一芯片平台 bd57,涵盖 5 款具体型号;蓝牙协议栈已通过蓝牙 SIG 官方认证,产品的蓝牙合规申报可直接引用本 SDK 的 QDID。
SDK 支持的应用场景分为两大类(见 README.md):
| 应用类型 | 典型产品 |
|---|---|
| BLE 透传/数传 | 透传、数据传输、扫描设备、广播设备、适配器、AT 模组、定位器(Findmy & Find Hub)等 |
| HID 人机交互 | 媒体播放控制、遥控器、自拍器、翻页器、3 模鼠标(2.4G/USB 支持到 1K 回报率)等 |
选择芯片型号时,开发者只需确认目标芯片属于 bd57 平台的 AW33N 系列,即可使用本 SDK 中对应的 transfer 或 hid 应用工程;编译时按 Makefile 暴露的 target 名称(aw33n_transfer / aw33n_hid)构建,板级配置目录会按芯片平台组织。
Architecture
下图展示"芯片平台 → 应用 → 板级配置 → 预编译库 → 工具链"的整体支撑关系:
flowchart TD
subgraph sg_Platform["芯片平台 (bd57)"]
AW332A["AW332A"]
AW333A["AW333A"]
AW336A["AW336A / AW336A0"]
AW338A["AW338A"]
end
subgraph sg_Apps["应用工程"]
Transfer["apps/demo/transfer<br/>(BLE 透传/数传)"]
Hid["apps/demo/hid<br/>(HID 人机交互)"]
end
subgraph sg_Board["板级配置 board/bd57"]
Cfg["board_xxx_cfg.h<br/>引脚/外设配置"]
GlobalCfg["board_xxx_global_build_cfg.h<br/>功能开关"]
BoardC["board_xxx.c<br/>板级初始化"]
Cbp["board_*.cbp<br/>Code::Blocks 工程"]
BMake["Makefile<br/>编译脚本"]
end
subgraph sg_Libs["预编译库 include_lib"]
LibA["bt_controller_lib.a / bt_protocol_lib.a / cpu_lib.a 等"]
end
subgraph sg_Cert["蓝牙 SIG 认证"]
QDID["QDID DN:Q332415 (Core v5.4/v6.0)"]
end
sg_Platform -->|"选择型号"| sg_Apps
Transfer --> BMake
Hid --> BMake
sg_Apps -->|"按平台选择"| sg_Board
BMake -->|"链接"| LibA
LibA -->|"协议栈来源"| QDID
架构要点说明:
- 芯片平台层是硬件选型边界:
bd57平台统一了 5 款型号(AW332A / AW333A / AW336A / AW336A0 / AW338A),SDK 按平台而非按单型号组织板级配置(见 README.md)。 - 应用工程层提供两套业务入口:
transfer(BLE 数传类)与hid(人机交互类),每套应用目录下都有board/子目录按芯片平台划分(见 README.md)。 - 板级配置层是芯片平台落地到具体硬件的关键:
Makefile(命令行编译脚本)、board_*.cbp(Code::Blocks 工程)、board_xxx.c(板级初始化)、board_xxx_cfg.h(引脚/外设配置)、board_xxx_global_build_cfg.h(功能开关)。 - 预编译库层:蓝牙控制器库、协议栈库、CPU 库等以
*.a静态库形式随 SDK 发布,位于apps/include_lib/下(见 README.md),这也是"芯片支持"的实质载体——协议栈能力已固化在库中。 - 认证层:SDK 内置的蓝牙协议栈已通过蓝牙 SIG 认证,QDID 为
DN:Q332415,可作为终端产品蓝牙申报的引用依据。
支持的芯片平台与型号
芯片平台 bd57
SDK 官方支持的芯片平台与型号如下(见 README.md):
| 芯片平台 | 芯片型号 | 适用应用 |
|---|---|---|
| bd57 | AW332A / AW333A / AW336A / AW336A0 / AW338A | transfer / hid |
设计要点(WHY):
- 按平台而非按型号组织:5 款型号共用
bd57平台,意味着它们共享同一套外设控制器、内存布局与预编译库(cpu_lib.a等)。开发者无需为每款型号维护独立的板级工程,只需在板级配置中调整引脚与功能开关即可适配不同产品形态。 - 平台名即目录名:板级配置目录、预编译库目录、postbuild 目录均以
bd57命名,例如apps/demo/hid/board/bd57/、apps/include_lib/liba/bd**/flash/、apps/app/postbuild/bd**/。识别代码路径即可判断芯片归属。 - 型号后缀差异(AW336A / AW336A0):两者被显式列出,说明 SDK 将其视为可选的同平台变体;在量产选型时需以具体芯片数据手册确认差异(数据手册见 SoC 数据手册扼要 / 仓库
doc/目录)。
蓝牙协议支持
SDK 支持通用蓝牙常见应用,其协议能力由预编译协议栈库提供。蓝牙协议支持情况见 README.md:
| 蓝牙规范 | QDID | 状态 |
|---|---|---|
| Core v5.4 | DN:Q332415 | ✅ 已认证 |
蓝牙 SIG 认证信息
认证概述
本 SDK 内置的蓝牙协议栈已获得蓝牙 SIG(Bluetooth Special Interest Group)官方认证,认证信息记录于 README 的"认证信息"章节(见 README.md):
| 蓝牙规范 | QDID | 认证链接 |
|---|---|---|
| Core v6.0 | DN:Q332415 | 查看认证详情 |
源文档中的版本表述差异(重要)
需要如实指出:仓库内 README 的不同章节对认证版本表述不一致——
- README.md 第 58 行("支持的芯片与平台"章节)写 Core v5.4;
- README.md 第 397 行("认证信息"章节)与 README-en.md 第 410 行 写 Core v6.0。
两处引用的 QDID 完全相同(DN:Q332415),认证详情链接也一致(qualification.bluetooth.com 的 Listing 260833)。因此可以确认这是同一份认证记录在不同章节的版本号表述不一致,而非两套认证。在对外申报或产品文档引用时,建议以 蓝牙 SIG 官方 Listing 显示的版本为准,并在引用 README 时注明来源章节。
QDID 的使用意义(WHY)
QDID(Qualified Design ID)是蓝牙 SIG 认证的唯一标识。终端产品若使用本 SDK 的协议栈,可通过"引用已认证组件"(Qualified Component)的方式简化自有产品的蓝牙认证流程,无需从零走完整个协议栈认证。产品认证时应在 Declaration ID 申请中引用本 QDID,并遵循 SIG 关于组件引用的规则。
板级配置与编译目标
板级配置目录结构
每个应用目录下都有 board/ 子目录,按芯片平台划分(见 README.md):
apps/demo/hid/board/
└── bd57/ # AW33N 系列(3 个产品应用和 1 个 demo 板级配置)
每个芯片目录下包含:
| 文件 | 作用 |
|---|---|
Makefile | 编译脚本(命令行构建入口) |
board_*.cbp | Code::Blocks 工程文件(Windows IDE 构建) |
board_xxx.c | 板级初始化代码 |
board_xxx_cfg.h | 板级配置(引脚、外设等) |
board_xxx_global_build_cfg.h | 全局编译配置(功能开关) |
顶层编译目标
顶层 Makefile 是统一的编译入口,将芯片平台与目标应用绑定(见 Makefile):
# 支持的目标
# make aw33n_transfer
# make aw33n_hid
.PHONY: all clean aw33n_transfer aw33n_hid clean_aw33n_transfer clean_aw33n_hid
all: aw33n_transfer aw33n_hid
@echo +ALL DONE
clean: clean_aw33n_transfer clean_aw33n_hid
@echo +CLEAN DONE
aw33n_transfer:
$(MAKE) -C apps/demo/transfer/board/bd57 -f Makefile
clean_aw33n_transfer:
$(MAKE) -C apps/demo/transfer/board/bd57 -f Makefile clean
aw33n_hid:
$(MAKE) -C apps/demo/hid/board/bd57 -f Makefile
clean_aw33n_hid:
$(MAKE) -C apps/demo/hid/board/bd57 -f Makefile clean
Source: Makefile
设计意图:target 名称 aw33n_<应用名> 直接把"芯片系列(aw33n)+ 应用(transfer/hid)"编码进构建接口,make 递归进入对应 board/bd57 目录执行子 Makefile。all / clean 聚合两个目标,便于一键构建或清理。
芯片平台相关的预编译库
蓝牙协议栈与芯片驱动以静态库形式随 SDK 发布(见 README.md):
apps/include_lib/:头文件目录,含bt_controller_include/(蓝牙控制器)、bt_include/(蓝牙协议栈)、cpu/(各芯片平台)、device/(外设驱动)等;apps/include_lib/liba/bd**/flash/:各芯片平台的*.a静态库(bt_controller_lib.a、bt_protocol_lib.a、cpu_lib.a等)。
这些库文件需要与对应命名规则的库文件配套,仓库本身包含 SDK Release 版本代码及示例工程,编译时配合对应库文件与子仓库进行(见 README.md)。
Core Flow:从芯片选型到产品认证
下图展示基于芯片平台完成一次开发-认证闭环的完整流程:
flowchart TD
Start([开始]) --> Pick["确认芯片属于 bd57 平台<br/>AW332A/AW333A/AW336A/AW336A0/AW338A"]
Pick --> ChooseApp{"产品形态?"}
ChooseApp -->|"BLE 透传/数传"| Transfer["选择 apps/demo/transfer"]
ChooseApp -->|"HID 人机交互"| Hid["选择 apps/demo/hid"]
Transfer --> Board["进入 board/bd57<br/>配置 board_xxx_cfg.h 引脚/外设"]
Hid --> Board
Board --> Build{"编译方式?"}
Build -->|"Windows"| Cb["Code::Blocks 打开 .cbp<br/>Build (Ctrl+F9)"]
Build -->|"Linux/macOS"| Mk["make aw33n_transfer / aw33n_hid"]
Cb --> Flash["USB 升级工具/生产烧写工具烧录 .hex"]
Mk --> Flash
Flash --> Test["无线测试盒:空中升级/射频标定/产品测试"]
Test --> Cert["产品蓝牙认证引用<br/>QDID DN:Q332415"]
Cert --> End([结束])
各步骤说明:
- 芯片选型:确认目标芯片属于
bd57平台所列型号。SDK 的芯片支持边界即此平台,超出列表的型号需确认是否有对应 SDK 版本。 - 应用选择:按产品形态选择
transfer(透传/数传/定位器等)或hid(键盘/鼠标/遥控器等)应用工程。 - 板级配置:在
apps/demo/<app>/board/bd57/下按实际硬件调整引脚、外设与功能开关。这里决定芯片型号差异(如 AW336A 与 AW336A0)如何落地到具体产品。 - 编译:Windows 推荐 Code::Blocks(
.cbp工程),Linux/macOS 使用顶层make aw33n_*命令;也可使用 VS Code 预配置任务(Ctrl+Shift+B)。 - 烧录与测试:编译产物为
.hex固件,使用 USB 升级工具或生产烧写工具烧录;量产与射频环节使用无线测试盒完成空中升级、射频标定与产品测试(工具清单见 README.md)。 - 认证引用:产品申报蓝牙认证时引用 SDK 协议栈的 QDID
DN:Q332415,简化认证流程。
Usage Examples
以下示例均提取自仓库实际文件。
示例 1:验证工具链安装
Linux 环境下编译前需确保杰理工具链已就位(/opt/jieli/common/bin/clang 存在),安装后验证:
# 验证工具链是否安装成功
clang --version
Source: README.md
示例 2:克隆仓库并选择芯片工程
git clone https://gitee.com/Jieli-Tech/fw-AW33N_BLE_SDK.git
cd fw-AW33N_BLE_SDK
SDK 根目录
├── apps/demo/transfer # BLE 透传/数传等应用
└── apps/demo/hid/ # HID 人机交互设备等应用
Sources:
示例 3:按芯片平台进入板级目录并编译
Code::Blocks 方式(Windows 推荐):
# 1. 进入对应的板级目录
cd apps/demo/hid/board/bd57/
# 2. 双击打开 .cbp 工程文件(如 AW33N_hid.cbp)
# 3. 在 Code::Blocks 中点击 Build → Build (Ctrl+F9)
# 4. 编译成功后,使用 USB 升级工具烧录生成的 .hex 文件
Makefile 命令行方式:
# Linux/macOS 用户
cd SDK 根目录
# 编译完整工程
make aw33n_hid
# 编译完成后,在对应 board 目录下找到生成的 .hex 文件
Sources:
示例 4:顶层 Makefile 的双应用聚合
make all 会依次构建 transfer 与 hid 两个芯片应用目标:
all: aw33n_transfer aw33n_hid
@echo +ALL DONE
clean: clean_aw33n_transfer clean_aw33n_hid
@echo +CLEAN DONE
Source: Makefile
Configuration Options
芯片平台相关的可配置项集中在板级目录中,属于 SDK 构建期配置:
| 配置载体 | 类型 | 默认/取值 | 说明 |
|---|---|---|---|
| 芯片平台 | 目录/平台名 | bd57 | 当前 SDK 唯一支持的芯片平台,决定预编译库与板级工程 |
| 芯片型号 | 选型 | AW332A / AW333A / AW336A / AW336A0 / AW338A | 在 bd57 平台内按产品需求选择,通过板级配置适配 |
| 应用 target | Makefile 目标 | aw33n_transfer / aw33n_hid | 顶层 make 的编译入口,all 聚合两者 |
board_xxx_cfg.h | 头文件宏 | 按硬件定义 | 引脚分配、外设开关(UART/SPI/I2C/GPIO 等) |
board_xxx_global_build_cfg.h | 头文件宏 | 按功能裁剪 | 全局编译功能开关 |
| 工具链路径 | 环境 | /opt/jieli/common/bin/clang(Linux) | 杰理编译工具链安装位置,须存在 clang |
| 文件描述符上限 | 环境 | 建议 > 8096 | Linux 链接阶段 ulimit -n 需足够大,否则链接失败(见 Makefile) |
| 蓝牙认证 QDID | 合规引用 | DN:Q332415 | 产品蓝牙认证时引用的已认证协议栈标识 |
API Reference:构建接口(Makefile Targets)
芯片平台的构建入口是顶层 Makefile 暴露的 target,可视为 SDK 对外的"构建 API"(见 Makefile):
make aw33n_transfer
编译 BLE 透传/数传应用(apps/demo/transfer/board/bd57)。
- 参数:无(顶层 target,递归调用子 Makefile)
- 产物:
apps/demo/transfer/board/bd57目录下生成的.hex固件 - 对应清理:
make clean_aw33n_transfer
make aw33n_hid
编译 HID 人机交互应用(apps/demo/hid/board/bd57)。
- 参数:无
- 产物:
apps/demo/hid/board/bd57目录下生成的.hex固件 - 对应清理:
make clean_aw33n_hid
make all / make clean
聚合构建/清理两个目标:
all:依次执行aw33n_transfer、aw33n_hid,完成后输出+ALL DONE;clean:依次执行两个 clean 目标,完成后输出+CLEAN DONE。
Failure Modes, Edge Cases & Concurrency
源文档版本表述不一致(认证信息)
- 现象:README 中"支持的芯片与平台"章节标注 Core v5.4(README.md#L58),"认证信息"章节标注 Core v6.0(README.md#L397),英文版同样标注 Core v6.0(README-en.md#L410)。
- 影响:仅影响对外文档引用时的版本描述,QDID(
DN:Q332415)与认证链接完全一致,不涉及协议栈能力差异。 - 规避:以蓝牙 SIG 官方 Listing(260833)为准;引用 README 时注明具体章节,避免以讹传讹。
工具链路径缺失
- 现象:Linux 下
/opt/jieli/common/bin/clang不存在时编译立即失败。 - 规避:从
pkgman.jieliapp.com下载工具链并解压到/opt/jieli,保持目录层次正确(见 README.md)。
链接期打开文件过多
- 现象:Linux 链接阶段因打开文件数不足失败。
- 规避:
ulimit -n建议大于 8096,可执行ulimit -n 8096提高上限(见 Makefile)。
型号与平台不匹配
- 现象:选择了
bd57平台之外的型号,或误用其他平台的板级工程/库。 - 规避:SDK 仅支持
bd57平台;选型时确认芯片属于 AW33N 系列所列 5 款型号之一,并只使用board/bd57与liba/bd**对应资源。
并发/一致性说明
本 SDK 为裸机固件开发包,芯片平台与认证信息属于静态发布内容,不存在运行时并发问题。构建层面的"并发"主要体现为 make all 对两个应用的顺序聚合(非并行 -j),两个子工程相互独立、互不依赖,可分别构建或清理。
Performance & Operational Considerations
- 编译环境:Windows 推荐 Code::Blocks(
default.workspace预置工作空间,双击.cbp构建);Linux/macOS 使用顶层 Makefile;仓库同时预配置 VS Code 任务(Ctrl+Shift+B)。 - 烧录/量产:USB 升级工具用于开发烧录;生产烧写工具用于量产/裸片烧写;无线测试盒用于空中升级、射频标定与产品测试(工具与文档见 README.md)。
- HID 性能指标:3 模鼠标在 2.4G/USB 模式下支持到 1K 回报率,HID 类产品选型时可参考(见 README.md)。
- 版本配套:SDK 编译需配合对应命名规则的库文件(
lib.a)与子仓库,发布版本对应关系见仓库 Tags/Releases(见 README.md)。
Extension Points
- 新增板级配置:在
apps/demo/<app>/board/bd57/下新增board_xxx.c/board_xxx_cfg.h/board_xxx_global_build_cfg.h/board_xxx.cbp即可基于同一芯片平台扩展新硬件,无需改动协议栈库。 - 新增应用 target:在顶层 Makefile 增加
aw33n_<app>目标并递归调用对应board/bd57子 Makefile,即可把新应用接入统一构建入口。 - 认证引用扩展:如需在自有产品上声明蓝牙合规,引用 QDID
DN:Q332415即可复用本 SDK 协议栈的 SIG 认证结果。
Tests(测试与验证覆盖情况)
仓库根目录未提供独立的单元测试工程;芯片平台的验证主要依赖:
- 编译验证:
make all成功产出两个应用的.hex即证明板级配置与库配套完整; - 产线测试:通过无线测试盒完成空中升级、射频标定与产品测试(见 README.md);
- 认证验证:协议栈能力由蓝牙 SIG 认证记录(QDID
DN:Q332415)背书。
Related Links
- README.md(芯片与平台、认证信息)
- README.md(认证信息章节)
- README-en.md(Certification Information)
- Makefile(编译目标)
- 蓝牙 SIG 认证详情(Listing 260833)
- 杰理 AW33 文档中心
- SoC 数据手册扼要
兄弟页面指引:《环境搭建》《快速开始》覆盖工具链与编译入门;《工程结构》详解目录布局;《烧录与升级》《配置说明》覆盖固件烧录与功能配置,本页不再重复。