一、前期准备
需自行搭建准备
Ubuntu 系统
推荐使用Ubuntu 18 及以上版本,可以参考我早期录制的视频:
https://www.bilibili.com/video/BV1ch411J7B1/?spm_id_from=333.999.0.0&vd_source=02a465997504a99b4366d967ab71e479
VScode 软件
使用最新的版本,也可以参考以上视频。
确保Ubuntu 系统有以下依赖
make、gcc、Python 3.7及以上版本、git
二、SDK 克隆
SDK 是模组编程的基础源码包,所有的开发都需要基于SDK进行,所以必须克隆,打开Vscode 并且远程连接到Ubuntu 虚拟机,打开终端进行克隆:
Github
git clone https://github.com/Ameba-AIoT/ameba-rtos.git
Gitee
git clone https://gitee.com/Ai-Thinker-Open/ameba-rtos.git
克隆结果如下:
正克隆到 'ameba-rtos'...
remote: Enumerating objects: 29976, done.
remote: Counting objects: 100% (3416/3416), done.
remote: Compressing objects: 100% (1736/1736), done.
remote: Total 29976 (delta 1725), reused 3220 (delta 1567), pack-reused 26560 (from 1)
接收对象中: 100% (29976/29976), 227.49 MiB | 16.32 MiB/s, 完成.
处理 delta 中: 100% (13489/13489), 完成.
正在更新文件: 100% (17742/17742), 完成.
安装依赖(必要)
SDK编译之前需要安装好依赖环境,不然会导致程序无法运行:
cd ameba-rtos
pip3 install -r tools/image_scripts/requirements.txt
三、编译工具克隆
编译工具就是专门给BW20系列模组编译程序用的一系列软件,如果没有编译工具,你的程序就无法编译。
BW20系列模组的编译工具链下载比较方便具体步骤如下:
-
修改 opt 权限
SDK在编译的时候,需要在 opt 文件夹创建目录,所以需要事先修改opt 的权限
cd /opt/..
sudo chmod 777 opt
-
下载编译工具
回到 ameba-rtos/amebadplus_gcc_project 文件夹
cd ameba-rtos/amebadplus_gcc_project
执行指令下载编译工具链
make toolchain URL=aliyun
示例
长度: 274482247 (262M) [application/x-bzip2]
正在保存至: “/opt/rtk-toolchain/asdk-10.3.1-linux-newlib-build-4072-x86_64.tar.bz2”
asdk-10.3.1-linux-newlib-build-4072-x86_64.tar.bz2 100%[=================================================================================================================>] 261.77M 18.2MB/s 用时 15s
2024-10-11 15:50:36 (18.0 MB/s) - 已保存 “/opt/rtk-toolchain/asdk-10.3.1-linux-newlib-build-4072-x86_64.tar.bz2” [274482247/274482247])
Download asdk-10.3.1-linux-newlib-build-4072-x86_64.tar.bz2 Success
Download End And Then Extract...
INSTALL SUCCESS
make[2]: 离开目录“/home/seahi/workspace/ameba-rtos/amebasmart_gcc_project/project_hp/asdk”
make[1]: 离开目录“/home/seahi/workspace/ameba-rtos/amebasmart_gcc_project/project_hp”
四、编译工程
4.1 编译工程
在amebadplus_gcc_project 的目录下,使用指令:
make all
4.2 烧录程序
BW20烧录程序的方法有两种——Windows 烧录工具烧录和Linux 命令行烧录。
- 烧录工具
- 命令行烧录
- 优点:
- 方便调试
- 可在Linux 终端烧录,不需要切换平台
- 缺点:
4.3 Windows 烧录工具
到安信可官网下载BW20的专属烧录工具:https://docs.ai-thinker.com/rtl87xx
步骤分为:
- 在烧录工具的左上角可以看到
File
按键,然后选择imagetool_for_ameba_d_plus_139704_\DeviceProfiles 路径下的:RTL8721F_FreeRTOS_NOR.rdev
- 在COM 口的下拉框选择对应的端口
- 选择 km4_boot_all.bin 固件
- 选择 km0_km4_app.bin 固件
- 点击
Download
- 开发板进入烧录模式
长按开发板的 Burn
键,在此期间按下开发板的 EN
键,即可进入烧录模式
示例
4.4 Linux 命令行烧录
命令行烧录程序不支持串口烧录,而且仅支持JLink 调试器烧录,因此,需要事先准备一个JLink 调试器及其驱动程序。接着下面的步骤进行配置。
驱动程序需要有JLinkGDBServer
4.4.1 JLink 连接开发板
根据表格连接开发板:
JLink |
BW20 开发版 |
备注 |
DIO(DATA) |
PA31 |
<br/> |
CLK |
PA30 |
<br/> |
GND |
GND |
<br/> |
4.4.2 打开GDB 服务
确保程序已经编译成功,新开一个终端,然后进入utils/jlink_script 目录:
cd amebadplus_gcc_project/utils/jlink_script
运行GDBServer
JLinkGDBServer -select USB -device Cortex-M23 -if SWD -scriptfile AP2_KM4.JLinkScript -port 2335
运行成功示例:
注意:
在烧录成功之前,不要关闭GDBServer 的终端。
4.4.3 烧录程序
回到之前的终端,或者新开终端,进入到ameba-rtos/amebadplus_gcc_project/project_km4 ,运行:make flash
cd ameba-rtos/amebadplus_gcc_project/project_km4
make flash
烧录成功示例: