一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

3天內(nèi)不再提示

“極客福音!HPM SDK Linux編譯環(huán)境搭建”

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

簡介

HPM6700/6400 系列 MCU 是來自上海先楫半導體科技有限公司的高性能實時 RISC-V 微控制器,采用RISC-V內(nèi)核,主頻高達816MHz,為工業(yè)自動化及邊緣計算應(yīng)用提供了極大的算力、高效的控制能力及豐富的多媒體功能。

HPM SDK支持用Cmake為Segger和GCC提供示例項目,并同時集成進RT Thread、Zephyr等開源項目中。對于鐘愛于命令行界面的極客來說,Linux環(huán)境編譯是必不可少的,本文介紹了先楫半導體高性能MCU配套的HPM SDK(以下可簡稱SDK)在Linux系統(tǒng)上開發(fā)環(huán)境搭建指導說明,更多信息,請參考官網(wǎng)應(yīng)用手冊。

Linux環(huá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變量;

為了安全起見,修改.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/

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

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

構(gòu)建編譯

A. 切換到示例hello_world目錄

cd samples/hello_world

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


B. 創(chuàng)建build目錄并進入

mkdir build

cd build

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

C. Ninja-build產(chǎn)生構(gòu)建文件

cmake -GNinja -DBOARD=hpm6750evkmini..

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

D. ninja編譯

ninja

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

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

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

調(diào)試運行

A. 切換目錄到openocd:

PC電腦連接HPM6750 EVK mini開發(fā)板。

切換到sdk boards/openocd目錄:

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


B. 運行openocd:

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

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驅(qū)動。如果驅(qū)動未正確安裝,請重新安裝。

2.Error: libusb_open() failed with LIBUSB_ERROR_ACCESS,權(quán)限問題:sudo chmod -R 777 /dev/bus/

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

C. 打開串口cutecom工具

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

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


D. GDB調(diào)試運行:

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

cd samples/hello_world

啟動GDB client調(diào)試:

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

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


依次運行g(shù)db指令:

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

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

    關(guān)注

    87

    文章

    11420

    瀏覽量

    212319
收藏 人收藏

    評論

    相關(guān)推薦

    先楫半導體HPM_SDK v1.7.0發(fā)布!這些更新你值得關(guān)注!

    先楫半導體HPM_SDK v1.7.0發(fā)布!這些更新你值得關(guān)注!
    的頭像 發(fā)表于 02-08 13:42 ?463次閱讀
    先楫半導體<b class='flag-5'>HPM_SDK</b> v1.7.0發(fā)布!這些更新你值得關(guān)注!

    先楫半導體HPM_SDK v1.8.0 發(fā)布

    先楫半導體HPM_SDK v1.8.0 發(fā)布
    的頭像 發(fā)表于 02-08 13:39 ?437次閱讀
    先楫半導體<b class='flag-5'>HPM_SDK</b> v1.8.0 發(fā)布

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

    基于HPM_SDK_ENV開發(fā)應(yīng)用程序的方式HPM_SDK_ENV是先楫半導體MCU的Windows集成開發(fā)環(huán)境,其包含HPM_SDK,工具鏈,依賴工具(cmake,ninja,ope
    的頭像 發(fā)表于 02-08 13:38 ?845次閱讀
    基于<b class='flag-5'>HPM_SDK</b>_ENV開發(fā)應(yīng)用程序的升級處理

    RK3588 SDK入門之編譯使用篇

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

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

    本文是對MM32F5270相關(guān)的靈動官網(wǎng)資料和社區(qū)現(xiàn)有幾篇環(huán)境搭建帖的整理和總結(jié)。詳細且完整的記錄了——如何從零搭建MM32F5270 Keil開發(fā)環(huán)境以及如何
    的頭像 發(fā)表于 11-06 16:14 ?3475次閱讀
    【MM32F5270】Keil開發(fā)<b class='flag-5'>環(huán)境</b><b class='flag-5'>搭建</b>

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

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

    飛凌嵌入式ElfBoard ELF 1板卡-開發(fā)環(huán)境搭建之交叉編譯

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

    騰訊云SDK如何使用,如何連接騰訊物聯(lián)網(wǎng)開發(fā)平臺。

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

    linux開發(fā)板如何編譯curl

    Linux開發(fā)板上編譯 curl 庫通常涉及到幾個步驟,包括準備開發(fā)環(huán)境、下載源代碼、配置編譯選項以及執(zhí)行編譯和安裝過程。以下是一個基本的
    的頭像 發(fā)表于 08-30 15:33 ?1111次閱讀

    RK3568 編譯sdk技巧

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

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

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

    RISC-V編譯環(huán)境搭建

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

    Purple Pi OH 更改SDK編譯選項

    黨,,工程師,極大降低了開源鴻蒙開發(fā)者的入門門檻,具有以下幾點優(yōu)勢:支持開源鴻蒙/Linux/Andriod11/麒麟,兼容樹莓派;四核A55,最高1.8G主
    的頭像 發(fā)表于 07-06 08:33 ?490次閱讀
    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中使
    的頭像 發(fā)表于 07-06 08:17 ?4258次閱讀
    <b class='flag-5'>HPM</b> <b class='flag-5'>SDK</b> 1.6.0 FreeRTOS LTS更改及適配指南

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

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