概述
自HPM_SDK v1.7.0發(fā)布開始,在HPM_ENV中新增了user_template文件夾,以方便用戶快速創(chuàng)建自定義的Board和App工程。user_template是用戶模板工程,用戶可將該文件夾復(fù)制到用戶自定義的工作目錄(workspace)中,基于此模板進行開發(fā)。
本模板主要牽涉到的用戶自定義的文件有:
用戶板級文件Board
用戶應(yīng)用程序App
用戶鏈接腳本Linker
用戶板級文件Board
在 user_board 文件夾下,有一個 yaml 文件和一個 cfg 文件,這兩個文件的名稱必須要跟文件夾名稱一致,這樣start_gui才能識別出該文件夾為板級文件夾。
其中, yaml 文件是用戶板級配置文件,用于配置soc名稱、openocd腳本等。 cfg 文件是openocd的板級配置文件,指定板載Flash的參數(shù)、調(diào)試器reset-init事件處理、調(diào)試器gdb-attach事件處理等。
通常,用戶可將hpm_sdk/boards/hpm_xxxx_evk目錄中文件復(fù)制到user_board文件夾下,將hpm_sdk/boards/openocd/boards目錄evk對應(yīng)的cfg文件復(fù)制到user_board文件夾下,然后在其基礎(chǔ)上根據(jù)自身板子的配置進行修改。
Tips:復(fù)制過來后,請修改 yaml 和 cfg 文件名稱,與文件夾名稱保持一致。
本模板中的 user_board 文件夾的文件是從hpm6750evk2相關(guān)文件復(fù)制過來的,用戶可根據(jù)自身板子的配置情況將其替換或修改。
用戶應(yīng)用程序App
在 user_app 文件夾下,用戶可組織自己的應(yīng)用程序,例如main函數(shù)等。
添加的.c文件和.h文件時,請在 CMakeList.txt 中使用sdk_app_src 添加.c文件,使用 sdk_app_inc 添加.h文件的路徑。
若使用到 middleware 、 components 等,請參考hpm_sdk對應(yīng)sample中的 CMakeList.txt ,然后在依葫蘆畫瓢在用戶的 CMakeList.txt 中添加相關(guān)指令。
HPM_SDK中支持的cmake指令可在hpm_sdk\docs\index_zh.html中查看:

Tips:修改CMakeList.txt后,需要重新生成工程并編譯,才能生效。
用戶鏈接腳本Linker
在 user_app 文件夾下,有該應(yīng)用程序的 linker 文件,用戶可根據(jù)自身的需求自定義該文件。
通常,用戶可將hpm_sdk/soc/xxxx/xxxx/toolchains中的gcc/iar/segger文件夾中的linker文件復(fù)制到user_app/linkers中,在其基礎(chǔ)上進行修改。
Tips:復(fù)制過來后,gcc/iar/segger三個文件下的linker文件名稱保持一致,僅后綴不一樣。
本模板中的linker文件是從hpm6750evk2的flash_xip liner文件復(fù)制過來的,用戶可根據(jù)自身板子的配置情況將其替換或修改。
用戶在應(yīng)用程序的 CMakeList.txt 中可以指定使用的Linker文件,如果在 CMakeList.txt 中不指定Linker文件,也可在start_gui生成工程的時候指定Linker文件。
如果以上兩種情況都不指定Linker文件,則會使用SDK默認(rèn)的linker文件,位于hpm_sdk/soc/xxxx/xxxx/toolchains中。
START_GUI的使用
上述的文件組織完畢后,可使用start_gui生成自己的project工程。

Board Path:指定頂層的 user_template 文件夾,它將自動搜索該文件夾下的板級文件。
Application Path:指定頂層的 user_template 文件夾,它將自動搜索該文件夾下的應(yīng)用程序。
User GCC Liner File:指定用戶自定義的gcc linker文件。生成project后,gcc工具鏈將使用gcc文件夾下的linker,iar工具鏈將使用iar文件夾下的linker,segger工具鏈將使用segger文件夾下的linker。
-Tips: start_gui的 Build Type 需要配合linker文件 正確指定。例如,當(dāng)linker文件使用到Flash且沒有SDRAM時,start_gui的 Build Type 需要指定為 flash_xip ;當(dāng)linker文件使用到Flash且有SDRAM時,start_gui的 Build Type 需要指定為flash_sdram_xip 。
配置完畢后,點擊 Generate ,即可生成工程。
<注意>: 修改 CMakeList.txt 后,需要重新生成工程并編譯,才能生效。
-
APP
+關(guān)注
關(guān)注
33文章
1585瀏覽量
73824 -
board
+關(guān)注
關(guān)注
0文章
38瀏覽量
20002 -
HPM
+關(guān)注
關(guān)注
1文章
40瀏覽量
7943
發(fā)布評論請先 登錄
如何添加自定義單板
HarmonyOS應(yīng)用自定義鍵盤解決方案
自定義工程文件
如何使用HAL快速開發(fā)自定義創(chuàng)建工程模板
在NI Multisim中創(chuàng)建自定義元器件
利用SDSoC創(chuàng)建自定義硬件
Vivado設(shè)計套件用戶指南:創(chuàng)建和打包自定義IP

Vivado Design Suite用戶指南:創(chuàng)建和打包自定義IP

博途用戶自定義庫的使用

創(chuàng)建自定義的基于閃存的引導(dǎo)加載程序(BSL)

評論