快速入门
本文档介绍如何快速开始使用 ARCS SDK 进行开发,包括环境搭建、编译示例和烧录运行。
Note
目前仅支持 Linux 平台,推荐使用 Ubuntu 18.04 以上版本。
环境搭建
自动搭建(推荐)
下载开发工具包
在 SDK 根目录下运行脚本:
./prepare_listenai_tools.sh
下载工具链
运行脚本下载工具链:
./prepare_toolchain.sh
设置环境变量
# 设置工具链路径 export NUCLEI_TOOLCHAIN_PATH=/path/to/toolchain # 设置 ListenAI 工具包路径 export LISTENAI_TOOLS_PATH=/path/to/listenai-tools
其中:
NUCLEI_TOOLCHAIN_PATH指向解压后的工具链路径LISTENAI_TOOLS_PATH指向解压后的 ListenAI 工具包路径
手动搭建
如果自动搭建失败,可以手动搭建开发环境:
下载工具链
下载对应平台的工具链并解压(如果已存在工具链,可跳过此步骤):
下载 ListenAI 开发工具包
设置环境变量
# 设置工具链路径 export NUCLEI_TOOLCHAIN_PATH=/path/to/toolchain # 设置 ListenAI 工具包路径 export LISTENAI_TOOLS_PATH=/path/to/listenai-tools
其中:
NUCLEI_TOOLCHAIN_PATH指向解压后的工具链路径LISTENAI_TOOLS_PATH指向解压后的 ListenAI 工具包路径
快速开始
编译示例
以 helloworld 工程为例,演示如何编译项目:
编译命令
在 SDK 根目录下执行:
./build.sh -C -S samples/helloworld -DBOARD=arcs_evb
命令参数说明:
-S: 指定项目源码路径-DBOARD: 指定目标板型(必需参数,如 arcs_mini、arcs_evb 等)-C: 清理构建目录(可选)
编译输出
编译成功后会在
build目录下生成构建产物,包括:helloworld.bin: 烧录文件helloworld.elf: 调试文件其他相关文件
烧录运行
准备工作
连接硬件
将串口板连接到开发板:
开发板 TX 脚 (默认引脚PA2,注意查看板型文件) 连接串口板 RX
开发板 RX 脚 (默认引脚PA3,注意查看板型文件) 连接串口板 TX
开发板 GND 连接串口板 GND
进入烧录模式
按住 BOOT 脚后复位开发板,进入烧录模式。
Note
每次重新烧录前,都需要执行按住 BOOT 脚后复位开发板的操作。
自动烧录(推荐)
如果希望实现自动烧录,可以连接控制引脚:
开发板 BOOT 脚连接串口板 RTS 脚
开发板 RESET 脚连接串口板 DTR 脚
这样 cskburn 工具可以自动控制进入烧录模式。
烧录命令
使用 cskburn 工具进行烧录:
./tools/burn/cskburn -s /dev/ttyUSB0 -b 3000000 0x0 build/helloworld.bin -C arcs
命令参数说明:
-s: 指定烧录设备(串口设备路径)Note
请根据实际情况选择正确的串口设备:
使用
ls /dev/ttyUSB*或ls /dev/ttyACM*查看可用设备常见设备名:
/dev/ttyUSB0、/dev/ttyUSB1、/dev/ttyACM0等插入串口板时可使用
dmesg | tail查看系统分配的设备名
-b: 指定烧录波特率(推荐使用 3000000)0x0: 烧录起始地址(基于 0x30000000 flash 起始地址的偏移)build/helloworld.bin: 烧录文件路径-C arcs: 指定芯片类型
验证运行
烧录完成后复位开发板,应该可以在串口控制台看到以下输出:
Running on hart-id: 1
Hello, world!
常见问题
权限问题
如果遇到串口权限问题,将当前用户添加到 dialout 组:
sudo usermod -a -G dialout $USER
然后重新登录。
串口设备问题
使用
dmesg或ls /dev/ttyUSB*查看串口设备:ls /dev/ttyUSB*环境变量问题
确保已正确设置环境变量,可以使用以下命令检查:
echo $NUCLEI_TOOLCHAIN_PATH echo $LISTENAI_TOOLS_PATH