fw-AD23N_GP-MCU_SDK 是杰理科技为 AD23N 系列芯片提供的通用 MCU SDK 开发包。本系列芯片主要面向以下应用场景:
| 应用类型 | 典型产品 |
|---|---|
| 语音玩具 | 故事机、学习机、语音遥控玩具、AI 语音交互设备 |
| 小音箱 | 音乐播放器、录音笔、扩音器 |
| 通用 MCU | 智能控制、传感器采集、通用外设应用 |
- NPU 神经网络加速:内置 NPU(Neural Processing Unit),支持 AI 语音算法加速
- DSP + FPU:32bit 双发射 DSP @ 288MHz,集成 IEEE754 单精度硬件浮点单元
- 大容量 SRAM:184KB 片上 SRAM(含 32KB 共享 Cache),支持 MMU/MPU
- 音频解码:支持 .a/.b/.e、.f1a/.f1b/.f1c、UMP3、MP3、WAV 等多种格式解码播放
- MIDI 播放:支持 MIDI 合成与播放
- 三路解码:支持 .a/.b/.e + .f1a/.f1b/.f1c + .f1a/.f1b/.f1c 三路音频同时解码播放
- 高保真音频:16bit DAC(SNR 110dB)+ 16bit ADC(SNR 93dB),支持 8K–96K 采样率
- Class-D 功放:1.2W@4Ω 直驱喇叭
- I2S/PDM 接口:支持数字音频输入输出
- 硬件重采样:内置硬件 SRC
- 音效算法:ANS 降噪、变速、ECHO 混响、vo_pitch 变调、voice_changer 变声、PCM 浮点 EQ
- 低功耗:软关机 <3µA
- 多种存储:支持内置/外置 NOR Flash、SydFs/NorFs/FreeFs/FATFS 文件系统
- DAC 输出:支持差分和单端输出,可外接功放
本仓库包含 SDK Release 版本代码及示例工程,需配合对应命名规则的库文件 (lib.a) 进行编译。
| 芯片系列 | 应用领域 |
|---|---|
| AD232A / AD232S / AD235A / AD236A /AD236B | 语音玩具 / 小音箱 / 通用MCU |
| AD238A / AD238B | 语音控制 / 音频播放(SOP8 最小封装) |
芯片型号/规格书/原理图资料请查阅:doc/ 目录
| 系统 | 说明 |
|---|---|
| Windows | 推荐使用 Code::Blocks IDE 编译 |
| Linux | Makefile 命令行编译(需要重写 download_bat.c 脚本适配 Linux 环境) |
| macOS | 需自行配置交叉编译工具链 |
- 下载并安装 杰理编译工具链:下载链接
- Linux 用户可从此处下载:pkgman.jieliapp.com
- 下载后解压到
/opt/jieli目录 - 确保
/opt/jieli/pi32/bin/clang存在
- 下载后解压到
- 安装完成后验证:
# 验证工具链是否安装成功
clang --version| 工具 | 用途 | 获取方式 |
|---|---|---|
| USB 升级工具 | 将固件烧录到目标板 | 申请链接 · 使用文档 |
| 生产烧写工具 | 量产/裸片烧写 | 代理商处 · 使用文档 |
打包、音频文件转换、MIDI 等通用音频工具:下载链接 提取码:3jey
git clone https://github.com/Jieli-Tech/AD23N.git
cd AD23N/sdkSDK 包含以下应用工程,位于 sdk/ 根目录:
| 工程文件 | 芯片 | 应用类型 |
|---|---|---|
AD23N_mbox_flash.cbp |
AD23N 全系列 | 小音箱 / 语音玩具 / MIDI琴 |
sdk/app/src/mbox_flash/ # 小音箱/音频播放应用
方式一:Code::Blocks(推荐 Windows 用户)
- 双击打开
AD23N_mbox_flash.cbp工程文件 - 点击 Build → Build(Ctrl+F9)
- 编译成功后,使用 USB 升级工具烧录生成的固件
方式二:Makefile 命令行
# Windows 用户
双击 sdk/make_prompt.bat 打开命令行环境
# 编译
make -j4
# 显示编译详情
make VERBOSE=1 -j4💡 提示:编译前请确保 USB 升级工具正确连接且目标板已进入编程模式。
方式三:VS Code 编译
仓库已预配置 VS Code 任务,按 Ctrl+Shift+B 即可选择编译目标。
fw-AD23N/
├── sdk/ # SDK 主目录
│ ├── app/ # 应用层代码
│ │ ├── src/ # 应用入口源码
│ │ │ └── mbox_flash/ # 小音箱/音频播放应用
│ │ ├── bsp/ # 板级支持包(BSP)
│ │ └── post_build/ # 编译后处理脚本与工具
│ ├── include_lib/ # 头文件与预编译库
│ │ ├── cpu/ # CPU 平台头文件
│ │ ├── decoder/ # 解码器 API 头文件
│ │ ├── encoder/ # 编码器 API 头文件
│ │ ├── audio/ # 音频 API 头文件
│ │ ├── device/ # 设备驱动头文件
│ │ ├── dev_mg/ # 设备管理头文件
│ │ ├── common/ # 公共头文件
│ │ ├── fs/ # 文件系统头文件
│ │ ├── msg/ # 消息机制
│ │ ├── ans/ # ANS 降噪
│ │ ├── pcm_eq_float/ # 浮点 PCM EQ
│ │ ├── vo_changer/ # 变声算法
│ │ ├── vo_pitch/ # 变调算法
│ │ ├── update/ # 固件升级
│ │ ├── power/ # 电源管理
│ │ └── liba/ # 预编译库 (.a)
│ ├── tools/ # 编译工具与脚本
│ │ ├── make_prompt.bat # Windows 编译命令行入口
│ │ └── utils/ # 工具集(make、rm 等)
│ ├── Makefile # 顶层 Makefile
│ └── *.cbp # Code::Blocks 工程文件
├── doc/ # 文档
│ ├── AD23N硬件资料/ # 硬件文档(规格书/原理图/开发板资料)
│ ├── stuff/ # 杂项(钉钉群、烧录工具文档等)
│ ├── AD23N_SDK手册_v1.0.pdf # SDK 手册
│ ├── AD23N_SDK_发布版本信息.pdf # SDK 发布版本信息
│ ├── AD23N用户手册V1.1.pdf # 芯片用户手册
│ └── 杰理科技32位AD系列语音MCU选型表.pdf # 芯片选型表
└── README.md # 本文件
| 功能 | 说明 |
|---|---|
| 音乐播放 | 本地/外置 FLASH 文件播放(支持 .a/.b/.e、.f1a/.f1b/.f1c、UMP3、MP3、WAV 等) |
| MIDI 演奏 | MIDI 合成与播放 |
| 录音 | 支持音频编码录音 |
| USB Device | USB 从设备 |
| LINEIN | 线路输入 |
| 扩音 | 扩音/喊话功能 |
适用领域:语音玩具、AI 语音交互、故事机、学习机、MIDI 乐器等。
以下命令在 sdk/ 目录下执行:
| 目标 | 命令 |
|---|---|
| 编译 | make -j4 |
| 编译(verbose) | make VERBOSE=1 -j4 |
| 清理 | make clean |
- 确保已安装杰理编译工具链
- 双击
AD23N_mbox_flash.cbp工程文件打开 Code::Blocks - 点击 Build → Build(Ctrl+F9)
- 编译成功后在
post_build/目录下生成固件
# Windows 用户
双击 sdk/make_prompt.bat 打开命令行环境
make -j4
# Linux 用户(需要自行修改download_bat.c文件适配Linux)
cd sdk
make -j`nproc`| 错误提示 | 解决方法 |
|---|---|
clang: command not found |
未安装杰理编译工具链,或环境变量未配置 |
cannot find -lxxx |
缺少对应的 .a 库文件,检查 include_lib/liba/ 目录 |
make: command not found |
Windows 下使用 tools/make_prompt.bat 打开编译命令环境 |
| 链接错误 | 检查 Makefile target 是否匹配当前芯片型号 |
- 连接硬件:将开发板通过 USB 或者 USB 升级工具 连接到 PC
- 进入编程模式:
- 方式一(USB):按住开发板上的烧录按键,然后复位或重新上电
- 方式二(USB/UART):通过 USB 升级工具进入编程模式
- 打开 USB 升级工具:启动烧录上位机
- 选择固件:选择编译生成的固件文件
- 开始烧录:点击下载按钮,等待烧录完成
注意:烧录前请确保 USB 升级工具正确连接且目标板已进入编程模式。关于 ISD_CONFIG.INI 配置详见 ISD 配置说明。
量产场景请使用杰理生产烧写工具(一拖二 / 一拖八),支持裸片烧写。详见 一拖二烧写器使用说明 · 一拖八烧写器使用说明
支持双备份固件升级。
- 编辑
sdk/app/src/mbox_flash/app_config.h可配置目标应用的功能开关
Q: 如何创建一个新的工程?
A: 基于现有的 .cbp 工程和 app/src/ 中的应用代码进行修改,配置对应用例即可。
Q: 如何切换不同的芯片型号? A: 在配置中选择对应的芯片型号,SDK 已为全系列预配置了统一的编译入口。
Q: Windows 下编译报错 make 不是有效命令?
A: 使用 sdk/make_prompt.bat 进入预配置的命令行环境,该脚本已设置好所有环境变量和 make 的路径。
Q: 如何加快编译速度?
A: 使用 -j 参数进行并行编译,如 make -j4(数字为并行任务数)。
- 串口日志:可通过 UART 输出调试日志
- GPIO Debug:利用空闲 GPIO 输出调试波形,测量时序
| 平台 | 群号/链接 | 状态 |
|---|---|---|
| 钉钉技术交流群 | 见 群二维码 | ✅ 可加入 |
| 资源 | 链接 |
|---|---|
| 📖 在线文档中心 | doc.zh-jieli.com/AD23 |
| 📚 SDK 版本历史 | SDK 发布版本信息 |
| 🔧 SDK 快速入门 | SDK 手册 |
| 📖 芯片用户手册 | AD23N 用户手册 |
| 📄 芯片选型 | 选型表 |
| 🎬 视频教程 | Bilibili 主页 |
| 🎵 MIDI 开发手册 | MIDI 应用开发文档 |
| 📦 FAE 支持 | FAE 支持仓库 |
| 🛒 开发板/烧录工具购买 | 杰理官方店铺 |
| 🐛 问题反馈 | Github Issues |
fw-AD23N_GP-MCU_SDK 支持 AD23N 系列芯片开发。本系列芯片支持通用 MCU 常见应用,可作为开发、评估、样品及量产使用,对应 SDK 版本请见 SDK 版本历史。
