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

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

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

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

開發(fā)者分享|先楫半導(dǎo)體hpm_sdk使用vscode進(jìn)行開發(fā)

先楫半導(dǎo)體HPMicro ? 2023-06-30 10:01 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、概述

先楫半導(dǎo)體的hpm_sdk,對(duì)于習(xí)慣用keil開發(fā)者可能不太習(xí)慣,但是從開發(fā)角度上看,是比較靈活的,可以給開發(fā)者一定的發(fā)揮空間。該sdk支持cmake構(gòu)建,可以在多個(gè)支持cmake的平臺(tái)構(gòu)建,比如vscode,clion等平臺(tái),構(gòu)建的同時(shí)也會(huì)生成segger的IDESEGGER Embedded Studio for RISC-V。對(duì)于習(xí)慣IDE開發(fā)的,也可以直接上手segger這個(gè)SEGGER Embedded Studio,先楫官方也給予免費(fèi)授權(quán),完全不用擔(dān)心商業(yè)授權(quán)問(wèn)題。

如果不習(xí)慣segger這個(gè)IDE,那么如果有點(diǎn)cmake基礎(chǔ)(當(dāng)然也可以沒(méi)有),習(xí)慣用了vscode編輯代碼,那么我想,這篇文章,可以一步到位,使用vscode進(jìn)行一套開發(fā),包括構(gòu)建,編譯,燒錄,調(diào)試。本文也是基于此步驟進(jìn)行說(shuō)明。


二、開發(fā)流程

(一)構(gòu)建

hpm_sdk是基于cmake構(gòu)建開發(fā)的,每個(gè)sample都帶一個(gè)CMakelist.txt,可以理解為:每個(gè)sample都是一個(gè)工程。也可以在hpm_sdk外面的路徑進(jìn)行新建一個(gè) cmake工程進(jìn)行開發(fā)。


安裝python,起碼python3.7,最好python3.9以上。在構(gòu)建的時(shí)候可能會(huì)遇到一些module沒(méi)有安裝,請(qǐng)自行根據(jù)報(bào)錯(cuò)進(jìn)行安裝。

例如:需要安裝jinja2,yaml。

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

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


安裝CMAKE:

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


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

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

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

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

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

安裝cmake之后會(huì)提示是否加入環(huán)境變量,請(qǐng)選擇加入環(huán)境變量。

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

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

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

1. 設(shè)置全局環(huán)境變量

在構(gòu)建之前,需要添加幾個(gè)環(huán)境變量到系統(tǒng)當(dāng)中:GNURISCV_TOOLCHAIN_PATH 和HPM_SDK_BASE


① GNURISCV_TOOLCHAIN_PATH:表示是hpm_sdk所依賴的編譯器的絕對(duì)路徑,也就是開發(fā)者本地路徑。另外也需要將此路徑加入系統(tǒng)環(huán)境變量中。


② HPM_SDK_BASE:表示是hpm_sdk的絕對(duì)路徑,也就是開發(fā)者的本地Hpm_sdk開發(fā)路徑。

另外,也需要將編譯鏈路徑放入到環(huán)境變量當(dāng)中。方便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.文件夾進(jìn)入到toolchains文件夾中,找到rv32imac-ilp32-multilib-win就是編譯鏈工具

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

2. vscode下cmake插件

在擴(kuò)展商店搜索cmake,安裝cmake和cmake Tools

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

① 在開發(fā)者本地上,根據(jù)自己喜歡新建一個(gè)文件夾(用來(lái)開發(fā)所需),然后打開vscode,打開應(yīng)為干凈的工作區(qū),即是沒(méi)有任何文件夾。點(diǎn)擊“文件”選擇“將工作區(qū)另存為”,將工作區(qū)保存到新建的文件夾中。

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

② 點(diǎn)擊"打開文件夾",為了讓vscode能方便全局搜索hpm_sdk相關(guān)源文件(當(dāng)然也可以用json文件包含),把hpm_sdk文件夾包含進(jìn)來(lái)。

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

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

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

④ 再把拷貝的gpio工程,點(diǎn)擊vscode右鍵添加到工作區(qū)當(dāng)中

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


⑤ 添加完畢后,cmake工具欄下,會(huì)出現(xiàn)兩個(gè)文件夾目錄,我們切換到gpio這個(gè)文件夾

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

⑥如上圖所示,kit工具鏈提示需要選擇,這里我們選擇上述所說(shuō)的工具鏈(前提已經(jīng)設(shè)置為全局環(huán)境變量)

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

⑦ cmake構(gòu)建的是用常規(guī)的構(gòu)建type,比如Debug, release等構(gòu)建,這些在hpm_sdk認(rèn)為都是在RAM執(zhí)行。所以有必要自定義個(gè)type.

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

在gpio文件夾中,我們可以新建一個(gè).vscode文件,并在里面新建一個(gè)settings.json,這個(gè)主要用來(lái)配置vscode以及相關(guān)插件的配置文件。

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

構(gòu)建時(shí)候需要需要選擇cmake build type,還需要選擇board type,因?yàn)閔pm_sdk包含了先楫目前發(fā)布的官方評(píng)估板,需要開發(fā)者自己去指定,所以我們可以通過(guò)加入cmake的構(gòu)建參數(shù)指定Board.本文所選的是hpm6200evk。

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

本文需要生成編譯在flash執(zhí)行的固件,根據(jù)hpm_sdk的構(gòu)建類型,我們可以選擇flash_xip這個(gè)類型來(lái)進(jìn)行構(gòu)建。當(dāng)然也可以按照以下照葫蘆畫瓢構(gòu)建其他hpm支持的構(gòu)建類型

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

如此再次點(diǎn)擊cmake 構(gòu)建的時(shí)候,就出現(xiàn)以上我們添加的構(gòu)建類型。

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

settings.json文件如下:

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

其他cmake插件參數(shù)具體可以看插件說(shuō)明以及系統(tǒng)的settings.json文件。

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

如此,我們新建的cmake gpio工程就此構(gòu)建完成

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


(二 )編譯

有了上面構(gòu)建的基礎(chǔ),我們直接在cmake工具欄上點(diǎn)擊build,直接就可以編譯了。

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

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

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

(三) 燒錄調(diào)試

vscode下的燒錄調(diào)試,使用的是cortex_debug插件,這個(gè)跟是不是arm沒(méi)什么關(guān)系,只要設(shè)置好相關(guān)gdb相關(guān)路徑即可。


1、安裝Cortex_Debug插件,打開擴(kuò)展設(shè)置,點(diǎn)擊在"settings.json 中編輯"。

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

2、編輯以下三個(gè)參數(shù),也就是gdb的路徑,jlinkGdb路徑(用于jlink調(diào)試),openocd路徑(用于openocd調(diào)試)

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

參數(shù)如下:

"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、完成之后,點(diǎn)擊vscode左邊工具欄的"運(yùn)行與調(diào)試" ,點(diǎn)擊創(chuàng)建launch,json文件。選擇gpio這個(gè)工程文件夾,后選擇cortex_debug,就會(huì)在對(duì)應(yīng)的文件夾中生成launch,json文件

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

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

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

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

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

配置:

{ // 使用 IntelliSense 了解相關(guān)屬性。 // 懸停以查看現(xiàn)有屬性的描述。 // 欲了解更多信息,請(qǐng)?jiān)L問(wèn): 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、對(duì)于openocd配置如下:需要指定openocd的配置文件路徑,比如probes、soc、boards的cfg文件

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

配置:

{ // 使用 IntelliSense 了解相關(guān)屬性。 // 懸停以查看現(xiàn)有屬性的描述。 // 欲了解更多信息,請(qǐng)?jiān)L問(wèn): 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、配置完畢之后,點(diǎn)擊調(diào)試按鈕,即可下載調(diào)試。

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

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

以上內(nèi)容來(lái)自先楫開發(fā)者的原創(chuàng)分享。

我們始終相信開發(fā)者共創(chuàng)的力量。先楫社區(qū)堅(jiān)持開源共享、互惠互利,貼近每一個(gè)開發(fā)者,一步一個(gè)腳印,一點(diǎn)一滴積累,為成為更好的我們而不斷努力。

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

    關(guān)注

    146

    文章

    17985

    瀏覽量

    367305
  • 半導(dǎo)體
    +關(guān)注

    關(guān)注

    335

    文章

    28932

    瀏覽量

    238369
  • vscode
    +關(guān)注

    關(guān)注

    1

    文章

    169

    瀏覽量

    8519
  • 先楫半導(dǎo)體
    +關(guān)注

    關(guān)注

    11

    文章

    251

    瀏覽量

    2688
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    這次你說(shuō)了算!半導(dǎo)體開發(fā)者生態(tài)技術(shù)日

    HPM開發(fā)者量身打造的生態(tài)活動(dòng)正在規(guī)劃中! 趕緊動(dòng)動(dòng)發(fā)財(cái)?shù)男∈痔顐€(gè)小問(wèn)卷,告訴我們你關(guān)心的話題和期待的場(chǎng)景,我們會(huì)認(rèn)真閱讀每一份問(wèn)卷,聽取大家的寶貴建議,期待您的反饋哈!
    發(fā)表于 07-10 11:21

    開發(fā)者分享】開源硬核玩家集結(jié):這些MCU板子泰酷了!

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

    半導(dǎo)體HPM6E8Y:實(shí)時(shí)控制芯片驅(qū)動(dòng)的機(jī)器人關(guān)節(jié)“芯”時(shí)代

    及產(chǎn)品總監(jiān)費(fèi)振東帶來(lái)了一款實(shí)時(shí)控制芯片驅(qū)動(dòng)——HPM6E8Y。 ? ? 據(jù)費(fèi)振東介紹,半導(dǎo)體HPM6E8Y系列高性能MCU芯片為機(jī)器人關(guān)
    發(fā)表于 05-13 11:50 ?1233次閱讀
    <b class='flag-5'>先</b><b class='flag-5'>楫</b><b class='flag-5'>半導(dǎo)體</b><b class='flag-5'>HPM</b>6E8Y:<b class='flag-5'>先</b><b class='flag-5'>楫</b>實(shí)時(shí)控制芯片驅(qū)動(dòng)的機(jī)器人關(guān)節(jié)“芯”時(shí)代

    重磅更新 | 半導(dǎo)體HPM_APPS v1.9.0發(fā)布

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

    【強(qiáng)勢(shì)上新】HPM5E00:EtherCAT運(yùn)動(dòng)控制MCU,半導(dǎo)體再拓工業(yè)總線產(chǎn)品新版圖

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

    【強(qiáng)勢(shì)上新】HPM5E00:EtherCAT運(yùn)動(dòng)控制MCU,半導(dǎo)體再拓工業(yè)總線產(chǎn)品新版圖

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

    重磅更新 | 半導(dǎo)體HPM_SDK v1.9.0 發(fā)布

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

    半導(dǎo)體HPM6E8Y榮獲芯片創(chuàng)新獎(jiǎng),彰顯卓越產(chǎn)品力!

    科技有限公司(半導(dǎo)體,HPMicro)于年初在CES2025發(fā)布的新品——HPM6E8Y微控制器芯片,憑借其高性能、高集成度、小封裝及簡(jiǎn)單易用等優(yōu)勢(shì)榮獲“芯片創(chuàng)新獎(jiǎng)”
    的頭像 發(fā)表于 03-04 13:36 ?747次閱讀
    <b class='flag-5'>先</b><b class='flag-5'>楫</b><b class='flag-5'>半導(dǎo)體</b><b class='flag-5'>HPM</b>6E8Y榮獲芯片創(chuàng)新獎(jiǎng),彰顯卓越產(chǎn)品力!

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

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

    半導(dǎo)體hpm_apps v1.7.0上線

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

    半導(dǎo)體HPM_SDK v1.8.0 發(fā)布

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

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

    基于HPM_SDK_ENV開發(fā)應(yīng)用程序的方式HPM_SDK_ENV是半導(dǎo)體MCU的Windo
    的頭像 發(fā)表于 02-08 13:38 ?1027次閱讀
    基于<b class='flag-5'>HPM_SDK</b>_ENV<b class='flag-5'>開發(fā)</b>應(yīng)用程序的升級(jí)處理

    半導(dǎo)體發(fā)布高性能HPM6E8Y系列MCU

    近日,上海半導(dǎo)體科技有限公司,國(guó)內(nèi)領(lǐng)先的高性能微控制器及嵌入式解決方案提供商,推出了專為機(jī)器人運(yùn)動(dòng)與控制設(shè)計(jì)的高性能MCU產(chǎn)品——HPM6E8Y系列。這一創(chuàng)新產(chǎn)品為當(dāng)前蓬勃發(fā)展的機(jī)
    的頭像 發(fā)表于 01-23 15:40 ?681次閱讀

    HPM6E00技術(shù)日 | 百人研討共話工業(yè)應(yīng)用創(chuàng)新及發(fā)展趨勢(shì)

    不僅讓與會(huì)對(duì)HPM6E00系列有了更深入的了解,也讓大家看到了半導(dǎo)體在工業(yè)技術(shù)創(chuàng)新方面的巨大潛力。
    發(fā)表于 09-02 10:14

    半導(dǎo)體hpm_apps v1.6.0上線

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