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

    • SDK 概览与产品定位
    • 支持芯片平台与蓝牙认证
    • SDK 架构与目录分层
  • 快速开始

    • 环境搭建与编译工具链
    • 编译构建系统
    • 板级工程与配置
    • 烧录与固件升级工具
  • 应用工程

    • 应用选择与工程总览
    • SPP + BLE 数传应用框架
    • 透传与 AT 指令示例
    • BLE 广播/中心与定位示例
    • 2.4G 私有协议与 Dongle 示例
    • 云平台接入示例
    • HID 人机交互应用框架
    • HID 示例工程(键盘/鼠标/遥控器/手柄)
    • Bluetooth Mesh 应用框架
    • Mesh 模型与 Mesh DFU 固件升级
    • Mesh 音频编解码演示
  • 芯片平台与硬件抽象

    • 芯片平台总览与差异
    • 音频编解码与时钟管理
    • 外设驱动接口(ADC/IIC/SPI/PWM/LED/充电)
    • 芯片配置工具与下载支持
  • 蓝牙协议栈

    • 蓝牙控制器层(btctrler)
    • 蓝牙协议栈与 Profile(btstack)
    • 蓝牙模块选择与配置
  • 媒体与音频框架

    • 音频流框架
    • 音频编解码与 A2DP 媒体
    • 音频效果处理(EQ/频谱/变调/环绕/超低音)
    • 本地 TWS 与音频同步
  • 系统服务与运行时

    • 实时操作系统与任务调度
    • 消息事件机制
    • 电源管理与低功耗
    • 存储与配置系统
    • 设备驱动框架(USB/RTC)
  • 应用公共组件

    • 音频应用组件
    • 设备外设抽象(按键/触摸/传感器/存储)
    • 蓝牙公共模块与消息联动
    • 调试与配置组件
    • 杰理关键词唤醒(jl_kws)
  • 第三方协议与云平台接入

    • 杰理 RCSP 私有协议
    • 低功耗蓝牙 Mesh 方案(llsync_mesh)
    • Sig Mesh 方案
    • 涂鸦协议接入
    • 腾讯连连接入
    • 华为 HiLink 接入
  • 固件升级与维护

    • OTA 升级机制
    • 升级补丁与版本维护
    • 升级工具链(BLE OTA / USB Dongle OTA)
  • 文档与开发资源

    • 数据手册与架构文档
    • 协议与云平台开发文档
    • 常见问题与技术支持

常见问题与技术支持

本文汇总 fw-AC63_BT_SDK 的常见问题解答(FAQ)与官方技术支持渠道,覆盖开发流程、编译、调试等高频问题,并列出可用的社区群组、在线文档与问题反馈入口,帮助开发者快速定位并解决问题。

Purpose and Scope

本页是 SDK 使用者的"问题解决入口",涵盖:

  • README 内置的常见问题章节(开发流程、编译、调试技巧)
  • doc/FAQ/ 目录下的离线 FAQ 文档(AC630X 问题整理、AC632N 开发环境 FAQ)
  • 技术支持与社区渠道:钉钉技术交流群、在线文档中心、Gitee Issues 问题反馈等
  • 相关的认证信息与免责声明

以下主题属于兄弟页面,不在本页展开:环境搭建与工具链配置("环境搭建"页)、编译命令详解("编译指南"页)、烧录与升级流程("烧录与升级"页)、系统配置项("配置说明"页)。本页只回答"出了问题怎么办、去哪找答案"。

Overview

fw-AC63_BT_SDK 是珠海杰理科技推出的 AC63 系列通用蓝牙 SDK 固件程序,支持 AC63 系列芯片的通用蓝牙应用开发、评估、样品及量产(见 README 免责声明)。

与大多数嵌入式 SDK 一样,开发者在实际开发中遇到的问题可以归结为几大类:

  1. 流程类问题:如何创建自己的工程、如何添加新芯片型号支持
  2. 环境/编译类问题:make 命令不可用、编译速度慢
  3. 调试类问题:如何输出串口日志、如何测量时序
  4. 硬件/芯片类问题:特定型号(如 AC630X、AC632N)的开发环境与软件问题

SDK 的问题解决体系采用分层自助 + 人工支持的设计:

  • 第一层:自服务——README 内嵌 FAQ、doc/FAQ/ 离线 PDF 文档,覆盖高频问题
  • 第二层:社区互助——钉钉技术交流群(3 群可加入),开发者之间交流
  • 第三层:官方支持——Gitee Issues 问题反馈、在线文档中心(doc.zh-jieli.com/AC63)

这种分层设计的意图是:把最高频的问题沉淀为可检索的文档,降低重复提问成本;同时保留人工通道兜底,处理文档无法覆盖的定制化问题。

Architecture

下图为 SDK 常见问题与技术支持体系的整体架构:

flowchart TD
    subgraph sg_SelfService["第一层:自服务(文档)"]
        README_FAQ["README.md 常见问题章节<br/>开发流程 / 编译 / 调试"]
        PDF_FAQ["doc/FAQ/ 离线 PDF<br/>AC630X 问题整理 / AC632N 环境 FAQ"]
    end

    subgraph sg_Community["第二层:社区互助"]
        DingTalk["钉钉技术交流群<br/>1群已满 · 2群已满 · 3群可加入"]
    end

    subgraph sg_Official["第三层:官方支持"]
        Issues["Gitee Issues 问题反馈"]
        DocCenter["在线文档中心<br/>doc.zh-jieli.com/AC63"]
        VersionLog["SDK 版本发布记录"]
    end

    User["开发者"] -->|"遇到问题"| README_FAQ
    User -->|"需要离线资料"| PDF_FAQ
    User -->|"文档未覆盖"| DingTalk
    DingTalk -->|"仍无法解决"| Issues
    User -->|"查询最新资料"| DocCenter
    User -->|"确认版本行为"| VersionLog
    Issues -->|"官方修复/回复"| User

分层设计意图说明:

  • **第一层(文档)**是"默认入口":README.md#L361-L383 内置了三类高频 FAQ,doc/FAQ/ 提供两份按型号整理的离线 PDF。文档化方案成本最低、可检索、可持续维护,适合覆盖所有开发者都会遇到的共性问题。
  • **第二层(社区群)**承接文档覆盖不到的个性化问题:钉钉群实时互动,适合环境搭建、外设调试等需要来回确认细节的场景。README 明确标注了各群的容量状态,避免开发者浪费时间加入已满的群。
  • **第三层(官方渠道)**处理缺陷类问题:Gitee Issues 用于提交 bug 与功能需求,官方文档中心与版本记录用于核对 SDK 行为是否符合预期。官方渠道的存在保证了问题最终有责任主体跟进,形成闭环。

三层之间是递进关系(文档 → 社区 → 官方),而不是并列关系,这正是为了把支持成本从高到低逐层过滤。

常见问题详解

README 的"常见问题"章节(README.md#L361-L383)将高频问题按主题分为三类。下面逐类展开,并给出答案背后的设计依据。

开发流程相关

Q: 如何创建自己的工程?

A: 复制 apps/ 下对应应用的 board/ 目录中与芯片型号最接近的板级配置,修改 board_xxx_cfg.h 中的引脚和外设配置即可。

出处:README.md#L365-L366

这个答案体现了 SDK 的**"就近复制"设计理念**:SDK 为每个应用(apps/)和每种芯片型号维护了多套板级配置目录,新工程不需要从零编写 BSP,而是以最接近目标硬件的现有配置为模板。这样做的好处是:

  • 引脚复用、时钟、外设驱动等大量代码可以继承,减少重复工作
  • 硬件差异被隔离在 board_xxx_cfg.h 一个文件内,改动面小、回归风险低

Q: 如何添加新的芯片型号支持?

A: 在 cpu/ 下创建对应的平台目录,提供 liba/ 库文件和 tools/ 烧录工具,然后在 apps/*/board/ 下添加对应的板级目录。

出处:README.md#L368-L369

新增芯片支持是纵向扩展操作:cpu/<chip>/ 目录承载芯片特有的库(liba/)与烧录工具(tools/),apps/*/board/ 承载应用层板级适配。这种分层(芯片层与应用层分离)让同一款芯片可以服务于多个应用,同一应用也可以移植到多款芯片,符合嵌入式平台 SDK 常见的"平台 + 应用"矩阵式组织方式。

编译相关

Q: Windows 下编译报错 make 不是有效命令?

A: 使用 tools/make_prompt.bat 进入预配置的命令行环境,该脚本已设置好所有环境变量和 make 的路径。

出处:README.md#L373-L374

这是 Windows 嵌入式开发的经典痛点:make、交叉编译器等工具链通常不在系统默认 PATH 中。SDK 通过 tools/make_prompt.bat 封装了环境初始化逻辑,开发者无需手动配置环境变量即可获得可用的构建环境。遇到命令找不到的问题,优先检查是否通过该脚本进入构建环境,而不是自行安装/配置工具链,避免环境版本不一致导致的隐性编译问题。

Q: 如何加快编译速度?

A: 使用 -j 参数进行并行编译,如 make ac632n_spp_and_le -j4。

出处:README.md#L376-L377

make 的 -jN 参数允许 N 个任务并行执行。对于多文件的大型固件工程,并行编译可显著缩短迭代周期。注意 -j 数值一般不超过 CPU 逻辑核心数,过大反而会因调度开销导致编译变慢。

调试技巧

Q: 如何输出/配置调试日志?

A: 通过 log_config.c 配置日志输出等级和通道。

Q: 如何测量外设时序?

A: 利用空闲 GPIO 输出调试波形,测量时序(GPIO Debug)。

出处:README.md#L379-L383

这两条调试技巧反映了蓝牙 SoC 开发的常见约束:

  • 串口日志是最基础的观测手段,log_config.c 允许按需调整日志等级(如 error/warn/info/debug)与输出通道(串口等),开发阶段开满、量产阶段收敛,属于典型的"编译期可裁剪"设计。各芯片平台的 log_config.c 具体实现位于对应 cpu/<chip>/ 工程中,字段与默认值请以实际源码为准。
  • GPIO Debug 是在逻辑分析仪/示波器上"可视化"代码执行时机的手段:在关键代码路径上翻转空闲 GPIO 引脚,即可测量中断延迟、任务周期、协议时序等难以用日志表达的时间维度信息。

核心问题解决流程

开发者遇到问题后的完整路径如下:

sequenceDiagram
    participant Dev as 开发者
    participant FAQ as README/PDF FAQ
    participant Group as 钉钉交流群
    participant Issues as Gitee Issues
    participant Docs as 在线文档中心

    Dev->>FAQ: 检索常见问题(按主题:流程/编译/调试)
    alt FAQ 命中
        FAQ-->>Dev: 直接获得答案(如 make_prompt.bat、-j 参数)
    else FAQ 未命中
        Dev->>Group: 加入钉钉 3 群提问(1/2 群已满)
        Group-->>Dev: 社区互助解答
        alt 涉及缺陷/需求
            Dev->>Issues: 提交 Gitee Issue
            Issues-->>Dev: 官方回复/修复
        end
    end
    Dev->>Docs: 核对最新文档与版本记录
    Docs-->>Dev: 确认 SDK 行为是否符合预期

流程要点:

  1. 先文档后提问:FAQ 覆盖的是高频共性问题,先检索可即时解决大多数问题,避免占用社区资源
  2. 社区群承接长尾问题:环境搭建、外设调试等需要交互式确认的问题进入钉钉群
  3. 缺陷走 Issue:确认为 SDK bug 或新需求时提交 Gitee Issues,形成可追踪的记录
  4. 版本核对兜底:行为与文档不一致时,查阅版本发布记录确认是否为已知变更或新特性

离线 FAQ 资源

仓库的 doc/FAQ/ 目录下提供按芯片型号整理的离线 FAQ 文档(PDF 格式)。这两份文档为二进制资源,仓库中未包含可提取的文本内容,其定位与覆盖范围如下:

文件覆盖主题适用对象
AC630X软件问题整理.pdfAC630X 系列芯片的软件问题汇总与解决方法AC630X 平台开发者
开发环境(AC632N)熟悉-FAQ.pdfAC632N 开发环境搭建与使用常见问题首次上手 AC632N 的开发者

说明:这两份 PDF 属于"型号定向"FAQ,与 README 中的通用 FAQ 互补——README 回答跨型号的流程/编译/调试问题,PDF 则深入特定型号的已知问题与开发环境细节。如需查阅具体内容,请下载后查看。

技术支持渠道

技术交流群

平台群号/链接状态
钉钉 1 群31691148❌ 已满
钉钉 2 群3375034077❌ 已满
钉钉 3 群107855006323✅ 可加入

出处:README.md#L389-L395

群状态被明确标注的设计意图:避免开发者浪费精力尝试加入已满的群。新增用户应直接加入 3 群;未来群满后,README 会随之更新,仓库使用者应以此表为准。

官方资源链接

资源链接用途
📖 在线文档中心doc.zh-jieli.com/AC63SDK 官方在线文档(最新)
📄 芯片数据手册SoC 数据手册扼要 / 本地下载芯片引脚、电气特性等硬件资料
📚 SDK 版本历史版本发布记录版本变更、已知问题与新特性
🏗️ SDK 架构文档模块架构说明各模块架构与设计说明
🛒 开发板购买杰理官方店铺官方开发板采购
🐛 问题反馈Gitee Issues提交 bug、功能需求与技术支持请求

出处:README.md#L397-L407

认证信息

SDK 内置蓝牙协议栈已通过蓝牙 SIG 认证(README.md#L410-L416):

蓝牙规范QDID认证链接
Core v5.4QDID 222830查看认证详情

产品送测蓝牙认证时可直接引用该 QDID,这是 FAQ 之外常被问到的"合规支持"问题,因此一并列出。

使用示例

以下示例均提取自 README.md 常见问题章节,展示了"问题 → 命令/操作"的对应关系。

示例 1:进入预配置构建环境(解决 make 不可用)

# Windows 下编译报错 "make 不是有效命令" 时:
# 使用 tools/make_prompt.bat 进入预配置命令行环境,
# 该脚本已设置好所有环境变量和 make 的路径
tools/make_prompt.bat

出处:README.md#L373-L374

示例 2:并行编译加速

# 使用 -j 参数并行编译,示例目标为 ac632n_spp_and_le,4 路并行
make ac632n_spp_and_le -j4

出处:README.md#L376-L377

示例 3:基于现有板级配置创建工程

1. 复制 apps/ 下对应应用的 board/ 目录中与芯片型号最接近的板级配置
2. 修改 board_xxx_cfg.h 中的引脚和外设配置
3. 编译验证并逐步适配目标硬件

出处:README.md#L365-L366

示例 4:添加新芯片型号支持

1. 在 cpu/ 下创建对应的平台目录
2. 提供 liba/ 库文件和 tools/ 烧录工具
3. 在 apps/*/board/ 下添加对应的板级目录

出处:README.md#L368-L369

提示:上述 -j 并行编译与 make_prompt.bat 属于编译环境通用操作,更多构建目标与参数细节请参见"编译指南"相关页面;board_xxx_cfg.h 的具体配置项含义请参见"配置说明"相关页面。

失败模式与边界情况

结合 README 与 FAQ 内容,开发者常遇到以下失败场景及应对方式:

失败模式触发场景应对方式依据
make 命令不可用在普通 CMD/PowerShell 中直接执行 make改用 tools/make_prompt.bat 进入预配置环境README.md#L373-L374
编译速度过慢单线程编译大型工程使用 make <target> -jN 并行编译README.md#L376-L377
找不到合适的板级配置目标硬件与现有 board 目录都不完全匹配复制最接近的板级配置并修改 board_xxx_cfg.hREADME.md#L365-L366
加入技术群失败尝试加入已满的钉钉 1 群/2 群直接加入 3 群(107855006323),或关注 README 群状态更新README.md#L389-L395
文档与 SDK 行为不一致使用较旧版本 SDK 查阅最新文档核对 SDK 版本发布记录,确认是否为版本差异README.md#L403

边界情况说明:

  • PDF 资源不可在线检索:doc/FAQ/ 下的两份文档是 PDF 二进制文件,无法通过代码检索工具搜索内容。需要按主题查找时,应优先检索 README 与在线文档中心;PDF 适合下载后离线阅读或按型号定向查阅。
  • 群容量实时性:群状态(满/可加入)会随时间变化,README 可能滞后于实际状态。若 3 群也无法加入,请通过 Gitee Issues 联系官方。
  • 芯片型号差异:FAQ 答案(如 -j 编译、make_prompt.bat)适用于所有 AC63 型号,但 log_config.c、board_xxx_cfg.h 等文件的具体内容因平台而异,修改前请以对应 cpu/<chip>/ 与 apps/*/board/ 下的实际源码为准。

操作建议与扩展说明

基于 FAQ 内容沉淀的日常操作建议:

  1. 养成先读 FAQ 的习惯:README 的 FAQ 章节(README.md#L361-L383)是问题的第一入口,三分钟检索通常能解决大部分高频问题。
  2. 调试三板斧:串口日志(log_config.c 调等级/通道)→ GPIO Debug(空闲引脚翻波测量时序)→ 在线文档核对;按成本从低到高使用。
  3. 保持版本一致:开发前确认所用 SDK 版本与在线文档、版本记录对应,避免因版本漂移引入困惑。
  4. 主动维护 FAQ:解决过的特殊问题可整理后通过 Issue 或社区反馈,帮助沉淀到后续版本的 FAQ 中——这正是该支持体系可持续运转的扩展方式。

扩展点:SDK 的 FAQ 体系本身是一个可持续扩充的文档结构——新增问题只需在 README 第十章节追加 Q/A,或向 doc/FAQ/ 增加型号定向 PDF。仓库使用者贡献问题时,建议按"主题(流程/编译/调试)→ 问题 → 答案(含命令出处)"的现有格式组织,保持一致性。

Related Links

  • README.md(总览与完整目录) —— FAQ 与支持信息的原始出处
  • README.md FAQ 章节 —— 开发流程 / 编译 / 调试三类高频问题
  • README.md 社区与支持章节 —— 钉钉群与官方资源链接
  • README-en.md FAQ 章节 —— 英文版 FAQ
  • AC630X软件问题整理.pdf —— AC630X 离线 FAQ
  • 开发环境(AC632N)熟悉-FAQ.pdf —— AC632N 开发环境 FAQ
  • 在线文档中心 —— 官方最新文档
  • SDK 版本发布记录 —— 版本历史与已知问题
  • Gitee Issues —— 问题反馈与技术支持

相关主题页面:环境搭建、编译指南、烧录与升级、配置说明、SDK 架构文档分别属于兄弟目录页,本页仅提供入口指引。

Prev
协议与云平台开发文档