女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

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

先楫半導體HPMicro ? 2025-02-08 13:38 ? 次閱讀

基于HPM_SDK_ENV開發應用程序的方式

HPM_SDK_ENV是先楫半導體MCU的Windows集成開發環境, 其包含HPM_SDK,工具鏈,依賴工具(cmake, ninja, openocd等)以及工程創建工具等文件。用戶基于HPM_SDK_ENV開發自己的應用程序時需要考慮如何維護板級配置文件和應用程序文件的問題。

以下3種維護方式:

用戶將自己的板級配置文件和應用程序文件全部維護在HPM_SDK_ENV之中。

不推薦。該種方式容易造成文件組織混亂,當需要升級SDK_ENV時,SDK_ENV文件與用戶文件組織在一起,升級處理麻煩。


用戶使用SDK_ENV中的板級配置文件,在SDK_ENV外維護應用程序文件。

此種方式適合用戶直接使用SDK_ENV中的評估板,開發自己的應用程序。

用戶在SDK_ENV外維護板級配置文件和應用程序文件。

推薦。該方式將用戶的板級配置文件和應用程序文件獨立于SDK_ENV進行維護,能夠方便的進行版本管理和升級SDK_ENV。

fda13a02-e5de-11ef-9434-92fbcf53809c.png

創建應用程序和板級配置

推薦用戶將應用程序和板級配置文件維護在SDK_ENV之外。

從sdk_env_v1.7.0開始,先楫半導體在SDK_ENV中提供了用戶模板以供用戶參考開發屬于自己的應用程序和板級配置文件。模板路徑:sdk_env/user_template。

請參考該模板 “如何快速創建用戶自定義board和app工程” 創建屬于應用程序和板級配置以及Linker文件。


fdcca9da-e5de-11ef-9434-92fbcf53809c.png

CMake構建簡要介紹

HPM_SDK使用基于CMake的程序構建系統。用戶維護應用程序和板級配置時,需要對應添加CMakeLists.txt文件, CMake工具通過配置文件(CMakeLists.txt)來控制程序的構建過程,并生成適用于多種工具鏈(GCC/Segger Embedded Studio和IAR)的工程文件。通過修改CMakeLists.txt可以實現添加新的.c和.h文件,增加編譯參數等操作。

用戶通過維護板級配置文件和應用程序文件以及對應的CMakeLists.txt文件,可以方便的構建出自己的程序,只需對以上文件進行版本管理,即可實現對最終程序版本的有效管理,能夠降低版本管理難度。

多人協作時,使用版本管理的板級配置文件和應用程序文件以及對應的CMakeLists.txt文件,即可在本地構建出相同的工程,無須傳遞完整的工程文件(通常整個工程文件size較大)以及處理工程文件中的路徑不一致問題,可以提高協作效率。

用戶可參考HPM_SDK中cmake文件和查看HPM_SDK所支持的cmake API說明使用相關cmake指令。

fdd80db6-e5de-11ef-9434-92fbcf53809c.png

用戶準備好板級配置文件和應用程序文件以及對應的CMakeLists.txt文件后,可以使用sdk_env中的start_gui工具調用CMake腳本構建出工程文件。

fde9fc42-e5de-11ef-9434-92fbcf53809c.png

HPM_SDK_ENV升級與處理

當用戶將應用程序和板級配置維護在SDK_ENV之外,升級時可以直接使用新的SDK_ENV再次構建程序。如下,用戶在user目錄下維護自定義的板級配置和應用程序,原先配合sdk_env_1.6.0構建工程,升級獲取sdk_env_v1.7.0后可以使用新sdk_env中的工具再次構建工程,構建出的工程即會使用新sdk_env中的源文件,實現升級。

當sdk_env升級后,可以查看hpm_sdk docs中的Change Log獲取升級信息。某些情形下可能出現需要用戶適當修改自己維護的板級配置和應用程序與新sdk_env配合使用的情況,以下是一些可能情況的列舉:

fdcca9da-e5de-11ef-9434-92fbcf53809c.png

01

使用用戶維護的板子和應用程序,用新的sdk_env構建程序應該能夠直接構建并編譯通過。

02

使用用戶維護的板子和新sdk_env提供的例程構建程序,可能會有需要補充或修改板級函數或宏定義等板級實現的情況。

假設hpm_sdk_env_v1.6.0中提供了例程A, 升級到hpm_sdk_env_v1.7.0時A例程進行了修改,需要使用板級文件中申明的函數或宏定義B。B是hpm_sdk_env_v1.7.0升級過程中新引入的,而用戶自己維護的板級文件停留在舊的狀態,缺少B的申明或實現,出現編譯報錯。

解決辦法:參考SDK中的board,在用戶自己維護的板級文件中添加缺少的函數或宏定義。

如果構建的例程是hpm_sdk_env_v1.7.0中新增的例程,新例程調用一些板級函數,則用戶同樣需要在自己維護的板級文件中添加相關板級實現。

如果使用用戶維護的板子和SDK中的例程進行構建,出現不支持構建的情況,會可能由于SDK例程依賴特定板級的feature,而用戶維護的板子不能提供相關feature,出現不能構建的情況。例如SDK中的例程hpm_sdk/samples/audio_codec/audio_loopback/app.yaml會記錄該例程依賴板級feature:board_audio_codec,也就是當板子支持板級audio_codec,該例程才能被構建出來。板子支持的feature記錄在板級文件夾下的yaml文件中。

03

使用用戶維護的板子和應用程序,但用戶應用程序想參考新sdk_env中的例程進行功能添加和升級。

例如在hpm_sdk_env_v1.6.0中,先楫提供了ECAT_IO例程,用戶基于此開發了自己的例程,在hpm_sdk_env_v1.7.0中,先楫增加了FOE例程,用戶希望將FOE功能添加到已有的應用程序中。

此類升級會涉及到修改用戶自己維護應用程序中的cmake和應用程序的.c&.h文件。用戶需參考SDK中的FOE例程的cmake修改自己應用程序的cmake,將FOE功能依賴的.c和.h添加進自己的工程,參考FOE例程,修改自己的應用程序,配置和調用FOE相關功能,最終實現FOE功能的正確添加。

04

用戶維護的linker升級

如果用戶使用的是SDK中的默認linker文件,其會隨著SDK_ENV的更新而被更新,SDK默認linker文件路徑在hpm_sdk/soc/xxxx/xxxx/toolchains下。

如果用戶維護了自己的linker文件,sdk升級過程中會存在一些linker的改動, 如增加section,修改section的存放位置,特定的sample會對此類改動有需求。當使用自己維護的linker出現鏈接過程報錯時,可以參考sdk中的linker進行檢查和修改。

05

IDE版本的升級

在HPM_SDK_ENV升級過程中,構建出的IDE工程可能會存在參數變化等情況,需要新的IDE版本才能支持。會出現SDK_ENV升級后的工程需要IDE同步升級后才能正確編譯的情況。例如升級到hpm_sdk_env_v1.7.0時,需要使用SEGGER Embedded Studio Release 8.16a及以上版本才可正確編譯。IDE版本信息可關注SDK的Release Note,確認相關IDE的版本需求。

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

    關注

    146

    文章

    17851

    瀏覽量

    360683
  • 應用程序
    +關注

    關注

    38

    文章

    3322

    瀏覽量

    58751
  • HPM
    HPM
    +關注

    關注

    1

    文章

    40

    瀏覽量

    7943
收藏 人收藏

    評論

    相關推薦
    熱點推薦

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

    sdk_env 開發環境,通過包內的 start_gui 圖形化工具來可視化的生成工程和打開工程。歡迎探索start_gui的更多功能。 常用鏈接 在線工具 hpm pinmux tool 鏈接
    發表于 04-08 11:14

    HPM SDK Linux開發環境搭建指南

    。 HPM SDK是一個基于寬松使用許可(BSD 3-Clause)完全開源的綜合性軟件支持包,幫助用戶使用先楫半導體基于RISC-V內核的MCU簡化和加快應用開發。 HPM
    發表于 06-08 13:59

    先楫hpm_sdk使用vscode開發

    一、概述 先楫的hpm_sdk,對于習慣用keil的開發者可能不太習慣,但是從開發角度上看,是比較靈活的,可以給開發者一定的發揮空間。該sdk
    發表于 06-24 20:19

    HPMSDK之外搭建工程指南(在也不擔心SDK升級一堆沖突上頭)

    sdk_env_v1.2.0。 2.HPM SDK 組成結構介紹2.1 SDK ENV組成結構 SDK
    發表于 08-09 14:29

    SDK_ENV 構建工程失敗

    使用gui和cmd工具創建工程均失敗,v1.2.0,v1.1.0版本都無法正常創建 F:\\\\work\\\\sdk_env\\\\hpm_sdk\\\\samples
    發表于 09-14 15:32

    【先楫HPM5361EVK開發板試用體驗】在windows系統下搭建開發環境

    。 要將第2步下載的hpm_sdk文件夾里面的所有內容復制到sdk_env-main\\\\hpm_sdk中。 此時再運行start_gui.exe程序就能識別到
    發表于 11-29 21:15

    【先楫HPM5361EVK開發板試用體驗】搭建開發環境1

    集成開發環 境HPM Studio和PC桌面端圖形化的SoC資源配置 工具,同合作伙伴一起推進高性能MCU生態發展。 SDK在線文檔: https://hpm-sdk
    發表于 12-03 14:42

    【先楫HPM5361EVK開發板試用體驗】coremark測試HPM5361EVK性能

    HPM5361EVK開發板默認已經寫好了大部分常用的BSP SDK,我們在使用時,需要先下載這些BSP, 2.1 sdk_env下載地址https://github.com/hpmi
    發表于 12-07 09:23

    【先楫HPM5361EVK開發板試用體驗】coremark軟件跑分測試HPM5361EVK性能

    HPM5361EVK開發板默認已經寫好了大部分常用的BSP SDK,我們在使用時,需要先下載這些BSP, 2.1 sdk_env下載地址https://github.com/hpmi
    發表于 12-07 10:15

    【先楫HPM5361EVK開發板試用體驗】coremark軟件跑分測試HPM5361EVK性能

    HPM5361EVK開發板默認已經寫好了大部分常用的BSP SDK,我們在使用時,需要先下載這些BSP, 2.1 sdk_env下載地址https://github.com/hpmi
    發表于 12-10 19:32

    使用面向OpenCL應用程序的英特爾SDK更快地開發OpenCL

    使用面向OpenCL?應用程序的英特爾?SDK更快地開發OpenCL
    的頭像 發表于 11-09 06:39 ?3011次閱讀

    如何使用Xilinx SDK創建Linux應用程序,并進行開發和調試

    了解如何使用Xilinx SDK創建Linux應用程序。 我們還將重點介紹和演示支持Linux應用程序開發和調試的不同方面的SDK功能。
    的頭像 發表于 11-20 07:03 ?1.1w次閱讀

    如何導出硬件平臺并啟動SDK開發應用程序及板級支持包

    本文介紹如何導出硬件平臺, 并啟動SDK開發應用程序及板級支持包(BSP)。
    的頭像 發表于 02-08 10:56 ?2801次閱讀
    如何導出硬件平臺并啟動<b class='flag-5'>SDK</b><b class='flag-5'>開發</b><b class='flag-5'>應用程序</b>及板級支持包

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

    一、概述在上一篇雜談文章《[HPM雜談]你想要了解的先楫hpm_sdk開發都在這里系列(一)》,大概分析了先楫通用單片機開發與其他國產單片機的開發
    的頭像 發表于 10-12 08:18 ?2193次閱讀
    [<b class='flag-5'>HPM</b>雜談]你想要了解的先楫<b class='flag-5'>hpm_sdk</b><b class='flag-5'>開發</b>都在這里系列 (二)

    window端的sdk_env的構建工具使用

    在上一篇雜談文章《[HPM雜談]你想要了解的先楫hpm_sdk開發都在這里系列 (一)》,大概分析了先楫通用單片機開發與其他國產單片機的開發
    的頭像 發表于 10-16 15:32 ?1047次閱讀
    window端的<b class='flag-5'>sdk_env</b>的構建工具使用