在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

開發者分享|先楫半導體hpm_sdk使用vscode進行開發

先楫半導體HPMicro ? 2023-06-30 10:01 ? 次閱讀

一、概述

先楫半導體的hpm_sdk,對于習慣用keil開發者可能不太習慣,但是從開發角度上看,是比較靈活的,可以給開發者一定的發揮空間。該sdk支持cmake構建,可以在多個支持cmake的平臺構建,比如vscode,clion等平臺,構建的同時也會生成segger的IDESEGGER Embedded Studio for RISC-V。對于習慣IDE開發的,也可以直接上手segger這個SEGGER Embedded Studio,先楫官方也給予免費授權,完全不用擔心商業授權問題。

如果不習慣segger這個IDE,那么如果有點cmake基礎(當然也可以沒有),習慣用了vscode編輯代碼,那么我想,這篇文章,可以一步到位,使用vscode進行一套開發,包括構建,編譯,燒錄,調試。本文也是基于此步驟進行說明。


二、開發流程

(一)構建

hpm_sdk是基于cmake構建開發的,每個sample都帶一個CMakelist.txt,可以理解為:每個sample都是一個工程。也可以在hpm_sdk外面的路徑進行新建一個 cmake工程進行開發。


安裝python,起碼python3.7,最好python3.9以上。在構建的時候可能會遇到一些module沒有安裝,請自行根據報錯進行安裝。

例如:需要安裝jinja2,yaml。

0e4e8758-16ea-11ee-a579-dac502259ad0.png

0e5ffaec-16ea-11ee-a579-dac502259ad0.png


安裝CMAKE:

window系統下的相關構建和編譯燒錄相關的,都可以在官方百度網盤(https://pan.baidu.com/s/1RaYHOD7xk7fnotmgLpoAlA?pwd=xk2n#list/path=%2F,提取碼為xk2n)下載,本文截至發布日期,目前的sdk版本為sdk_v1.1.0。


hpm_sdk要求的cmake版本不低于3.13,當然官方也提供了安裝包,可以自己指向路徑到環境變量當中

下載sdk_env_v1.1.0.zip,解壓后,進入tools文件夾,cmake工具下的版本為3.24.0

0e6df494-16ea-11ee-a579-dac502259ad0.png

如果想升級更高的cmake版本,網絡搜索cmake,進入cmake官網(https://cmake.org),點擊download,可以下載最新的,也可以下載開發者自己喜歡的不低于3.13版本。

0e963ee0-16ea-11ee-a579-dac502259ad0.png

安裝cmake之后會提示是否加入環境變量,請選擇加入環境變量。

0ec2d6bc-16ea-11ee-a579-dac502259ad0.png

另外構建需要Ninja,官方網盤也同樣提供了ninja可執行文件,拷貝此文件,可以存放在本地任意路徑,前提是需要將該可執行文件路徑加入到環境變量中。本文為了方便,直接把ninja拷貝到cmake安裝目錄上。

0ed93fa6-16ea-11ee-a579-dac502259ad0.png

1. 設置全局環境變量

在構建之前,需要添加幾個環境變量到系統當中:GNURISCV_TOOLCHAIN_PATH 和HPM_SDK_BASE


① GNURISCV_TOOLCHAIN_PATH:表示是hpm_sdk所依賴的編譯器的絕對路徑,也就是開發者本地路徑。另外也需要將此路徑加入系統環境變量中。


② HPM_SDK_BASE:表示是hpm_sdk的絕對路徑,也就是開發者的本地Hpm_sdk開發路徑。

另外,也需要將編譯鏈路徑放入到環境變量當中。方便vscode搜索到編譯器。

0ef47744-16ea-11ee-a579-dac502259ad0.png

③ Cmake安裝

0f04fe52-16ea-11ee-a579-dac502259ad0.png

0f1ab9a4-16ea-11ee-a579-dac502259ad0.png

從sdk_env_v1.1.0.文件夾進入到toolchains文件夾中,找到rv32imac-ilp32-multilib-win就是編譯鏈工具

0f3a2848-16ea-11ee-a579-dac502259ad0.png

2. vscode下cmake插件

在擴展商店搜索cmake,安裝cmake和cmake Tools

0f4df74c-16ea-11ee-a579-dac502259ad0.png

① 在開發者本地上,根據自己喜歡新建一個文件夾(用來開發所需),然后打開vscode,打開應為干凈的工作區,即是沒有任何文件夾。點擊“文件”選擇“將工作區另存為”,將工作區保存到新建的文件夾中。

0f6e627a-16ea-11ee-a579-dac502259ad0.png

② 點擊"打開文件夾",為了讓vscode能方便全局搜索hpm_sdk相關源文件(當然也可以用json文件包含),把hpm_sdk文件夾包含進來。

0fa16bc0-16ea-11ee-a579-dac502259ad0.png

③ 在新建的開發文件夾中,我們可以新建一個cmake工程,這里為了方便,我們直接拷貝hpm_sdk的sample的文件工程,比如drivers/gpio 文件。

0fd10146-16ea-11ee-a579-dac502259ad0.png

④ 再把拷貝的gpio工程,點擊vscode右鍵添加到工作區當中

0ff5f690-16ea-11ee-a579-dac502259ad0.png


⑤ 添加完畢后,cmake工具欄下,會出現兩個文件夾目錄,我們切換到gpio這個文件夾

10165e4e-16ea-11ee-a579-dac502259ad0.png

⑥如上圖所示,kit工具鏈提示需要選擇,這里我們選擇上述所說的工具鏈(前提已經設置為全局環境變量)

1032b184-16ea-11ee-a579-dac502259ad0.png

⑦ cmake構建的是用常規的構建type,比如Debug, release等構建,這些在hpm_sdk認為都是在RAM執行。所以有必要自定義個type.

1059d2fa-16ea-11ee-a579-dac502259ad0.png

在gpio文件夾中,我們可以新建一個.vscode文件,并在里面新建一個settings.json,這個主要用來配置vscode以及相關插件的配置文件。

1075bc72-16ea-11ee-a579-dac502259ad0.png

構建時候需要需要選擇cmake build type,還需要選擇board type,因為hpm_sdk包含了先楫目前發布的官方評估板,需要開發者自己去指定,所以我們可以通過加入cmake的構建參數指定Board.本文所選的是hpm6200evk。

10863962-16ea-11ee-a579-dac502259ad0.png

本文需要生成編譯在flash執行的固件,根據hpm_sdk的構建類型,我們可以選擇flash_xip這個類型來進行構建。當然也可以按照以下照葫蘆畫瓢構建其他hpm支持的構建類型

10aefc8a-16ea-11ee-a579-dac502259ad0.png

如此再次點擊cmake 構建的時候,就出現以上我們添加的構建類型。

10db6f9a-16ea-11ee-a579-dac502259ad0.png

settings.json文件如下:

{ "cmake.configureArgs": [ "-DBOARD=hpm6200evk" //傳遞給cmake的配置參數,表明選擇的board ], "cmake.defaultVariants": { "buildType": { "choices": { "flash_xip": { //buildType加入flash_xip,表示支持該類型構建 "short":"flash_xip", "long":"先楫構建 - flash構建", "buildType": "flash_xip" } } } }}

其他cmake插件參數具體可以看插件說明以及系統的settings.json文件。

1104acca-16ea-11ee-a579-dac502259ad0.png

如此,我們新建的cmake gpio工程就此構建完成

111c07b2-16ea-11ee-a579-dac502259ad0.png


(二 )編譯

有了上面構建的基礎,我們直接在cmake工具欄上點擊build,直接就可以編譯了。

114c0aac-16ea-11ee-a579-dac502259ad0.png

另外:如果不想用cmake插件工具,我們可以在任意終端窗口進行構建編譯,比如powershell。

1177b0f8-16ea-11ee-a579-dac502259ad0.png

(三) 燒錄調試

vscode下的燒錄調試,使用的是cortex_debug插件,這個跟是不是arm沒什么關系,只要設置好相關gdb相關路徑即可。


1、安裝Cortex_Debug插件,打開擴展設置,點擊在"settings.json 中編輯"。

11a0d19a-16ea-11ee-a579-dac502259ad0.png

2、編輯以下三個參數,也就是gdb的路徑,jlinkGdb路徑(用于jlink調試),openocd路徑(用于openocd調試)

11c6bdc4-16ea-11ee-a579-dac502259ad0.png

參數如下:

"cortex-debug.gdbPath.windows":"yourpath\\sdk_env_v1.1.0\\toolchains\\rv32imac-ilp32-multilib-win\\bin\\riscv32-unknown-elf-gdb.exe","cortex-debug.JLinkGDBServerPath.windows":"yourpath\segger\\JLink\\JLinkGDBServerCL.exe","cortex-debug.openocdPath.windows":"yourpath\sdk_env_v1.1.0\\tools\\openocd\\openocd.exe",

3、完成之后,點擊vscode左邊工具欄的"運行與調試" ,點擊創建launch,json文件。選擇gpio這個工程文件夾,后選擇cortex_debug,就會在對應的文件夾中生成launch,json文件

11e5dc72-16ea-11ee-a579-dac502259ad0.png

120a7de8-16ea-11ee-a579-dac502259ad0.png

122a8f20-16ea-11ee-a579-dac502259ad0.png

4、對于jlink配置。需要指定elf文件路徑,以及選擇的芯片型號,接口。

124a6462-16ea-11ee-a579-dac502259ad0.png

配置:

{ // 使用 IntelliSense 了解相關屬性。 // 懸停以查看現有屬性的描述。 // 欲了解更多信息,請訪問: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "cwd": "${workspaceFolder}", "executable": "${workspaceFolder}/build/output/demo.elf", "name": "hpmicro_jlink_debug", "request": "launch", "type": "cortex-debug", "device": "HPM6280xPAx", "runToEntryPoint": "main", "showDevDebugOutput": "none", "interface": "jtag", "servertype": "jlink", } ]}

5、對于openocd配置如下:需要指定openocd的配置文件路徑,比如probes、soc、boards的cfg文件

1279810c-16ea-11ee-a579-dac502259ad0.png

配置:

{ // 使用 IntelliSense 了解相關屬性。 // 懸停以查看現有屬性的描述。 // 欲了解更多信息,請訪問: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "cwd": "${workspaceRoot}", "executable": "${workspaceFolder}/build/output/demo.elf", "showDevDebugTimestamps": "raw", "name": "HPM_dapDebug", "request": "launch", "type": "cortex-debug", "servertype": "openocd", "configFiles": [ "your path\\sdk_env_v1.1.0\\hpm_sdk\\boards\\openocd\\probes\\ft2232.cfg", "your path\\sdk_env_v1.1.0\\hpm_sdk\\boards\\openocd\\soc\\hpm6280-single-core.cfg", "your path\\sdk_env_v1.1.0\\hpm_sdk\\boards\\openocd\\boards\\hpm6200evk.cfg" ], // "searchDir": [], // "runToEntryPoint": "__start()", // "showDevDebugOutput": "none" } ]}

6、配置完畢之后,點擊調試按鈕,即可下載調試。

12aa5be2-16ea-11ee-a579-dac502259ad0.png

12c0f640-16ea-11ee-a579-dac502259ad0.png

以上內容來自先楫開發者的原創分享。

我們始終相信開發者共創的力量。先楫社區堅持開源共享、互惠互利,貼近每一個開發者,一步一個腳印,一點一滴積累,為成為更好的我們而不斷努力。

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

    關注

    146

    文章

    17893

    瀏覽量

    361906
  • 半導體
    +關注

    關注

    335

    文章

    28703

    瀏覽量

    234348
  • vscode
    +關注

    關注

    1

    文章

    169

    瀏覽量

    8406
  • 先楫半導體
    +關注

    關注

    10

    文章

    250

    瀏覽量

    2618
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    開發者分享】開源硬核玩家集結:這些MCU板子泰酷了!

    前言本篇文章內容主要收錄了由開發者基于半導體高性能MCU開發的各類DIY開源硬件項目,涵蓋不同應用方向與創意實踐。部分項目代碼可直接在本
    的頭像 發表于 05-26 17:31 ?399次閱讀
    【<b class='flag-5'>開發者</b>分享】開源硬核玩家集結:這些MCU板子泰酷了!

    半導體HPM6E8Y:實時控制芯片驅動的機器人關節“芯”時代

    及產品總監費振東帶來了一款實時控制芯片驅動——HPM6E8Y。 ? ? 據費振東介紹,半導體HPM6E8Y系列高性能MCU芯片為機器人關
    發表于 05-13 11:50 ?1070次閱讀
    <b class='flag-5'>先</b><b class='flag-5'>楫</b><b class='flag-5'>半導體</b><b class='flag-5'>HPM</b>6E8Y:<b class='flag-5'>先</b><b class='flag-5'>楫</b>實時控制芯片驅動的機器人關節“芯”時代

    重磅更新 | 半導體HPM_APPS v1.9.0發布

    重磅更新 | 半導體HPM_APPS v1.9.0發布
    的頭像 發表于 05-13 11:29 ?347次閱讀
    重磅更新 | <b class='flag-5'>先</b><b class='flag-5'>楫</b><b class='flag-5'>半導體</b><b class='flag-5'>HPM</b>_APPS v1.9.0發布

    【強勢上新】HPM5E00:EtherCAT運動控制MCU,半導體再拓工業總線產品新版圖

    2025年5月6日 上海 |高性能微控制器及嵌入式解決方案提供商“上海半導體科技有限公司”(半導
    發表于 05-07 14:07 ?658次閱讀
    【強勢上新】<b class='flag-5'>HPM</b>5E00:EtherCAT運動控制MCU,<b class='flag-5'>先</b><b class='flag-5'>楫</b><b class='flag-5'>半導體</b>再拓工業總線產品新版圖

    【強勢上新】HPM5E00:EtherCAT運動控制MCU,半導體再拓工業總線產品新版圖

    2025年5月6日上海|高性能微控制器及嵌入式解決方案提供商“上海半導體科技有限公司”(半導體
    的頭像 發表于 05-06 11:09 ?455次閱讀
    【強勢上新】<b class='flag-5'>HPM</b>5E00:EtherCAT運動控制MCU,<b class='flag-5'>先</b><b class='flag-5'>楫</b><b class='flag-5'>半導體</b>再拓工業總線產品新版圖

    重磅更新 | 半導體HPM_SDK v1.9.0 發布

    版本更新概況[New]增加HPM6P00系列MCU以及hpm6p00evk支持[New]增加了開發板已知問題說明[Update]將全系列開發板VCore電壓調節至1.275V,
    的頭像 發表于 04-02 08:31 ?350次閱讀
    重磅更新 | <b class='flag-5'>先</b><b class='flag-5'>楫</b><b class='flag-5'>半導體</b><b class='flag-5'>HPM_SDK</b> v1.9.0 發布

    半導體HPM_SDK v1.7.0發布!這些更新你值得關注!

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

    半導體hpm_apps v1.7.0上線

    半導體hpm_apps v1.7.0上線
    的頭像 發表于 02-08 13:41 ?564次閱讀
    <b class='flag-5'>先</b><b class='flag-5'>楫</b><b class='flag-5'>半導體</b><b class='flag-5'>hpm</b>_apps v1.7.0上線

    半導體HPM_SDK v1.8.0 發布

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

    基于HPM_SDK_ENV開發應用程序的升級處理

    基于HPM_SDK_ENV開發應用程序的方式HPM_SDK_ENV是半導體MCU的Windo
    的頭像 發表于 02-08 13:38 ?951次閱讀
    基于<b class='flag-5'>HPM_SDK</b>_ENV<b class='flag-5'>開發</b>應用程序的升級處理

    半導體發布高性能HPM6E8Y系列MCU

    近日,上海半導體科技有限公司,國內領先的高性能微控制器及嵌入式解決方案提供商,推出了專為機器人運動與控制設計的高性能MCU產品——HPM6E8Y系列。這一創新產品為當前蓬勃發展的機
    的頭像 發表于 01-23 15:40 ?591次閱讀

    HPM6E00技術日 | 百人研討共話工業應用創新及發展趨勢

    不僅讓與會HPM6E00系列有了更深入的了解,也讓大家看到了半導體在工業技術創新方面的巨大潛力。
    發表于 09-02 10:14

    半導體hpm_apps v1.6.0上線

    半導體hpm_apps v1.6.0上線
    的頭像 發表于 08-02 08:18 ?1451次閱讀
    <b class='flag-5'>先</b><b class='flag-5'>楫</b><b class='flag-5'>半導體</b><b class='flag-5'>hpm</b>_apps v1.6.0上線

    半導體hpm_sdk v1.6.0上線

    HPM6E80HPM6E00系列MCU是一款高性能、高實時以太互聯,RISC-V雙核微控制器。HPM6E00系列提供多達4端口千兆以太交換模塊,支持TSN,并且
    的頭像 發表于 07-02 08:17 ?883次閱讀
    <b class='flag-5'>先</b><b class='flag-5'>楫</b><b class='flag-5'>半導體</b><b class='flag-5'>hpm_sdk</b> v1.6.0上線

    國內首款內嵌ESC的高性能微控制器,半導體HPM6E00全面上市

    2024年6月27日,上海|國產高性能微控制器服務商上海半導體科技有限公司(半導體,HP
    的頭像 發表于 06-28 08:18 ?1203次閱讀
    國內首款內嵌ESC的高性能微控制器,<b class='flag-5'>先</b><b class='flag-5'>楫</b><b class='flag-5'>半導體</b><b class='flag-5'>HPM</b>6E00全面上市
    主站蜘蛛池模板: 天天摸夜夜添狠狠添2018 | 人人干视频在线观看 | 在线欧美色 | 天堂电影在线观看免费入口 | 国产精品欧美久久久久天天影视 | 亚洲第一黄色网 | 色婷婷六月丁香在线观看 | 中文字幕在线看精品乱码 | 视频高清正版在线观看 | 999国产精品 | 美女被猛男躁免费视频网站 | 四虎影院官网 | 免费黄色三级网站 | 午夜三级网站 | 美人岛福利 | 三级毛片在线看 | 日本在线亚洲 | 可以直接看的黄址 | 在线欧美成人 | 欲色影视香色天天影视来 | av网址在线看 | 四虎影音在线观看 | yy8090韩国日本三理论免费 | 欧美成人午夜精品一区二区 | 美女把尿口扒开让男人桶出水 | 午夜毛片不卡高清免费 | 毛片网站在线 | 神马福利 | 狼干综合 | 免费在线欧美 | 日本精品卡一卡2卡3卡四卡三卡 | 黄色视屏在线免费播放 | 日本边添边爱边摸边做边爱 | 亚洲四虎永久在线播放 | 一级做a爰片久久毛片免费看 | 日本亚洲成人 | xvideos69日本hd| 免费观看四虎精品成人 | 亚洲人成网i8禁止 | 国产在线a不卡免费视频 | 在线观看你懂的网站 |