簡(jiǎn)介
HPM6700/6400 系列 MCU 是來(lái)自上海先楫半導(dǎo)體科技有限公司的高性能實(shí)時(shí) RISC-V 微控制器,采用RISC-V內(nèi)核,主頻高達(dá)816MHz,為工業(yè)自動(dòng)化及邊緣計(jì)算應(yīng)用提供了極大的算力、高效的控制能力及豐富的多媒體功能。
HPM SDK支持用Cmake為Segger和GCC提供示例項(xiàng)目,并同時(shí)集成進(jìn)RT Thread、Zephyr等開(kāi)源項(xiàng)目中。對(duì)于鐘愛(ài)于命令行界面的極客來(lái)說(shuō),Linux環(huán)境編譯是必不可少的,本文介紹了先楫半導(dǎo)體高性能MCU配套的HPM SDK(以下可簡(jiǎn)稱(chēng)SDK)在Linux系統(tǒng)上開(kāi)發(fā)環(huán)境搭建指導(dǎo)說(shuō)明,更多信息,請(qǐng)參考官網(wǎng)應(yīng)用手冊(cè)。
Linux環(huán)境準(zhǔn)備
·Linux建議使用 Ubuntu 18 以上的 LTS 版本。
·Linux環(huán)境交叉編譯工具鏈:riscv32-gnu-toolchain-linux.zip
· Linux環(huán)境openocd工具:openocd_linux_x86-64.tar.gz
·HPM SDK
環(huán)境搭建
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. 環(huán)境變量配置
l 下載riscv32-gnu-toolchain-linux.zip工具鏈壓縮包,并解壓到任意目錄;
l 下載openocd_linux_x86-64.tar.gz工具壓縮包,并解壓到任意目錄;
l 下載HPM SDK,并解壓到任意目錄;
l申明系統(tǒng)環(huán)境變量“GNURISCV_TOOLCHAIN_PATH”指向工具鏈路徑;
l申明系統(tǒng)環(huán)境變量“HPM_SDK_BASE”指向SDK根目錄;
l申明系統(tǒng)環(huán)境變量“OPENOCD_SCRIPTS”指向SDK目錄borads/openocd;
l 添加openocd工具路徑到bash變量;
為了安全起見(jiàn),修改.bashrc文件添加環(huán)境變量:
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/
注意:路徑替換為自己的實(shí)際路徑
編輯保存.bashrc文件后,重啟終端。
E. 安裝python依賴(lài)包
pip3 install --user -r $HPM_SDK_BASE/scripts/requirements.txt
構(gòu)建編譯
A. 切換到示例hello_world目錄
cd samples/hello_world
B. 創(chuàng)建build目錄并進(jìn)入
mkdir build
cd build
C. Ninja-build產(chǎn)生構(gòu)建文件
cmake -GNinja -DBOARD=hpm6750evkmini..
D. ninja編譯
ninja
當(dāng)編譯完成后,生成的elf以及對(duì)應(yīng)其他文件可以在output目錄中找到。
調(diào)試運(yùn)行
A. 切換目錄到openocd:
PC電腦連接HPM6750 EVK mini開(kāi)發(fā)板。
切換到sdk boards/openocd目錄:
B. 運(yùn)行openocd:
需要按順序指定配置文件: 調(diào)試器配置, 內(nèi)核配置, 目標(biāo)板配置。例如,通過(guò)ft2232在hpm6750evkmini上進(jìn)行單核調(diào)試,可以運(yùn)行如下命令:
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驅(qū)動(dòng)。如果驅(qū)動(dòng)未正確安裝,請(qǐng)重新安裝。
2.Error: libusb_open() failed with LIBUSB_ERROR_ACCESS,權(quán)限問(wèn)題:sudo chmod -R 777 /dev/bus/
C. 打開(kāi)串口cutecom工具
打開(kāi)串口cutecom工具,設(shè)置波特率115200,并打開(kāi)串口。
D. GDB調(diào)試運(yùn)行:
打開(kāi)另一個(gè)終端,切換到hello_world目錄
cd samples/hello_world
啟動(dòng)GDB client調(diào)試:
$GNURISCV_TOOLCHAIN_PATH/bin/riscv32-unknown-elf-gdb
依次運(yùn)行g(shù)db指令:
gdb> file build/output/demo.elf
gdb> target remote localhost:3333
gdb> load
gdb> b main
gdb> c
運(yùn)行后,可在串口工具打印“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
+關(guān)注
關(guān)注
87文章
11459瀏覽量
212789
發(fā)布評(píng)論請(qǐng)先 登錄
基于米爾安路飛龍派FPGA FPSoC+開(kāi)發(fā)環(huán)境搭建以及鏡像燒錄
不借助Linux系統(tǒng),在Windows下如何搭建ZMC900E交叉編譯環(huán)境

基于HPM_SDK_ENV開(kāi)發(fā)應(yīng)用程序的升級(jí)處理

RK3588 SDK入門(mén)之編譯使用篇

【MM32F5270】Keil開(kāi)發(fā)環(huán)境搭建

用戶(hù)手冊(cè) | 全志T113-S3開(kāi)發(fā)板——SDK編譯指南

飛凌嵌入式ElfBoard ELF 1板卡-開(kāi)發(fā)環(huán)境搭建之交叉編譯
騰訊云SDK如何使用,如何連接騰訊物聯(lián)網(wǎng)開(kāi)發(fā)平臺(tái)。

RK3568 編譯sdk技巧

SemiDrive X9 AI 開(kāi)發(fā)環(huán)境搭建

Purple Pi OH 更改SDK的編譯選項(xiàng)

HPM SDK 1.6.0 FreeRTOS LTS更改及適配指南

評(píng)論