那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

“極客福音!HPM SDK Linux編譯環境搭建”

先楫半導體HPMicro ? 2022-06-01 11:19 ? 次閱讀

簡介

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/

注意:路徑替換為自己的實際路徑

2d0eb876-e107-11ec-b80f-dac502259ad0.png2d558652-e107-11ec-b80f-dac502259ad0.png

編輯保存.bashrc文件后,重啟終端。

E. 安裝python依賴包

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

2d8e2642-e107-11ec-b80f-dac502259ad0.png

構建編譯

A. 切換到示例hello_world目錄

cd samples/hello_world

2dc22870-e107-11ec-b80f-dac502259ad0.png


B. 創建build目錄并進入

mkdir build

cd build

2dfdc6c8-e107-11ec-b80f-dac502259ad0.png

C. Ninja-build產生構建文件

cmake -GNinja -DBOARD=hpm6750evkmini..

2e48fdd2-e107-11ec-b80f-dac502259ad0.png

D. ninja編譯

ninja

2e82d034-e107-11ec-b80f-dac502259ad0.png

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

2ec1921a-e107-11ec-b80f-dac502259ad0.png

調試運行

A. 切換目錄到openocd:

PC電腦連接HPM6750 EVK mini開發板。

切換到sdk boards/openocd目錄:

2f3ba032-e107-11ec-b80f-dac502259ad0.png


B. 運行openocd:

需要按順序指定配置文件: 調試器配置, 內核配置, 目標板配置。例如,通過ft2232在hpm6750evkmini上進行單核調試,可以運行如下命令:

openocd -f probes/ft2232.cfg -f soc/hpm6750-single-core.cfg -f boards/hpm6750evkmini.cfg

2f861b1c-e107-11ec-b80f-dac502259ad0.png

注意:

如遇到:

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/

2fadbe42-e107-11ec-b80f-dac502259ad0.png

C. 打開串口cutecom工具

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

2fec23bc-e107-11ec-b80f-dac502259ad0.png


D. GDB調試運行:

打開另一個終端,切換到hello_world目錄

cd samples/hello_world

啟動GDB client調試:

$GNURISCV_TOOLCHAIN_PATH/bin/riscv32-unknown-elf-gdb

302723cc-e107-11ec-b80f-dac502259ad0.png


依次運行gdb指令:

gdb> file build/output/demo.elf

gdb> target remote localhost:3333

gdb> load

gdb> b main

gdb> c

30606d30-e107-11ec-b80f-dac502259ad0.png

運行后,可在串口工具打印“hello_world”:

308feb0a-e107-11ec-b80f-dac502259ad0.png

Segger Embedded Studio安裝激活

A.SES下載

Segger Embedded Studio for RISC-V 可以從 https://www.segger.com/downloads/embedded-studio/ 下載。

30b36332-e107-11ec-b80f-dac502259ad0.png

下載linux版本,并解壓。

B.SES 安裝

sudo ./install_segger_embedded_studio

30e2e3d2-e107-11ec-b80f-dac502259ad0.png

依次next 直到finsh。

311be16e-e107-11ec-b80f-dac502259ad0.png3142e188-e107-11ec-b80f-dac502259ad0.png3171200c-e107-11ec-b80f-dac502259ad0.png

C.SES激活

激活流程:

http://www.hpmicro.com/support/detail.html?id=e9b65dc7-4cb4-4749-bf41-dbb9e725c32b

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11345

    瀏覽量

    210378
收藏 人收藏

    評論

    相關推薦

    RK3588 SDK入門之編譯使用篇

    前言:在上一篇文章中,我們已經配置好了Ubuntu虛擬機。本期將重點介紹如何Ubuntu虛擬機中使用RK3588的SDK。具體內容包括SDK的下載與安裝、環境變量的配置、以及編譯調試的
    的頭像 發表于 11-22 01:07 ?1344次閱讀
    RK3588 <b class='flag-5'>SDK</b>入門之<b class='flag-5'>編譯</b>使用篇

    【MM32F5270】Keil開發環境搭建

    本文是對MM32F5270相關的靈動官網資料和社區現有幾篇環境搭建帖的整理和總結。詳細且完整的記錄了——如何從零搭建MM32F5270 Keil開發環境以及如何
    的頭像 發表于 11-06 16:14 ?2953次閱讀
    【MM32F5270】Keil開發<b class='flag-5'>環境</b><b class='flag-5'>搭建</b>

    用戶手冊 | 全志T113-S3開發板——SDK編譯指南

    ,不像發行版那樣需要編譯整個linux系統,只需要指定特定開發的功能包進行交叉編譯即可。本文為大家介紹全志T113-S3開發板在眺望電子提供的SDK
    的頭像 發表于 11-01 08:08 ?2198次閱讀
    用戶手冊 | 全志T113-S3開發板——<b class='flag-5'>SDK</b><b class='flag-5'>編譯</b>指南

    飛凌嵌入式ElfBoard ELF 1板卡-開發環境搭建之交叉編譯

    不同的cpu的對應的可執行的二進制文件。交叉編譯鏈安裝建立交叉編譯環境又可分為安裝SDK(其中包含了交叉編譯工具鏈)和設置交叉
    發表于 09-29 09:51

    騰訊云SDK如何使用,如何連接騰訊物聯網開發平臺。

    一 概述 SDK C SDK 采用模塊化設計,分離核心協議服務與硬件抽象層,并提供靈活的配置選項和多種編譯方式,適用于不同設備的開發平臺和使用環境。 具備網絡通訊能力并使用
    的頭像 發表于 09-25 14:34 ?507次閱讀
    騰訊云<b class='flag-5'>SDK</b>如何使用,如何連接騰訊物聯網開發平臺。

    RK3568 編譯sdk技巧

    我司RK3568對外提供源代碼是以sdk的形式提供,包括但不僅限于uboot、kernel、buildroot、debian源碼。在編譯sdk的過程中往往需要安裝大量的第三方安裝包,同時也要保證宿主
    的頭像 發表于 08-30 11:44 ?609次閱讀
    RK3568 <b class='flag-5'>編譯</b><b class='flag-5'>sdk</b>技巧

    SemiDrive X9 AI 開發環境搭建

    SemiDrivex9AI開發環境搭建分開發機端,開發板端。主要的工具是SDNN,它是一個基于開源編譯器框架TVM的端到端的AI編譯器框架,Semidrive對TVM
    的頭像 發表于 08-03 08:27 ?457次閱讀
    SemiDrive X9 AI 開發<b class='flag-5'>環境</b><b class='flag-5'>搭建</b>

    RISC-V編譯環境搭建

    以上按位數分可以編譯為32位和64位兩種,另外就是都可以編譯為elf版本和linux版本。
    的頭像 發表于 07-17 11:31 ?1469次閱讀
    RISC-V<b class='flag-5'>編譯</b><b class='flag-5'>環境</b><b class='flag-5'>搭建</b>

    Purple Pi OH 更改SDK編譯選項

    黨,,工程師,極大降低了開源鴻蒙開發者的入門門檻,具有以下幾點優勢:支持開源鴻蒙/Linux/Andriod11/麒麟,兼容樹莓派;四核A55,最高1.8G主
    的頭像 發表于 07-06 08:33 ?336次閱讀
    Purple Pi OH 更改<b class='flag-5'>SDK</b>的<b class='flag-5'>編譯</b>選項

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

    √√RISCV中斷向量模式支持×√Ticklessmode支持×√DSP擴展支持×√二、FreeRTOS新特性適配2.1支持tickless模式HPM_SDK1.6.0中使
    的頭像 發表于 07-06 08:17 ?4000次閱讀
    <b class='flag-5'>HPM</b> <b class='flag-5'>SDK</b> 1.6.0 FreeRTOS LTS更改及適配指南

    Purple Pi OH又開外掛!帶你搭建編譯環境編譯Android 11固件

    01介紹今天的文章主題是分享與探討關于PurplePiOH開發板Android開發之搭建編譯環境編譯Android固件。如果你是剛開始接觸嵌入式L
    的頭像 發表于 05-22 08:32 ?1312次閱讀
    Purple Pi OH又開外掛!帶你<b class='flag-5'>搭建</b><b class='flag-5'>編譯</b><b class='flag-5'>環境</b>及<b class='flag-5'>編譯</b>Android 11固件

    先楫半導體 hpm_sdk v1.5.0 正式發布

    先楫半導體 hpm_sdk v1.5.0 正式發布
    的頭像 發表于 04-12 08:17 ?660次閱讀
    先楫半導體 <b class='flag-5'>hpm_sdk</b> v1.5.0 正式發布

    先楫半導體 hpm_sdk v1.5.0 正式發布

    Workbench for RISC-V(EWRISCV)工程 生成工程 習慣直接使用 cmake生成工程的用戶可直接基于 hpm_sdk 的命令行環境生成工程 對于習慣圖形化工具生成工程的用戶,先楫提供
    發表于 04-08 11:14

    先楫半導體hpm_sdk v1.5.0正式發布!

    可以將當前app所使用到hpm_sdk的文件復制到app本地, 同時更新app的CMakeLists.txt使之使用本地化之后的hpm_sdk
    的頭像 發表于 04-08 10:02 ?1022次閱讀
    先楫半導體<b class='flag-5'>hpm_sdk</b> v1.5.0正式發布!

    【AWTK開源智能串口屏方案】MCU SDK使用與編譯運行

    本篇文章將介紹AWTK-HMI中的MCU端開發方法,包括MCUSDK常用API的說明、使用流程及如何編譯Linux和STM32平臺。引言:AWTK-HMI是基于AWTK與AWTK-MVVM開發的低
    的頭像 發表于 02-19 12:11 ?1308次閱讀
    【AWTK開源智能串口屏方案】MCU <b class='flag-5'>SDK</b>使用與<b class='flag-5'>編譯</b>運行
    百家乐扑克桌布| 百家乐庄闲庄庄闲| 百家乐官网技术秘籍| 百家乐那里玩| 全景网百家乐官网的玩法技巧和规则| 石棉县| 太阳城娱乐官方网站| 百家乐赢的秘籍在哪| 全讯网百家乐官网的玩法技巧和规则 | 百家乐的规则玩法| 怎样玩百家乐官网的玩法技巧和规则| 尊尚会娱乐城| 大发888娱乐充值| 百家乐必赢法冯耘| 哪个百家乐投注平台信誉好| 柬埔寨百家乐官网的玩法技巧和规则| 任你博百家乐官网现金网| 曼哈顿娱乐城信誉| 太阳城娱乐网88| 广州百家乐赌城| 澳门百家乐会出老千吗| 做生意摆什么好招财| 百家乐官网鞋业| 太阳城百家乐官网注册平台| 怀宁县| 秭归县| 静海县| 百家乐官网网站加盟| 伊通| 含山县| 大化| 百家乐官网公试打法| 云顶国际网站| 金鼎百家乐局部算牌法| 百家乐赢钱海立方| 哪里有百家乐代理| 真人百家乐娱乐场| 不规则地形做生意风水好吗| 任你博百家乐官网的玩法技巧和规则 | 足球博彩论坛| bet365娱乐城官网|