簡介
HPM6700/6400 系列 MCU 是來自上海先楫半導體科技有限公司的高性能實時 RISC-V 微控制器,采用RISC-V內核,主頻高達816MHz,為工業自動化及邊緣計算應用提供了極大的算力、高效的控制能力及豐富的多媒體功能。
HPM SDK支持用Cmake為Segger和GCC提供示例項目,并同時集成進RT Thread、Zephyr等開源項目中。對于鐘愛于命令行界面的極客來說,Linux環境編譯是必不可少的,本文介紹了先楫半導體高性能MCU配套的HPM SDK(以下可簡稱SDK)在Linux系統上開發環境搭建指導說明,更多信息,請參考官網應用手冊。
Linux環境準備
·Linux建議使用 Ubuntu 18 以上的 LTS 版本。
·Linux環境交叉編譯工具鏈:riscv32-gnu-toolchain-linux.zip
· Linux環境openocd工具:openocd_linux_x86-64.tar.gz
·HPM SDK
環境搭建
A.編譯工具安裝
sudo apt install build-essential cmake ninja-build libc6-i386 libc6-i386-cross libstdc++6-i386-cross
B.用于debugconsole串口工具cutecom安裝
sudo apt install cutecom
C. Python安裝
sudo apt install python3 python3-pip
D. 環境變量配置
l 下載riscv32-gnu-toolchain-linux.zip工具鏈壓縮包,并解壓到任意目錄;
l 下載openocd_linux_x86-64.tar.gz工具壓縮包,并解壓到任意目錄;
l 下載HPM SDK,并解壓到任意目錄;
l申明系統環境變量“GNURISCV_TOOLCHAIN_PATH”指向工具鏈路徑;
l申明系統環境變量“HPM_SDK_BASE”指向SDK根目錄;
l申明系統環境變量“OPENOCD_SCRIPTS”指向SDK目錄borads/openocd;
l 添加openocd工具路徑到bash變量;
為了安全起見,修改.bashrc文件添加環境變量:
vi ~/.bashrc
注意:修改.bashrc文件后必須重啟終端才能生效。
在文件末尾添加:
export GNURISCV_TOOLCHAIN_PATH=/home/zhangeg/work/toolchain/riscv32-gnu-toolchain-linux
export HPM_SDK_TOOLCHAIN_VARIANT=
export HPM_SDK_BASE=/home/zhangeg/work/hpm_sdk
export OPENOCD_SCRIPTS=$HPM_SDK_BASE/boards/openocd
export PATH=$PATH:/home/zhangeg/work/toolchain/openocd_linux_x86-64/bin/
注意:路徑替換為自己的實際路徑


編輯保存.bashrc文件后,重啟終端。
E. 安裝python依賴包
pip3 install --user -r $HPM_SDK_BASE/scripts/requirements.txt

構建編譯
A. 切換到示例hello_world目錄
cd samples/hello_world

B. 創建build目錄并進入
mkdir build
cd build

C. Ninja-build產生構建文件
cmake -GNinja -DBOARD=hpm6750evkmini..

D. ninja編譯
ninja

當編譯完成后,生成的elf以及對應其他文件可以在output目錄中找到。

調試運行
A. 切換目錄到openocd:
PC電腦連接HPM6750 EVK mini開發板。
切換到sdk boards/openocd目錄:

B. 運行openocd:
需要按順序指定配置文件: 調試器配置, 內核配置, 目標板配置。例如,通過ft2232在hpm6750evkmini上進行單核調試,可以運行如下命令:
openocd -f probes/ft2232.cfg -f soc/hpm6750-single-core.cfg -f boards/hpm6750evkmini.cfg

注意:
如遇到:
1.Error: libusb_open() failed with LIBUSB_ERROR_NOT_FOUND,檢查FTDI usb驅動。如果驅動未正確安裝,請重新安裝。
2.Error: libusb_open() failed with LIBUSB_ERROR_ACCESS,權限問題:sudo chmod -R 777 /dev/bus/

C. 打開串口cutecom工具
打開串口cutecom工具,設置波特率115200,并打開串口。

D. GDB調試運行:
打開另一個終端,切換到hello_world目錄
cd samples/hello_world
啟動GDB client調試:
$GNURISCV_TOOLCHAIN_PATH/bin/riscv32-unknown-elf-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安裝激活
A.SES下載
Segger Embedded Studio for RISC-V 可以從 https://www.segger.com/downloads/embedded-studio/ 下載。

下載linux版本,并解壓。
B.SES 安裝
sudo ./install_segger_embedded_studio

依次next 直到finsh。



C.SES激活
激活流程:
http://www.hpmicro.com/support/detail.html?id=e9b65dc7-4cb4-4749-bf41-dbb9e725c32b
-
Linux
+關注
關注
88文章
11746瀏覽量
218828
發布評論請先 登錄
開發者分享 | 一次完整的 HPM EtherCAT 實戰:環境、通信與極限測試
RK3568 Android11編譯環境搭建及報錯解決指南
2026?啟芯程 | 先楫 HPM_SDK v1.11.0 重磅發布
Linux搭建平臺
tiny4412 Qt環境搭建
HPM5E00EVK,ecat_io例程,卡在DisableSyncManChannel函數
hpm的vscode開發環境搭建openocd燒錄問題求解
HPM monitor studio 只能在 hpm芯片+hpm_sdk 的組合下才能用嗎?
請教RK3568的SDK編譯步驟是怎樣的?
【HZ-RK3568開發板免費體驗】基于SDK固件編譯
開發環境一鍵部署 | 如何搭建Docker環境編譯ARM程序?
如何單獨編譯linux內核?
請問編譯純rtos到底是選擇Linux+rtos的sdk編譯only rtos還是直接使用rtos sdk?
基于米爾安路飛龍派FPGA FPSoC+開發環境搭建以及鏡像燒錄
不借助Linux系統,在Windows下如何搭建ZMC900E交叉編譯環境
“極客福音!HPM SDK Linux編譯環境搭建”
評論