杰理 SDK 文档中心
首页
首页
  • SDK 概述与入门

    • SDK 总览
    • 支持芯片与蓝牙认证
    • 工程结构导航
  • 开发环境与构建

    • 环境搭建与工具链安装
    • 编译指南与工程选择
    • 烧录与生产工具
  • BLE 透传/数传应用

    • 透传应用框架与处理模块
    • 透传与数传示例
    • 多连接与自定义服务示例
    • FindMy 与查找网络示例
  • HID 人机交互应用

    • 键盘与按键设备示例
    • 鼠标设备示例
    • 遥控器示例
    • HID 蓝牙应用模块
  • 公共 BSP 模块

    • 按键、编码器与红外输入
    • 传感器驱动
    • LED 与显示控制
    • 串口与 USB 通信
    • 存储、参数与时钟
    • 电源与温度管理
    • 消息、内存与系统配置
    • OTA 升级框架
  • 蓝牙协议栈与库

    • BLE 控制器与协议栈适配
    • 经典蓝牙 BR/EDR 支持
    • 第三方蓝牙协议
    • 设备管理框架
    • DUT 测试与射频认证
  • 构建系统与开发工具

    • Makefile 构建系统
    • 固件后处理与配置工具
    • 辅助脚本与库合并
  • 文档与硬件资料

    • AT 命令参考
    • 硬件参考资料
    • SDK 文档与在线资源

支持芯片与蓝牙认证

本页介绍 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):

芯片平台芯片型号适用应用
bd57AW332A / AW333A / AW336A / AW336A0 / AW338Atransfer / 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.4DN:Q332415✅ 已认证

蓝牙 SIG 认证信息

认证概述

本 SDK 内置的蓝牙协议栈已获得蓝牙 SIG(Bluetooth Special Interest Group)官方认证,认证信息记录于 README 的"认证信息"章节(见 README.md):

蓝牙规范QDID认证链接
Core v6.0DN: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_*.cbpCode::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([结束])

各步骤说明:

  1. 芯片选型:确认目标芯片属于 bd57 平台所列型号。SDK 的芯片支持边界即此平台,超出列表的型号需确认是否有对应 SDK 版本。
  2. 应用选择:按产品形态选择 transfer(透传/数传/定位器等)或 hid(键盘/鼠标/遥控器等)应用工程。
  3. 板级配置:在 apps/demo/<app>/board/bd57/ 下按实际硬件调整引脚、外设与功能开关。这里决定芯片型号差异(如 AW336A 与 AW336A0)如何落地到具体产品。
  4. 编译:Windows 推荐 Code::Blocks(.cbp 工程),Linux/macOS 使用顶层 make aw33n_* 命令;也可使用 VS Code 预配置任务(Ctrl+Shift+B)。
  5. 烧录与测试:编译产物为 .hex 固件,使用 USB 升级工具或生产烧写工具烧录;量产与射频环节使用无线测试盒完成空中升级、射频标定与产品测试(工具清单见 README.md)。
  6. 认证引用:产品申报蓝牙认证时引用 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:

  • README.md
  • README.md

示例 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:

  • README.md
  • Makefile

示例 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 平台内按产品需求选择,通过板级配置适配
应用 targetMakefile 目标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
文件描述符上限环境建议 > 8096Linux 链接阶段 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 数据手册扼要

兄弟页面指引:《环境搭建》《快速开始》覆盖工具链与编译入门;《工程结构》详解目录布局;《烧录与升级》《配置说明》覆盖固件烧录与功能配置,本页不再重复。

Prev
SDK 总览
Next
工程结构导航