Skip to content

概述

SDK(Software Development Kit,软件开发工具包)是官方为开发者打包好的一整套「开发工具箱」:里面既有现成的示例工程(点灯、串口、联网……),也有编译工具链和构建脚本。拿到它,你不需要自己搭环境、写底层驱动,改一改示例代码就能做出自己的程序。本系列所有教程都基于这个 SDK 进行开发。

用大白话讲:SDK 就像买回来就能用的「乐高套装」——盒子里带着图纸(示例工程)、拼装工具(编译器)和说明书(文档)。你要做的不是从零造零件,而是照着图纸拼出自己的作品。本教程先带你认识这个「套装」里都有什么。

本教程基于安信可官方 SDKAi-Thinker-Open/Ai-Thinker-WB2,版本 release_bl_iot_sdk_1.6.40)编写。安装步骤见 Linux 平台Windows 平台

🎯本页目标认识 Ai-WB2 SDK:它能干什么、目录里有什么、怎么获取,以及 Linux/Windows 两条环境路线怎么选。
🧰前置条件① 一台电脑(Windows 或 Linux)② Ai-WB2 开发板一块(Type-C 数据线)。
🔗相关章节环境安装见 [Linux 平台](./get-start_for_Linux) / [Windows 平台](./get-start_for_Windows);装好后从 [GPIO输出(点亮LED)](../basic/gpio_led) 开始第一个程序。

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 后,开发一个功能的标准流程是「改代码 → 编译 → 烧录 → 看日志」四步循环:

  1. 进入示例工程cd applications/xxx(每个示例是独立目录)
  2. 修改代码:编辑工程里的 main.c
  3. 编译make -j8 把 C 代码变成开发板能运行的固件(相当于「把设计图做成实物」)
  4. 烧录make flash 通过 USB 数据线把固件下载进开发板芯片(相当于「把实物送到手里」)
  5. 看日志:开发板运行时通过串口输出运行信息(相当于「听它汇报工作」)

💡 本系列每篇教程都按这个流程走:硬件接线 → 改代码 → 编译 → 烧录 → 运行验证。所以环境搭好后第一篇 GPIO输出(点亮LED) 就能带你完整跑一遍,强烈建议先完成它。

环境路线怎么选

方案系统适合谁官方支持
Linux 原生Ubuntu/Debian 等已装 Linux 或有双系统的用户✅ 官方 README 推荐
Windows + MSYS2Windows只有 Windows 电脑的用户✅ 官方工具链自带 MSYS 版
Windows + WSLWindows 里跑 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

Released under the MIT License. Build Time 2026-09-11 14:52:23