Files
arcs/arcs-sdk/docs/zh/get_started.rst
2026-08-13 16:50:52 +08:00

218 lines
5.4 KiB
ReStructuredText
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
.. _getting_started:
================
快速入门
================
本文档介绍如何快速开始使用 ARCS SDK 进行开发,包括环境搭建、编译示例和烧录运行。
.. note::
目前仅支持 Linux 平台,推荐使用 Ubuntu 18.04 以上版本。
.. _environment_setup:
环境搭建
========
自动搭建(推荐)
----------------
1. **下载开发工具包**
在 SDK 根目录下运行脚本:
.. code-block:: shell
./prepare_listenai_tools.sh
2. **下载工具链**
运行脚本下载工具链:
.. code-block:: shell
./prepare_toolchain.sh
3. **设置环境变量**
.. code-block:: shell
# 设置工具链路径
export NUCLEI_TOOLCHAIN_PATH=/path/to/toolchain
# 设置 ListenAI 工具包路径
export LISTENAI_TOOLS_PATH=/path/to/listenai-tools
.. warning::
**必须使用绝对路径!** 环境变量的路径必须是绝对路径(如 ``/home/user/toolchain``),不能使用相对路径(如 ``./toolchain````../toolchain``),否则会导致编译失败。
其中:
- ``NUCLEI_TOOLCHAIN_PATH`` 指向解压后的工具链路径(绝对路径)
- ``LISTENAI_TOOLS_PATH`` 指向解压后的 ListenAI 工具包路径(绝对路径)
手动搭建
--------
如果自动搭建失败,可以手动搭建开发环境:
1. **下载工具链**
下载对应平台的工具链并解压(如果已存在工具链,可跳过此步骤):
- `Linux 工具链下载地址 <http://listenai-firmware-delivery.oss-cn-beijing.aliyuncs.com/ARCS/tools/toolchain/linux-amd64/nuclei_riscv_newlibc_prebuilt_linux64_2025.02.tar.bz2>`_
2. **下载 ListenAI 开发工具包**
- `Linux 开发工具包下载地址 <http://listenai-firmware-delivery.oss-cn-beijing.aliyuncs.com/ARCS/tools/dev-tools/linux-amd64/v0.0.1/listenai-tools.tar.gz>`_
3. **设置环境变量**
.. code-block:: shell
# 设置工具链路径
export NUCLEI_TOOLCHAIN_PATH=/path/to/toolchain
# 设置 ListenAI 工具包路径
export LISTENAI_TOOLS_PATH=/path/to/listenai-tools
.. warning::
**必须使用绝对路径!** 环境变量的路径必须是绝对路径(如 ``/home/user/toolchain``),不能使用相对路径(如 ``./toolchain````../toolchain``),否则会导致编译失败。
其中:
- ``NUCLEI_TOOLCHAIN_PATH`` 指向解压后的工具链路径(绝对路径)
- ``LISTENAI_TOOLS_PATH`` 指向解压后的 ListenAI 工具包路径(绝对路径)
.. _quick_start:
快速开始
========
编译示例
--------
以 helloworld 工程为例,演示如何编译项目:
1. **编译命令**
在 SDK 根目录下执行:
.. code-block:: shell
./build.sh -C -S samples/helloworld -DBOARD=arcs_evb
命令参数说明:
- ``-S``: 指定项目源码路径
- ``-DBOARD``: 指定目标板型(必需参数,如 arcs_mini、arcs_evb 等)
- ``-C``: 清理构建目录(可选)
2. **编译输出**
编译成功后会在 ``build`` 目录下生成构建产物,包括:
- ``helloworld.bin``: 烧录文件
- ``helloworld.elf``: 调试文件
- 其他相关文件
.. _flashing:
烧录运行
========
准备工作
--------
1. **连接硬件**
将串口板连接到开发板:
- 开发板 TX 脚 (默认引脚PA2注意查看板型文件) 连接串口板 RX
- 开发板 RX 脚 (默认引脚PA3注意查看板型文件) 连接串口板 TX
- 开发板 GND 连接串口板 GND
2. **进入烧录模式**
按住 BOOT 脚后复位开发板,进入烧录模式。
.. note::
每次重新烧录前,都需要执行按住 BOOT 脚后复位开发板的操作。
自动烧录(推荐)
----------------
如果希望实现自动烧录,可以连接控制引脚:
- 开发板 BOOT 脚连接串口板 RTS 脚
- 开发板 RESET 脚连接串口板 DTR 脚
这样 cskburn 工具可以自动控制进入烧录模式。
烧录命令
--------
使用 cskburn 工具进行烧录:
.. code-block:: shell
./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``: 指定芯片类型
验证运行
--------
烧录完成后复位开发板,应该可以在串口控制台看到以下输出:
.. code-block:: text
Running on hart-id: 1
Hello, world!
.. _troubleshooting:
常见问题
========
1. **权限问题**
如果遇到串口权限问题,将当前用户添加到 dialout 组:
.. code-block:: shell
sudo usermod -a -G dialout $USER
然后重新登录。
2. **串口设备问题**
使用 ``dmesg````ls /dev/ttyUSB*`` 查看串口设备:
.. code-block:: shell
ls /dev/ttyUSB*
3. **环境变量问题**
确保已正确设置环境变量,可以使用以下命令检查:
.. code-block:: shell
echo $NUCLEI_TOOLCHAIN_PATH
echo $LISTENAI_TOOLS_PATH