一、概述
在上一篇雜談文章《[HPM雜談]你想要了解的先楫hpm_sdk開(kāi)發(fā)都在這里系列 (一)》,大概分析了先楫通用單片機(jī)開(kāi)發(fā)與其他國(guó)產(chǎn)單片機(jī)的開(kāi)發(fā)差異,以及開(kāi)發(fā)優(yōu)劣勢(shì)。剛好在這個(gè)月底,先楫官方發(fā)布了新的SDK版本,也就是hpm_sdk 1.3.0版本。
與此同時(shí)也發(fā)布了window端的sdk_env,其可視化構(gòu)建界面功能更為方便操作,在這個(gè)構(gòu)建工具支持hpm_sdk之外構(gòu)建自己的application應(yīng)用。
因此,本文章主要闡述最新發(fā)布的window端的sdk_env的構(gòu)建工具使用以及開(kāi)發(fā)者自身app開(kāi)發(fā),對(duì)于其他的命令操作,以及linux端和mac端等,不在本文闡述范圍內(nèi)。
二、開(kāi)發(fā)步驟
(一) 下載鏈接
在開(kāi)始之前,需要知道hpm_sdk和hpm_env的下載的鏈接:
1、hpm_env倉(cāng)庫(kù),此倉(cāng)庫(kù)是windows端的開(kāi)發(fā)環(huán)境配置套件,里面包含了編譯鏈以及相關(guān)構(gòu)建工具,以及項(xiàng)目可視化構(gòu)建工具,本文以該倉(cāng)庫(kù)進(jìn)行闡述使用說(shuō)明。
gitee: https://gitee.com/hpmicro/sdk_env.git
github: https://github.com/hpmicro/sdk_env.git
該env使用可以參考下其readme文檔:https://gitee.com/hpmicro/sdk_env/blob/main/README_zh.md
2、hpm_sdk倉(cāng)庫(kù),此倉(cāng)庫(kù)master分支就是最新的版本,需要以往的版本可以切到tags。不包含編譯鏈和相關(guān)構(gòu)建所需要的工具,工具鏈和環(huán)境變量需要自行配置。
gitee: https://gitee.com/hpmicro/hpm_sdk.git
github: https://github.com/hpmicro/hpm_sdk.git
(二)安裝驅(qū)動(dòng)
目前先楫的官方評(píng)估板都是自帶的ft2232進(jìn)行jtag調(diào)試,如果以往沒(méi)安裝過(guò)此驅(qū)動(dòng),需要自行在tools/FTDI_InstallDriver.exe 雙擊安裝。
(三)start_gui.exe操作使用
1、start_gui.exe是適配hpm_sdk的項(xiàng)目構(gòu)建可視化工具,開(kāi)發(fā)者無(wú)需自行在終端輸入命令行進(jìn)行構(gòu)建,在界面上操作即可簡(jiǎn)單構(gòu)建你所需要的應(yīng)用程序。
2、需要先介紹下該工具的整體界面,該介紹部分搬于先楫官方的hpm_env 的readme說(shuō)明。
① SDK ENV 設(shè)置:此處可手動(dòng)配置 SDK ENV 路徑,點(diǎn)擊右上角Advanced按鈕后,可以對(duì)hpm_sdk以及CMake、Ninja等工具路徑進(jìn)行更詳細(xì)的配置,比如默認(rèn)的如下:
② Board 設(shè)置:默認(rèn)情況下,工具會(huì)列出hpm_sdk/boards文件夾下所有的開(kāi)發(fā)板。同時(shí),工具也支持加載用戶自定義的開(kāi)發(fā)板配置。用戶需要首先勾選Enable User Board Path復(fù)選框啟用User Board搜索功能,然后選擇想要搜索的開(kāi)發(fā)板文件夾,軟件會(huì)搜索當(dāng)前文件夾以及第一級(jí)子文件夾,當(dāng)查找到文件夾下存在CMakeLists.txt 以及 與文件夾同名的 yaml 配置文件時(shí),會(huì)識(shí)別當(dāng)前文件夾為開(kāi)發(fā)板配置,加入到列表項(xiàng)中。當(dāng)當(dāng)前文件夾被識(shí)別為開(kāi)發(fā)板配置時(shí),不會(huì)再搜索子文件夾。
注意:如果使用自定義 board,CMake 構(gòu)建過(guò)程會(huì)嘗試在自定義目錄下搜索與 board 目錄同名的 .cfg 文件作為板級(jí) openocd 的配置文件,若無(wú)此文件,openocd 將不會(huì)添加任何板級(jí)配置文件
③ Sample 設(shè)置:選擇了開(kāi)發(fā)板后,工具會(huì)根據(jù)開(kāi)發(fā)板的yaml配置文件自動(dòng)篩選符合條件的 sample。默認(rèn)情況下,會(huì)展示hpm_sdk/samples文件夾下經(jīng)過(guò)篩選的sample。同時(shí),工具也支持加載用戶自定義的 sample 文件夾。用戶需要首先勾選Enable User Application Path復(fù)選框啟用User Applications搜索功能,然后選擇想要搜索的 sample 文件夾,軟件會(huì)搜索當(dāng)前文件夾以及所有子文件夾,當(dāng)查找到文件夾下存在CMakeLists.txt時(shí),會(huì)查找當(dāng)前CMakeLists.txt是否調(diào)用了hpm-sdk,符合條件的會(huì)識(shí)別為 sample 文件夾并加入到列表項(xiàng)中。當(dāng)選擇了 sample 之后,會(huì)自動(dòng)識(shí)別當(dāng)前 sample 支持的 build type 類型并加入到列表項(xiàng)中。
④ Output 設(shè)置:用戶可以在 Output 區(qū)域定義工程的構(gòu)建生成路徑。默認(rèn)情況下,項(xiàng)目會(huì)生成在${sample}/${board}_${build_type}文件夾。同時(shí),工具支持選擇一個(gè)父文件夾,將多個(gè)項(xiàng)目生成在當(dāng)前父文件夾下。該功能需要用戶勾選Use Same Parent Directory復(fù)選框,然后選擇一個(gè)父文件夾,即Parent Directory,之后構(gòu)建生成的項(xiàng)目均會(huì)保存在當(dāng)前文件夾下,Build Folder為項(xiàng)目文件夾名稱,工具會(huì)采用${sample}_${board}_${build_type}規(guī)則自動(dòng)生成文件夾名稱,用戶也可以手動(dòng)修改文件夾名稱。
⑤ 構(gòu)建選項(xiàng):當(dāng)配置完畢后,用戶可點(diǎn)擊Generate Project按鈕開(kāi)始構(gòu)建項(xiàng)目,當(dāng)項(xiàng)目正確構(gòu)建后,Open Project with IDE按鈕會(huì)高亮,點(diǎn)擊后會(huì)用IDE拉起當(dāng)前項(xiàng)目。同時(shí),工具支持控制臺(tái)編譯,點(diǎn)擊Open Build Console按鈕后,會(huì)拉起控制臺(tái),該控制臺(tái)默認(rèn)加載了SDK_ENV的環(huán)境變量,可以直接編譯程序。
⑥ 日志窗口:日志窗口會(huì)顯示當(dāng)前的日志信息,日志信息支持清空和導(dǎo)出。
三、開(kāi)發(fā)實(shí)戰(zhàn)
在實(shí)際項(xiàng)目的開(kāi)發(fā)中,肯定更多希望自己的項(xiàng)目獨(dú)立于hpm_sdk之外,在hpm_env1.3.0之前,start_gui不支持在sdk之外構(gòu)建,但在這月底發(fā)布的1.3.0已經(jīng)支持,本文就以start_gui來(lái)構(gòu)建的應(yīng)用程序。如何開(kāi)發(fā)也很簡(jiǎn)單。
(一)建立好自己的application
這部分由開(kāi)發(fā)者自身應(yīng)用決定,樓主僅僅拋磚引玉。在本文,樓主新建以下文件夾和相關(guān)文件。自己的app可以放在任意文件夾。
(二)使用sdk env的start_gui指定app工程
打開(kāi)start_gui.exe,分別開(kāi)啟Enable User Board Path和Enable User Application Path。對(duì)應(yīng)的Path路徑指定到(一)的app工程路徑。
需要注意:
1、Enable User Board Path:該路徑可以是custom board的根目錄也可以是custom board目錄內(nèi)的子目錄。比如上述的文件夾board根目錄,包含了custom board的rc_hpm_evk文件夾。
那么該欄就可以如下指定:
注意:custom board內(nèi)文件必須包含yaml文件,yaml解析不在本文闡述,可以在sdk內(nèi)的Board拷貝對(duì)應(yīng)的soc的board yaml文件。該文參考的是hpm6750evk2。另外,openocd的board cfg文件也支持自定義,board的cfg也可以參考sdk對(duì)應(yīng)的soc的board,只要對(duì)應(yīng)的custom board有自己的board cfg文件,那么start_gui自動(dòng)加載,否則保持默認(rèn)。建議兩個(gè)文件都進(jìn)行復(fù)制拷貝更名。
2、Enable User Application Path:該路徑可以是app根目錄也可以是app的父目錄。但建議路徑選擇自身的app根目錄,這樣直接start_gui能直接識(shí)別application。
(三)使用sdk env的start_gui生成app工程
完成(二)之后,點(diǎn)擊generate project,即可生成對(duì)應(yīng)的先楫支持的IDE平臺(tái),比如ses。
點(diǎn)擊Open Project with IDE即可打開(kāi)對(duì)應(yīng)的IDE。
注意:生成的IDE平臺(tái),比如ses,建議只用來(lái)燒錄調(diào)試所用,option配置這些用cmakelists進(jìn)行配置,否則下次生成會(huì)被覆蓋。比如添加drivers里面的6.c文件,直接在cmakelists加入命令
審核編輯:湯梓紅
-
Window
+關(guān)注
關(guān)注
0文章
82瀏覽量
37263 -
單片機(jī)
+關(guān)注
關(guān)注
6035文章
44554瀏覽量
634620 -
Linux
+關(guān)注
關(guān)注
87文章
11292瀏覽量
209322 -
先楫半導(dǎo)體
+關(guān)注
關(guān)注
10文章
214瀏覽量
2102
原文標(biāo)題:[HPM雜談]你想要了解的先楫hpm_sdk開(kāi)發(fā)都在這里系列 (二)
文章出處:【微信號(hào):HPMicro,微信公眾號(hào):先楫半導(dǎo)體HPMicro】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論