91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

3天內不再提示

[HPM雜談]你想要了解的先楫hpm_sdk開發(fā)都在這里系列 (一)

先楫半導體HPMicro ? 2023-09-26 10:00 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、背景

最近在跟一些開發(fā)者交流過程中,或者開發(fā)者群里反饋,感覺先楫單片機開發(fā)方式不同于以往的單片機開發(fā)方式,或者開發(fā)方式沒接觸過導致無從下手,或者是覺得自己的APP需要嚴重依賴hpm_sdk等等。

在這些反饋當中,覺得有必要出個雜談文章,談一談hpm_sdk的開發(fā)方式的優(yōu)缺點,以及相比以往的單片機傳統(tǒng)開發(fā)方式的不同點。以此可以帶給開發(fā)者一些啟發(fā),更能方便開發(fā)者更快借助hpm_sdk進行開發(fā)自己的應用。

本文也會借助一些開發(fā)者分享過的開發(fā)經驗,感謝hpmicro開發(fā)者貢獻的文章。


二、開發(fā)差異

(一)IDE

先楫的目前通用MCU采用的內核架構都是riscv,這一點就不同于國內大同小異的各種arm的cortex-M系列的單片機,甚至可以B2B兼容STM32的單片機也一樣,不能夠支持ARM自己的平臺-Keil MDK。

對于嚴重依賴keil開發(fā)的工程師來說,特別目前國內的很多開發(fā)工程師來說,這確實是不夠友好的一個點。畢竟keil經過多年的發(fā)展,其傻瓜式的界面操作,網上豐富的踩坑記錄,都足夠讓一個沒接觸過單片機開發(fā)的都能輕松入門。

但是Keil這個本身不是免費的商用IDE,盡管國內很多cortex-M單片機的芯片廠家提供的類似STM32的Firmware_Library包,里面的工程都支持了keil,但是也沒說明對keil這個IDE進行了版權購買,這帶來的版權問題責任就分給了芯片開發(fā)者,雖然國內很多可以通過破解方式進行商用,但是畢竟在商用的過程中時時刻刻得注意著版權問題。

先楫開發(fā)雖然不支持keil,但是在提供的IDE上,使用segger(大名鼎鼎Jlink調試器的廠家)自己開發(fā)的IDE,也就是SEGGER Embedded Studio for RISC-V,這個同樣不是免費的商用IDE,但是先楫在版權上十分重視,購買了其芯片開發(fā)的商用版權,目前可以不限定于SEGGER Embedded Studio的版本,而且可以讓開發(fā)者直接商用開發(fā),避免版權問題。這個IDE同樣跟keil操作類似,通過可視化操作進行配置即可,配合其Jlink更是能夠讓調試更加友好。

IDE的編譯鏈支持上,支持了segger自身的編譯鏈,也支持了gcc編譯鏈,同樣也支持andes編譯鏈。

開發(fā)者文章: (SEGGER Embedded Studio for RISC-V,for HPMicro Devices 解決首次使用激活問題,提示無License

另外SEGGER Embedded Studio 也有對應user manual手冊,以便開發(fā)者查缺補漏。網頁:

6b80dda2-5c10-11ee-9788-92fbcf53809c.png


(二)構建系統(tǒng)

對于國內的arm的cortex-m的單片機廠家來說,并沒有所謂的什么構建系統(tǒng)開發(fā)環(huán)境。但是對于有些開發(fā)者如果開發(fā)過樂鑫的產品,比如esp32,使用的esp-idf就是使用的cmake構建系統(tǒng)(早期的esp-idf還是makefile版本),還有樹莓派的rp2040的pico-sdk。這種構建系統(tǒng)入門有點門檻,需要有一定的cmake基礎(比如cmakelist語法)以及相關環(huán)境搭建經驗,但這也感覺是未來嵌入式發(fā)展的趨勢,通過cmakelists.txt管理配置生成各大跨平臺的工程(比如先楫開發(fā)中,生成SEGGER Embedded Studio 以及后續(xù)先楫支持的IDE)、生成的makefile文件可以給各大平臺編譯器解析,

對于芯片原廠和開發(fā)者來說,這種構建系統(tǒng)可以讓多種芯片系列,組件包等等只需要支持一套SDK,而不需要提供多種library芯片包,可以擴展構建多種IDE,比如命令或者可視化界面生成EGGER Embedded Studio工程;支持cmake構建的vscode,clion等等跨平臺開發(fā)。


三、開發(fā)優(yōu)勢

項目工程依靠cmakelists.txt文件進行管理,這種管理方式類似在keil進行相關路徑加入或者加入自定義編譯宏定義等,比如:

1、設置一些自定義編譯宏定義開關

2、根據不同編譯類型配置不同的編譯選項和鏈接選項

3、添加頭文件路徑、編譯宏等常規(guī)操作

4、添加源碼編譯

5、添加extern組件等操作

以上是不是覺得這種開發(fā)方式,IDE比如keil在界面操作也有,但是對于cmake來說,單純一個cmakelist文件就可以操作完成,熟悉入門后也能大大提高開發(fā)效率。

本文以hpm_sdk1.2進行說明,簡單舉例一些常用的命令說明,一個cmakelist文件管理的方便好處。

更多的命令接口可以參考sdk中的sample的cmakelist,以及cmake文件夾里面的封裝的命令函數。不在本文闡述范圍內。

6b94897e-5c10-11ee-9788-92fbcf53809c.png

該版本已經支持在sdk以外創(chuàng)建自己的Board, 但在sdk以外開發(fā)自己的應用一直都是可以的。

(一)創(chuàng)建自己的AP應用文件夾

新建一個自己一個APP文件夾,里面放置一個Board-這里我使用的是hpm6750_rc,這里從hpm_sdk里面的board的hpm6750evkmini中提取,并把hpm6750evkmini.yaml改為hpm6750_rc.yaml,如下:

6b9be3fe-5c10-11ee-9788-92fbcf53809c.png

從hpm_sdk復制一個sample,比如hello_world。然后在自己創(chuàng)建的應用文件夾新建個build,進入到該build文件夾,這時候使用命令:

cmake -G Ninja -DBOARD=rc_hpm_evk -DBOARD_SEARCH_PATH=your custom/rcsn_project/board/ -DCMAKE_BUILD_TYPE=flash_xip ..

這時候打開build文件夾里面的segger_embedded_studio,打開ses這個IDE,可以看到boards已經變成自己項目上的Board,以及自己的application已經被添加上來。

6ba4af70-5c10-11ee-9788-92fbcf53809c.png

(二)定義宏開關,預處理定義

在keil上,預處理定義在option上可以手動輸入定義

6bb77aa6-5c10-11ee-9788-92fbcf53809c.png


同樣在segger_embedded_studio中也有類似的定義。

6bc418e2-5c10-11ee-9788-92fbcf53809c.png


但是hpm_sdk中,并不需要開發(fā)者自己手動去添加,在makelists使用命令: sdk_compile_definitions, 如此就可以進行定義預處理符號。

6bd63b1c-5c10-11ee-9788-92fbcf53809c.png

(三)頭文件路徑加入

比如在keil里面就有對應的控件操作

6bb77aa6-5c10-11ee-9788-92fbcf53809c.png

那么在segger_embedded_studio也有類似操作界面

6bc418e2-5c10-11ee-9788-92fbcf53809c.png

在hpm_sdk的構建當中,同樣也不需要用戶自己去界面操作,直接可以在cmakelists通過sdk_inc 命令設置,比如自己的工程定義以下工程目錄,每個目錄里面有個inc,這個就是需要包含的頭文件路徑。

6bfb3c64-5c10-11ee-9788-92fbcf53809c.png

6c0c14c6-5c10-11ee-9788-92fbcf53809c.png

(四)加入源文件

像keil一樣,segger_embedded_studio也有自己的源文件目錄結構,比如需要添加上述所說的drivers里面的文件,可以通過使用sdk_app_src命令進行設置。比如:

6c181208-5c10-11ee-9788-92fbcf53809c.png

(五)編譯相關

比如設置優(yōu)化等級、GCC編譯參數、指令集選擇等等。都可以通過sdk_compile_options命令設置

設置O3優(yōu)化可以使用:

sdk_compile_options("-O3")

設置gcc特定警告

sdk_compile_options("-Wall")

設置ABI和ISA

sdk_compile_options("-mabi=ilp32d")sdk_compile_options("-march=rv32gc")


四、開發(fā)劣勢

(一)入門門檻相對高

目前來說,cmake構建方式在MCU開發(fā)上并不常見,也存在一定的入門門檻;

但對于項目的構建優(yōu)化和管理是效率顯著的,比如引入一個第三方中間件,只需要在此中間件內部通過CMakelists管理好自身文件鏈接,項目通過條件包含,能夠最大減少中間件帶來的耦合度。

6c2afd3c-5c10-11ee-9788-92fbcf53809c.png

需要有一定的cmake基礎,也帶來一定的學習成本。

(二)工程管理相對約束

在傳統(tǒng)的MCU開發(fā)中,很多開發(fā)者都喜歡把MCU廠家自身的驅動和組件源碼都加入到自己的工程目錄下,這樣方便自己管理,甚至可以自己改動官方庫代碼(這點是極其不推薦的行為)。


但hpm_sdk更多傾向于開發(fā)者的APP應用與SDK分開,這種開發(fā)好比是上位機的QT開發(fā),在QT開發(fā)中,通過pro/pri文件管理導入QT的官方庫使用,如果不想使用那就不開啟對應的庫,又好比python開發(fā),通過Import方式自行選擇。


這種開發(fā)方式需要把hpm_sdk路徑放在對應的文件夾中,并把路徑添加到環(huán)境變量,這好比是軟件的安裝,先楫的所有芯片系列都依賴與這個hpm_sdk,用戶只需關心自己的應用開發(fā)路徑,在拷貝的過程中也只需要拷貝自身應用,但前提對方也得"安裝"了hpm_sdk。


這種約束方法對于有些開發(fā)者來說確實不夠友好,當然未來先楫也不排除支持把hpm_sdk所需要的文件能讓開發(fā)者自行導入到自己工程目錄的需求,比如類似stm32cubemx生成初始化外設工具,但hpm_sdk的cmake構建方式仍是主要開發(fā)方式。

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

    關注

    6076

    文章

    45494

    瀏覽量

    670262
  • SDK
    SDK
    +關注

    關注

    3

    文章

    1101

    瀏覽量

    51713
  • HPM
    HPM
    +關注

    關注

    2

    文章

    51

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    2026?啟芯程 | HPM_SDK v1.11.0 重磅發(fā)布

    測試工具版本ZCC4.1.5SeggerEmbeddedStudio8.24IARworkbenchforRISC-V3.30.1版本更新概況[Updated]openocd注意:由于upstream代碼邏輯變動,此版本的openocd需要配合此版本中hpm_sdk包含的配置文件(
    的頭像 發(fā)表于 01-04 09:36 ?493次閱讀
    2026?啟芯程 | <b class='flag-5'>先</b><b class='flag-5'>楫</b> <b class='flag-5'>HPM_SDK</b> v1.11.0 重磅發(fā)布

    重磅更新 | 半導體HPM_APPS v1.10.1發(fā)布

    重磅更新 | 半導體HPM_APPS v1.10.1發(fā)布
    的頭像 發(fā)表于 12-26 08:33 ?860次閱讀
    重磅更新 | <b class='flag-5'>先</b><b class='flag-5'>楫</b>半導體<b class='flag-5'>HPM</b>_APPS v1.10.1發(fā)布

    解決方案 | 變頻器EtherCAT通訊卡+遠程IO方案

    半導體推出的基于HPM5E00系列的工業(yè)級變頻器EtherCAT通訊卡及遠程IO解決方案,致力于幫助開發(fā)者在以
    的頭像 發(fā)表于 12-12 10:35 ?395次閱讀
    <b class='flag-5'>先</b><b class='flag-5'>楫</b>解決方案 | 變頻器EtherCAT通訊卡+遠程IO方案

    開發(fā)者分享 | HPM5E-EC-DEV:基于HPM5E00的EtherCAT開發(fā)板分享

    些硬件相關的小項目,既能學習新東西,也能保持對技術的好奇心。前言今年五月,半導體發(fā)布了新代高性能EtherCAT運動控制MCU——HPM5E00。
    的頭像 發(fā)表于 10-29 10:15 ?1463次閱讀
    <b class='flag-5'>開發(fā)</b>者分享 | <b class='flag-5'>HPM</b>5E-EC-DEV:基于<b class='flag-5'>HPM</b>5E00的EtherCAT<b class='flag-5'>開發(fā)</b>板分享

    hpm的vscode開發(fā)環(huán)境搭建openocd燒錄問題求解

    最近嘗試搭建基于vscode的hpm芯片開發(fā)環(huán)境,遇到些問題,求大佬們幫忙看看。 使用hpm6e00evk開發(fā)
    發(fā)表于 09-09 09:55

    HPM monitor studio 只能在 hpm芯片+hpm_sdk 的組合下才能用嗎?

    使用 hpm6200evk開發(fā)板,但未使用hpm_sdk。 然后編譯的固件elf無法在hpm monitor studio解析成功。所以說必須要使用
    發(fā)表于 08-28 09:36

    半導體高性能MCU入駐立創(chuàng)商城,國產芯勢力再添新動能

    半導體(HPMicro)宣布其全系列高性能MCU芯片正式上架立創(chuàng)商城(LCSC),標志著國產高端MCU在供應鏈渠道與生態(tài)服務方面邁上新臺階,國產芯勢力再添新動能。
    的頭像 發(fā)表于 07-31 08:32 ?1178次閱讀
    <b class='flag-5'>先</b><b class='flag-5'>楫</b>半導體高性能MCU入駐立創(chuàng)商城,國產芯勢力再添新動能

    重磅更新 | HPM_SDK v1.10.0 發(fā)布

    版本更新概況[New]增加HPM5E00系列MCU以及HPM5E00EVK支持增加flash_xip_hybrid構建,在該模式下AXI_SRAM被用作FLASH前256KB的緩存,位于FLASH前256KB的代碼擁有RAM級別
    的頭像 發(fā)表于 07-02 15:07 ?1404次閱讀
    重磅更新 | <b class='flag-5'>HPM_SDK</b> v1.10.0 發(fā)布

    支持HPM6P00/HPM5E00系列!HPMicro Manufacturing Tool v0.6.0發(fā)布

    各位的小伙伴久等了,HPMicroManufacturingTool0.6.0版本正式發(fā)布啦!該版本包含多個模塊的更新優(yōu)化,讓我們抓緊時間先睹為快!v0.6.0版本主要更新內容如下:新增:新增
    的頭像 發(fā)表于 06-04 08:28 ?2039次閱讀
    支持<b class='flag-5'>HPM</b>6P00/<b class='flag-5'>HPM</b>5E00<b class='flag-5'>系列</b>!HPMicro Manufacturing Tool v0.6.0發(fā)布

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

    及產品總監(jiān)費振東帶來了款實時控制芯片驅動——HPM6E8Y。 ? ? 據費振東介紹,半導體HPM6E8Y
    發(fā)表于 05-13 11:50 ?1796次閱讀
    <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>實時控制芯片驅動的機器人關節(jié)“芯”時代

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

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

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

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

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

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

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

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

    600MHz RISC-V 雙核加持!HPM6P00重新定義國產高性能混合信號MCU

    2025年3月25日,上?!咝阅芪⒖刂破骷扒度胧浇鉀Q方案提供商上海半導體科技有限公司(半導體,HPMicro)正式發(fā)布全新代高
    的頭像 發(fā)表于 03-25 08:50 ?1336次閱讀
    600MHz RISC-V 雙核加持!<b class='flag-5'>先</b><b class='flag-5'>楫</b><b class='flag-5'>HPM</b>6P00重新定義國產高性能混合信號MCU