大家好,我是痞子衡,是正經(jīng)搞技術(shù)的痞子。今天痞子衡給大家介紹的是 MCUXpresso IDE 下 SDK 工程導(dǎo)入與 workspace 管理機(jī)制。
MCUXpresso IDE 是恩智浦軟件團(tuán)隊(duì)傾注很大心血研發(fā)的免費(fèi)集成開發(fā)環(huán)境,基本上一般 MCU 開發(fā) IDE 有的功能它都有,一般 IDE 沒有的功能它也有。但是酒香也怕巷子深,網(wǎng)上關(guān)于 MCUXpresso IDE 教程太少,很多人連 MCUXpresso IDE 基本操作都不熟練,也就更談不上去接觸它功能強(qiáng)大的一面,工具推廣任重道遠(yuǎn),痞子衡且去做這個(gè)布道師吧。
今天痞子衡要介紹的是 MCUXpresso IDE 聯(lián)合官方 SDK 軟件包的 workspace 管理機(jī)制,算是 MCUXpresso IDE 入門第一步。
一、準(zhǔn)備開發(fā)環(huán)境
首先需要準(zhǔn)備好環(huán)境,包含必要的軟件,痞子衡的環(huán)境如下:
- 集成開發(fā)環(huán)境:MCUXpresso IDE v11.2.1_4149,點(diǎn)此下載軟件開發(fā)包:SDK_2.8.0_EVK-MIMXRT595_PRC(Toolchain 需包含 MCUXpresso IDE),點(diǎn)此下載
?
二、Workspace 機(jī)制
第一次打開 MCUXpresso IDE,首先會(huì)讓你選一個(gè) Workspace 路徑,如果不主動(dòng)選,會(huì)有一個(gè)默認(rèn)的路徑。Workspace 其實(shí)是所有基于 Eclipse 的工具的通用概念,對(duì)于嵌入式工程來說,它主要用于集中放置項(xiàng)目的所有資源,包括工程源文件以及 MCUXpresso IDE 本身的配置等?,F(xiàn)在你對(duì) Workspace 作用可能還沒深刻感受,沒關(guān)系,咱們繼續(xù)往下看。
?
三、導(dǎo)入 SDK 工程
選好 Workspace 路徑便會(huì)進(jìn)入 MCUXpresso IDE 主界面,在左側(cè) Quickstart Panel 有三種進(jìn)入工程的方法,第一種是從零開始創(chuàng)建全新工程(這個(gè)痞子衡不推薦),后面兩種導(dǎo)入工程方式才是比較推薦的,因?yàn)榛谝粋€(gè)現(xiàn)有工程去改,會(huì)讓你更快地得到你想要的工程。
- Import SDK example(s):從恩智浦 SDK 包里導(dǎo)入示例工程 Import project(s) from file system:從本地直接導(dǎo)入已有工程。
那么對(duì)于恩智浦 SDK 包來說,兩種導(dǎo)入工程方式有什么區(qū)別呢?咱們以下載好的 SDK_2.8.0_EVK-MIMXRT595_PRC.zip 包為例。
3.1 Import SDK example(s)
先來看第一種 Import SDK example,默認(rèn) Installed SDKs 界面框里沒有 RT500,我們直接將 SDK_2.8.0_EVK-MIMXRT595_PRC.zip 包(解壓亦可)拖到 Installed SDKs 界面框中。
這時(shí)候 Installed SDKs 界面框里可以看到 RT500 的 SDK 包,選中它繼續(xù)操作來導(dǎo)入 SDK 包里的 example,我們就選 demo_apps 下的 hello_world 例程。
導(dǎo)入完成后,在 workspace 路徑下,你可以看到多了一個(gè)名為 evkmimxrt595_hello_world 文件夾,這個(gè)文件夾下既有 MCUXpresso IDE 的工程文件(.project/.cproject),也有 SDK 包里 hello world 例程所需的全部源文件。是的,Import SDK example 操作會(huì)從 SDK 包里拷貝出全部必要的文件組成一個(gè)獨(dú)立的項(xiàng)目文件夾,從此這個(gè)項(xiàng)目文件夾將不再依賴原始的 SDK 包。
上述操作得以實(shí)現(xiàn),主要依賴 SDK 包里存放的如下 xml 描述文件,這些 xml 會(huì)指示 MCUXpresso IDE 在導(dǎo)入過程中創(chuàng)建工程文件,以及重組獨(dú)立文件夾。
SDK_2.8.0_EVK-MIMXRT595_PRCEVK-MIMXRT595_manifest_v3_6.xml
SDK_2.8.0_EVK-MIMXRT595_PRCboardsevkmimxrt595demo_appshello_worldhello_world.xml
?
3.2 Import project(s) from file system
再來看第二種 Import project(s) from file system,這是從本地直接導(dǎo)入現(xiàn)有工程,那么解壓后的 SDK_2.8.0_EVK-MIMXRT595_PRC 包里有沒有工程呢?我們?cè)囍鴮?dǎo)入看看瞧:
我們發(fā)現(xiàn) SDK 包里僅有 dsp 相關(guān)的例程,并沒有上一種 Import SDK example 方式看到的那么多基礎(chǔ)例程,這是為何?其實(shí)如果你認(rèn)真看過 SDK 包里 boardsevkmimxrt595demo_appshello_world 文件夾下的內(nèi)容,你會(huì)發(fā)現(xiàn)存在 IAR/MDK 工程文件,但時(shí)并沒有 MCUXpresso IDE 的工程文件。因此這種導(dǎo)入方式,并不適用原始 SDK 包,它更適合經(jīng)過上一種 Import SDK example 方式導(dǎo)入后生成的獨(dú)立項(xiàng)目文件夾(文件夾里要包含 .project/.cproject 文件)。
最后再提一下上圖中紅框標(biāo)起來的 Copy projects into workspace 選項(xiàng),對(duì)于一個(gè)放置在本地的包含 .project/.cproject 文件的獨(dú)立項(xiàng)目文件夾,導(dǎo)入過程中如果勾選這個(gè)選項(xiàng),那么 workspace 路徑下也會(huì)被復(fù)制一份項(xiàng)目,這樣 workspace 路徑與 project 路徑是一致的。如果不勾選這個(gè)選項(xiàng),則兩個(gè)路徑不一致,這會(huì)在工程編譯時(shí)受影響,因?yàn)槟J(rèn)工程 MCU C Compiler/Includes 選項(xiàng)里用得路徑就是基于 workspace_loc 路徑,關(guān)于這個(gè)會(huì)在后面文章繼續(xù)講。
至此,MCUXpresso IDE 下 SDK 工程導(dǎo)入與 workspace 管理機(jī)制痞子衡便介紹完畢了,掌聲在哪里~~