[i=s] 本帖最后由 xiaozhou 于 2025-11-11 20:50 编辑 [/i]
材料清单
- BW20-12F 开发板(带 USB 串口/FTDI/CH340 等转串口模块)
- USB A→Micro-USB 或 USB-C(取决开发板接口)数据线,用于连接开发板到电脑串口/烧录/通信
- Ubuntu 系统(或虚拟机中安装 Ubuntu)
- 显示器、键盘、鼠标(如果是物理机)或宿主机 + 虚拟机环境
- 网络连接(用于下载 SDK、工具链、依赖包)
- 推荐:外部电源或可靠的 USB 电源,避免供电不足导致问题
环境搭建教程(Ubuntu)
1. 获取 SDK
cd ~/Desktop
git clone https://github.com/Ameba-AIoT/ameba-rtos.git
2.获取工具链
路径一定要在 /opt/rtk-toolchain下不然后面的脚本会报错
wget https://rs-wn.oss-cn-shanghai.aliyuncs.com/prebuilts-linux-1.0.3.tar.gz
3. 安装 Python 环境及虚拟环境支持
首先要保证python版本在3.7-3.9之间最好这里我重新安装了3.8安装好后
sudo apt update
sudo apt install python3 python3-pip python3-venv libssl-dev libncurses5
libssl-dev libncurses5 是为了交叉编译环境中的终端/SSL 支持。
如果提示:
The virtual environment was not created successfully because ensurepip is not available …
→ 说明缺少 python3-venv 包。执行:
sudo apt install python3-venv
4.加载环境
回到 SDK 根目录:
source ameba.sh
应显示工具链路径有效。
5. 创建你的示例工程
参考大佬的文章:【新提醒】【BW20-12F开发板评测】1、统信UOS搭建开发环境 - BW系列 - 物联网开发者社区-安信可论坛 - Powered by Discuz!
我把工程放在: ~/Desktop/ameba/ameba-rtos/my_project/led
在该目录下你需要:
led.c (你的主程序)
led_example.c(如果需要示例任务)
gpio_ext.h(你已写)
CMakeLists.txt(参考帖子中的模板)
5. 编译工程
进入 amebadplus_gcc_project 目录:
cd ~/Desktop/ameba/ameba-rtos/amebadplus_gcc_project
build.py -a ~/Desktop/ameba/ameba-rtos/my_project/led
会生成一个bin文件

6. 烧录到开发板
虚拟机有个问题就是串口可能无法正常识别,但可以通过命令
sudo modprobe usbserial
sudo modprobe ch341
加载驱动模块
但其实还是烧录不起不知道啥原因也有可能我没有进对烧录模式
最后我把生成好的bin文件传到了windows中通过Flash 烧写工具 — Ameba IoT Docs 文档
这里也参考了大佬的【新提醒】【BW20-12F开发板初测】烧录点灯 - BW系列 - 物联网开发者社区-安信可论坛 - Powered by Discuz!

最后点击下载再重启板子终于点亮灯了!

7. 我遇到的问题总结与解决
| 问题 |
原因 |
解决方法 |
虚拟环境创建失败:ensurepip is not available |
未安装 python3-venv |
执行 sudo apt install python3-venv |
RTK software suite not exist |
/opt/rtk-toolchain缺少工具链 |
下载并解压工具链至该目录 |
unterminated #ifndef或 unknown type name 'ifndef' |
头文件宏写错 |
检查 #ifndef/#define/#endif是否配对 |
编译成功但烧录失败:Enter download mode fail |
未进入下载模式或串口配置错误 |
检查板子 boot 模式,调整波特率,查看串口日志 |
找不到 .bin文件 |
构建目录不熟悉 |
在ameba-rtos/amebadplus_gcc_project下寻找 |