快速入门
依赖项的最低版本要求
名称 |
版本 |
|---|---|
CMake |
3.13 |
Python |
3.8 |
安装依赖项
以 Ubuntu 为例
安装工具
sudo apt install build-essential cmake ninja-build libc6-i386 libc6-i386-cross libstdc++6-i386-cross
安装 Python 3(最低 3.8.5)和 pip
sudo apt install python3 python3-pip
安装 Chocolatey
Chocolatey 是一个 Windows 的包管理器,可以简化本地 Windows 依赖项的安装。
按照 Chocolatey 安装 页面上的说明安装 Chocolatey。
以”管理员”身份打开”cmd.exe”。
禁用全局确认,以避免在安装单个程序时需要确认:
choco feature enable -n allowGlobalConfirmation
安装 CMake
choco install cmake --installargs 'ADD_CMAKE_TO_PATH=System'
安装其他工具
choco install git python ninja
关闭管理员命令提示符窗口
准备工具链和环境变量
支持的工具链
gnu-gcc(默认工具链)
nds-gcc
zcc
工具链设置
下载并解压工具链
将工具链包解压到特定路径(例如,
TOOLCHAIN_PATH)。可执行文件riscv32-unknown-elf-gcc应位于TOOLCHAIN_PATH/bin。
设置环境变量
假设使用 zsh
export GNURISCV_TOOLCHAIN_PATH=TOOLCHAIN_PATH export HPM_SDK_TOOLCHAIN_VARIANT=
set GNURISCV_TOOLCHAIN_PATH=TOOLCHAIN_PATH set HPM_SDK_TOOLCHAIN_VARIANT=
下载并解压工具链
将工具链包解压到特定路径(例如,
TOOLCHAIN_PATH)。可执行文件riscv32-elf-gcc应位于TOOLCHAIN_PATH/bin。
设置环境变量
假设使用 zsh
export GNURISCV_TOOLCHAIN_PATH=TOOLCHAIN_PATH export HPM_SDK_TOOLCHAIN_VARIANT=nds-gcc
set GNURISCV_TOOLCHAIN_PATH=TOOLCHAIN_PATH set HPM_SDK_TOOLCHAIN_VARIANT=nds-gcc
备注
对于 Windows,Andes 编译器需要以下库: -
cygwin1.dll-cygncursesw-10.dll确保它们的路径已添加到系统环境变量PATH中。
下载并解压工具链
将工具链包解压到特定路径(例如,
TOOLCHAIN_PATH)。
设置环境变量
export GNURISCV_TOOLCHAIN_PATH=TOOLCHAIN_PATH export HPM_SDK_TOOLCHAIN_VARIANT=zcc
set GNURISCV_TOOLCHAIN_PATH=TOOLCHAIN_PATH set HPM_SDK_TOOLCHAIN_VARIANT=zcc
环境变量
source env.sh
env.cmd
手动声明一个环境变量 HPM_SDK_BASE,指向 SDK 根路径。
使用 zsh,假设 SDK 位于 $HOME/hpm_sdk
export HPM_SDK_BASE=$HOME/hpm_sdk
假设 SDK 位于 c:\hpm_sdk
set HPM_SDK_BASE=c:\hpm_sdk
安装 Python 依赖项
pip3 install --user -r "$HPM_SDK_BASE/scripts/requirements.txt"
默认情况下,安装 Python 3.x 后,python3/pip3 在 Windows 上不可用。只有 python/pip 可用。
pip install --user -r "%HPM_SDK_BASE%/scripts/requirements.txt"
使用 GNU GCC 工具链构建应用程序
完成上述步骤后,可以生成和构建 SDK 项目。以下步骤描述如何构建一个示例(例如,hello_world):
导航到应用程序目录
cd samples/hello_world
创建构建目录
mkdir buildmd build
切换到”build”目录
cd build
为 Ninja 生成构建文件
cmake -GNinja -DBOARD=hpm6750evkmini ..备注
如果提示”CMAKE_MAKE_PROGRAM is not set”,请在前一个命令中附加
-DCMAKE_MAKE_PROGRAM=YOUR_MAKE_EXECUTABLE_PATH。(将NINJA_PATH替换为ninja所在的文件夹):cmake -GNinja -DBOARD=hpm6750evkmini -DCMAKE_MAKE_PROGRAM=NINJA_PATH/ninja ..
构建项目
ninja构建完成后,ELF 文件和其他应用程序相关文件(例如,映射文件、汇编源文件或二进制文件)可以在
output目录中找到。
快速指南:运行/调试应用程序(hello_world)
连接开发板
包括调试器(默认支持 JLink)和串口。
为开发板供电
打开控制台
连接到调试串口波特率为115200。
安装 OpenOCD
可以通过包管理系统安装,或从 SourceForge 或 GitHub 下载。确保其版本 > 0.11。
设置环境变量
source env.shenv.cmd
或者,手动设置
OPENOCD_SCRIPTS环境变量:set OPENOCD_SCRIPTS=%HPM_SDK_BASE%\boards\openocd
启动 OpenOCD
使用探针类型、核心类型和板类型的多个配置文件。例如,以下命令为 HPM6750EVKMini 上的单核设置 OpenOCD GDB 服务器,使用 FT2232 探针:
openocd -f probes/ft2232.cfg -f soc/hpm6750-single-core.cfg -f boards/hpm6750evkmini.cfg备注
如果使用 FTDI 调试器并遇到错误
Error: libusb_open() failed with LIBUSB_ERROR_NOT_FOUND,请检查 FTDI USB 驱动程序。如果未正确安装,请使用 zadig 更新: - 打开 zadig,点击Options -> List All Devices。 - 选择Dual RS232-HS (Interface 0)。 - 点击Install Driver或Replace Driver。
导航到 hello_world 目录
cd samples/hello_world
在另一个终端中启动 GDB 客户端
TOOLCHAIN_PATH/bin/riscv32-unknown-elf-gdbTOOLCHAIN_PATH/bin/riscv32-elf-gdb
将 GDB 客户端连接到 GDB 服务器
gdb> file build/output/demo.elf gdb> target remote localhost:3333 gdb> load gdb> b main gdb> c
验证输出
在调试控制台上,应打印”hello_world”。
使用 Segger Embedded Studio 构建应用程序
下载 Segger Embedded Studio for RISC-V
可以从 Segger 下载。
生成项目文件
在为 Ninja 生成构建文件时(如 使用 GNU GCC 工具链构建应用程序 -> “4. 为 Ninja 生成构建文件” 中所述),将生成 Segger Embedded Studio 的项目文件。
项目文件 (.emProject) 可以在
build/segger_embedded_studio/中找到。
备注
openocd可执行文件需要在当前控制台的PATH变量中找到。否则,项目文件中的调试配置将不会生成,需要在 Segger Embedded Studio 中手动配置。