下载terapines工具链参考:https://1nfinite.ai/t/terapines-zcc-risc-v/70
下载HPMicro SDK链接: https://github.com/hpmicro/hpm_sdk.git
**注意:git clone 下载的SDK确保是V1.6.0的版本,此版本的SDK添加了zcc编译器的支持。
SDK导入
HPMicro SDK是一个CMake工程,所以我们需要进行CMake导入
- 鼠标点击File 选择Import CMake Project
- 如下图所示Project Root Path填入SDK的根目录。CMake Work Directory填入在项目中build文件夹目录,build目录需要自行创建,例如我要导入SDK 中的coremark这个项目,在导入前我需要在SDK目录中的sample/coremark目录下新建一个build文件夹,往CMake Work Directory填入新建的build文件夹的绝对路径。CMake Arguments填入CMake参数“-DBOARD=hpm6750evk …”表示编译hpm6750的目标程序,如果要编译hpm6200的目标程序则填写
-DBOARD=hpm6200evk ..
这个参数。Environment Variables填入CMake运行时所需要的环境变量分别是
GNURISCV_TOOLCHAIN_PATH
工具链目录的绝对路径,如:GNURISCV_TOOLCHAIN_PATH=/home/lt/APP/Terapines/zstudio/5.08/zstudio-pro-ubuntu22/resources/app/resources/toolchains/zcc
,在ZStudio安装目录resources/app/resources/toolchains/zcc
中可以找到工具链。HPM_SDK_TOOLCHAIN_VARIANT=zcc
使用ZCC工具链进行编译,HPM_SDK_BASE
是SDK根目录的绝对路径,如:HPM_SDK_BASE=/home/lt/work/SDK/hpmicro/5.07/hpm_sdk
,以上信息填写完成点击Import即可
- 导入成功左侧项目导航栏会出现hpm_sdk_gcc_lib、hpm_sdk_lib、demo这三个工程
配置与编译
- 在Active Project中选择hpm_sdk_gcc_lib这个工程随后点击做下方的Configuration for Active Project
- 在Language Standard中选择GNU17,随后点击Save
-
随后点击 Build编译hpm_sdk_gcc_lib这个工程
-
对hpm_sdk_lib、demo这两个工程重复上面1、2、3步骤完成编译完成对hpm_sdk_lib、和demo的编译。注意:一定要对hpm_sdk_lib、demo两个工程执行1、2步骤才能执行第三个编译步骤,否则直接执行步骤三编译会报错
-
编译成功在demo工程output/zcc/risc-v/debug/build-output目录下生成demo可执行文件
运行调试
先楫半导体OpenOCD下载,参考连接https://1nfinite.ai/t/terapines-zcc-risc-v-mcu/78/1
目录 “下载启动OpenOCD与开发板建立连接”
在ZStudio中配置OpenOCD
- 点击左上方功能框View,选择OpenOCD Explorer
- 点击上方“+”号,添加OpenOCD配置
- 在Add OpenOCD Configuration中填入 OpenOCD配置,OpenOCD Name和Board Name分别为OpenOCD的名字和目标板卡的名字,这里可以自由定义。OpenOCD Excutable为下载好的先楫半导体OpenOCD的可执行文件路径。
OpenOCD Configuration File 为添加OpenOCD启动配置文件路径,这里我们使用的是hpm6750evk这个开发板,所以会有三个配置文件,分别是hpm6750-single-core.cfg、ft2232.cfg、hpm6750evkmini.cfg,将这个三个文件的绝对路径添加到OpenOCD Configuration File即可。当然如果是其他型号的开发板就要选择其他的配置文件。添加完成点击Save保存。
- OpenOCD配置添加完成,鼠标右击自己先前添加的OpenOCD配置点击Start检查OpenOCD是否启动成功
- OpenOCD启动成功如下图所示,随后鼠标右击将其关闭(注意:运行了OpenOCD后确认可以正常启动,在程序运行前要将其关闭,因为在点击Run程序和Debug的时候会启动OpenOCD,如何此时OpenOCD被人为先前启动了会出错)
配置串口
- 配置ZStudio串口工具,点击View->Serial POrt Monitor
- 在Serial Port Monitor控制台中右侧点击“+”号添加监视串口,在Serial Port中选择开发板对应的串口驱动,Baud Rate设置为115200,设置完成点击OK,打开串口驱动
运行
- 点击Run右侧设置按钮
- 在Run Configuration 的Connect Target中选择Board,在OpenOCD Configuration中选择先前创建的OpenOCD配置,点击Save
- 点击Run即可将程序下载到开发板中运行,coremark程序输出结果如下图所示
调试
- 和Run一样我们需要设置调试选项,是仿真器调试还是开发板调试,点击Debug右侧的按钮
选择Connect Target中选择Board,在OpenOCD Configuration中选择先前创建的OpenOCD配置,点击Save
- 我们在202行处打一个断点,点击Debug
- 随后跳转到调试界面,在此你可以执行单步跳过,步入步出,查看寄存器和查看变量值