对先楫早有耳闻,据说做的挺不错的。这次有机会拿到HPM6750EVKMINI开发板的试用,刚好接机好好了解一下。
这次的开发板是HPM6750EVK MINI,相对于以前看到别人玩的,确实挺Mini的:
但Mini不减功能,接口丰富,而且是Type-C,良心企业!
经过一番了解,下载了官方提供的HPM_SDK,其中有关于Linux环境的说明,参考之后,一番尝试,搞定嘞macOS环境下的VSCode开发环境。
参考的文档为:
hpm_sdk/README_zh.md at main · hpmicro/hpm_sdk (github.com)
具体的步骤如下:
1. 下载hpm_sdk
mkdir -p ~/hpm_workgit clone https://github.com/hpmicro/hpm_sdk.gitcd hpm_sdk复制代码
2、设置
GNURISCV_TOOLCHAIN_PATH
HPM板子的代码,要使用 riscv32-unknown-elf,可以找遍了网上,都没有找到 for macOS的。
从 riscv-collab/riscv-gnu-toolchain: GNU toolchain for RISC-V, including GCC (github.com) 下载了 riscv-gnu-toolchain 的源码,编译riscv32的,结果失败了。
后来,经过一番了解,原来,那要什么专门for riscv32的版本呀,编译riscv64的版本,只要启用了multilibs,就能够支持riscv32,也就是用riscv64-unknown-elf一样可以编译。
在macOS上,安装了brew的话,使用下面三行代码,轻松搞定brew tap riscv-software-src/riscv
brew install riscv-toolsbrew link --overwrite riscv-gnu-toolchain复制代码
安装后,还需要修改一下HPM_SDK中的cmake配置文件,具体如下:
可以使用下面的命令,轻松搞定:
cd ~/hpm_work/hpm_sdksed -i "" "s#riscv32-unknown-elf#riscv64-unknown-elf#g" cmake/toolchain.cmake复制代码
3. 编译openocd
先楫使用的openocd是定制的,类似WCH,需要自己编译,步骤如下:
cd ~/hpm_workgit clone https://github.com/hpmicro/riscv-openocd.gitcd riscv-openocd./bootstrap./configure --prefix=/usr/local/openocd-hpm --disable-werror --disable-internal-jimtcl --disable-internal-libjaylink --enable-ftdi --enable-cmsis-dap-v2 --enable-cmsis-dap CPPFLAGS=-I/usr/local/Cellar/jimtcl/0.81_1/include LDFLAGS=-L/usr/local/Cellar/jimtcl/0.81_1/libmake -j4sudo make install复制代码
编译的过程中,可能会提示./doc/openocd.texi中@raggedright的错误,按照如下连接修改即可:
https://review.openocd.org/c/openocd/+/2781/2/doc/openocd.texi#b8463
4. 安装依赖,设置环境
cd ~/hpm_work/hpm_sdk[color=rgb(36, 41, 47)][backcolor=var(--color-canvas-subtle)][font=ui-monospace, SFMono-Regular, "][size=13.6px]pip3 install --user -r [/size][/font][/backcolor][/color][color=var(--color-prettylights-syntax-string)][backcolor=var(--color-canvas-subtle)][font=ui-monospace, SFMono-Regular, "][size=13.6px]"$HPM_SDK_BASE/scripts/requirements.txt"[/size][/font][/backcolor][/color][color=var(--color-prettylights-syntax-string)][backcolor=var(--color-canvas-subtle)][font=ui-monospace, SFMono-Regular, "][size=13.6px]brew install ninja[/size][/font][/backcolor][/color]. ./env.shexport GNURISCV_TOOLCHAIN_PATH=/usr/local复制代码
5. 编译测试代码:
cd ~/hpm_work/hpm_sdk. ./env.shexport GNURISCV_TOOLCHAIN_PATH=/usr/localcd samples/hello_worldmkdir buildcd buildcmake -GNinja -DBOARD=hpm6750evkmini -DCMAKE_BUILD_TYPE=flash_xip ..ninja复制代码 成功编译后,结果如下: