概述
SDK(Software Development Kit,软件开发工具包)是官方为开发者打包好的一整套「开发工具箱」:里面既有现成的示例工程(点灯、串口、联网……),也有编译工具链和构建脚本。拿到它,你不需要自己搭环境、写底层驱动,改一改示例代码就能做出自己的程序。本系列所有教程都基于这个 SDK 进行开发。
用大白话讲:SDK 就像买回来就能用的「乐高套装」——盒子里带着图纸(示例工程)、拼装工具(编译器)和说明书(文档)。你要做的不是从零造零件,而是照着图纸拼出自己的作品。本教程先带你认识这个「套装」里都有什么。
本教程基于安信可官方 SDK(Ai-Thinker-Open/Ai-Thinker-WB2,版本
release_bl_iot_sdk_1.6.40)编写。安装步骤见 Linux 平台 与 Windows 平台。
SDK 是什么
官方仓库与镜像
SDK 由安信可官方维护在 GitHub 上,国内用户也可以使用 Gitee(码云)镜像,内容完全一致:
| 来源 | 地址 | 适用 |
|---|---|---|
| GitHub 官方仓库 | https://gitee.com/Ai-Thinker-Open/Ai-Thinker-WB2 | 国外网络环境 |
| Gitee 镜像(推荐国内) | https://gitee.com/Ai-Thinker-Open/Ai-Thinker-WB2 | 国内网络环境,速度快 |
📌 本系列教程引用的所有官方示例工程,都在该仓库的
applications/目录下,路径格式统一为applications/xxx/xxx/main.c。所有教程正文与代码均与官方仓库实际内容核对一致。
SDK 目录结构
克隆到本地后,SDK 根目录主要包含以下几部分(以 release_bl_iot_sdk_1.6.40 为例):
| 目录/文件 | 作用(大白话) |
|---|---|
applications/ | 官方示例工程(最重要):点灯、串口、Wi-Fi、蓝牙、云平台……每个子目录就是一个能直接编译烧录的完整工程 |
components/ | 组件库:官方封装好的功能模块(GPIO、UART、Wi-Fi 驱动等),你的代码通过调用它们操作硬件 |
toolchain/ | 编译工具链:负责把 C 代码「翻译」成开发板芯片能执行的机器码,按系统分 Linux/、Darwin/(苹果)、MSYS/(Windows)三个版本 |
make_scripts_riscv/ | 构建脚本:make 命令背后的「自动化流水线」,一般不用动 |
tools/ | 辅助工具(串口、烧录脚本等) |
version.mk | 当前 SDK 版本号 |
开发流程总览
拿到 SDK 后,开发一个功能的标准流程是「改代码 → 编译 → 烧录 → 看日志」四步循环:
- 进入示例工程:
cd applications/xxx(每个示例是独立目录) - 修改代码:编辑工程里的
main.c - 编译:
make -j8把 C 代码变成开发板能运行的固件(相当于「把设计图做成实物」) - 烧录:
make flash通过 USB 数据线把固件下载进开发板芯片(相当于「把实物送到手里」) - 看日志:开发板运行时通过串口输出运行信息(相当于「听它汇报工作」)
💡 本系列每篇教程都按这个流程走:硬件接线 → 改代码 → 编译 → 烧录 → 运行验证。所以环境搭好后第一篇 GPIO输出(点亮LED) 就能带你完整跑一遍,强烈建议先完成它。
环境路线怎么选
| 方案 | 系统 | 适合谁 | 官方支持 |
|---|---|---|---|
| Linux 原生 | Ubuntu/Debian 等 | 已装 Linux 或有双系统的用户 | ✅ 官方 README 推荐 |
| Windows + MSYS2 | Windows | 只有 Windows 电脑的用户 | ✅ 官方工具链自带 MSYS 版 |
| Windows + WSL | Windows 里跑 Linux | 想用 Linux 命令又不愿装双系统 | ⚠️ 可用,但官方烧录脚本需额外适配 |
💡 本教程对 Windows 采用官方支持的 MSYS2 方案(Windows 平台),对 Linux 用户提供官方 README 的完整流程(Linux 平台)。两种方案装好后,开发流程完全一致。
本文用到的命令汇总
git clone --recursive(仓库地址)
把 SDK 仓库连同全部子模块一起下载到本地(子模块含部分组件,不加 --recursive 会导致编译缺文件)。
参数:
--recursive:递归拉取子模块,必加(否则部分组件是空的)- 仓库地址:GitHub 或 Gitee 的仓库 URL,国内推荐 Gitee
返回值:命令正常结束即成功;中途报错(网络中断等)可重新执行
make -j8
在示例工程目录下编译固件(-j8 表示 8 个任务并行编译,更快)。
参数:
-j8:并行编译的核数,数字可改成你电脑的 CPU 核心数,如-j4、-j16
返回值:输出 ✓ Built target xxx 即编译成功;报错则按提示修改代码后重试
make flash(p=串口设备 b=波特率)
把编译好的固件通过串口烧录进开发板芯片(烧录前开发板需按住 EN 键进入下载模式)。
参数:
p=:串口设备号——Linux 是/dev/ttyUSB0这种格式,Windows 是COM3这种格式,以你电脑实际为准b=:烧录波特率(传输速度),官方固定用921600
返回值:进度条走到 100% 并提示烧录完成即成功
常见问题与踩坑提示
⚠️ 该选 Linux 还是 Windows 方案?
原因:两种方案各有适用人群,选错会绕弯路
解决:已有 Linux 环境(或愿意装双系统)选 Linux 平台;只有 Windows 电脑选 Windows 平台。两种方案装好后开发流程一样
⚠️ git clone 很慢或失败
原因:GitHub 在国内网络下经常很慢或断连
解决:改用 Gitee 镜像 https://gitee.com/Ai-Thinker-Open/Ai-Thinker-WB2,内容与 GitHub 完全一致
⚠️ clone 时没有加 --recursive,编译报一堆找不到文件
原因:SDK 的部分组件以子模块方式存在,没拉下来就是空的
解决:进入 SDK 目录执行 git submodule update --init --recursive 补拉子模块
⚠️ 每个教程开头都让 cd 进入 applications/xxx,到底是什么意思?
原因:cd 是「进入目录」命令,SDK 里的每个示例工程都是独立目录,编译必须在对应的工程目录内执行
解决:make 前先确认终端当前目录在目标工程下(可用 pwd 查看当前位置),否则会报 No rule to make target 找不到构建规则
运行自检
能回答出三个问题即通过本页:① SDK 从哪获取(GitHub/Gitee 链接)② 官方示例工程在哪个目录(applications/)③ 开发四步流程是什么(改代码 → 编译 → 烧录 → 看日志)。
遇到问题?
如有其他问题,请到统一的提问与讨论区:Ai-Thinker Discussions

