快速入门

依赖项的最低版本要求

名称

版本

CMake

3.13

Python

3.8

安装依赖项

以 Ubuntu 为例

  1. 安装工具

    sudo apt install build-essential cmake ninja-build libc6-i386 libc6-i386-cross libstdc++6-i386-cross
    
  2. 安装 Python 3(最低 3.8.5)和 pip

    sudo apt install python3 python3-pip
    

准备工具链和环境变量

支持的工具链

  • gnu-gcc(默认工具链)

  • nds-gcc

  • zcc

工具链设置

  1. 下载并解压工具链

    • 将工具链包解压到特定路径(例如,TOOLCHAIN_PATH)。可执行文件 riscv32-unknown-elf-gcc 应位于 TOOLCHAIN_PATH/bin

  2. 设置环境变量

    假设使用 zsh

    export GNURISCV_TOOLCHAIN_PATH=TOOLCHAIN_PATH
    export HPM_SDK_TOOLCHAIN_VARIANT=
    

环境变量

source env.sh

安装 Python 依赖项

pip3 install --user -r "$HPM_SDK_BASE/scripts/requirements.txt"

使用 GNU GCC 工具链构建应用程序

完成上述步骤后,可以生成和构建 SDK 项目。以下步骤描述如何构建一个示例(例如,hello_world):

  1. 导航到应用程序目录

cd samples/hello_world
  1. 创建构建目录

mkdir build
  1. 切换到”build”目录

cd build
  1. 为 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 ..
  1. 构建项目

ninja

构建完成后,ELF 文件和其他应用程序相关文件(例如,映射文件、汇编源文件或二进制文件)可以在 output 目录中找到。

快速指南:运行/调试应用程序(hello_world)

  1. 连接开发板

  • 包括调试器(默认支持 JLink)和串口。

  1. 为开发板供电

  2. 打开控制台

  • 连接到调试串口波特率为115200。

  1. 安装 OpenOCD

  • 可以通过包管理系统安装,或从 SourceForge 或 GitHub 下载。确保其版本 > 0.11。

  1. 设置环境变量

source env.sh
  1. 启动 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 DriverReplace Driver

  1. 导航到 hello_world 目录

cd samples/hello_world
  1. 在另一个终端中启动 GDB 客户端

TOOLCHAIN_PATH/bin/riscv32-unknown-elf-gdb
  1. 将 GDB 客户端连接到 GDB 服务器

gdb> file build/output/demo.elf
gdb> target remote localhost:3333
gdb> load
gdb> b main
gdb> c
  1. 验证输出

  • 在调试控制台上,应打印”hello_world”。

使用 Segger Embedded Studio 构建应用程序

  1. 下载 Segger Embedded Studio for RISC-V

  2. 生成项目文件

    • 在为 Ninja 生成构建文件时(如 使用 GNU GCC 工具链构建应用程序 -> “4. 为 Ninja 生成构建文件” 中所述),将生成 Segger Embedded Studio 的项目文件。

    • 项目文件 (.emProject) 可以在 build/segger_embedded_studio/ 中找到。

    备注

    openocd 可执行文件需要在当前控制台的 PATH 变量中找到。否则,项目文件中的调试配置将不会生成,需要在 Segger Embedded Studio 中手动配置。