痞子衡嵌入式:MCUXpresso IDE下SDK工程匯入與workspace管理機制

痞子衡發表於2020-12-29

  大家好,我是痞子衡,是正經搞技術的痞子。今天痞子衡給大家介紹的是MCUXpresso IDE下SDK工程匯入與workspace管理機制

  MCUXpresso IDE是恩智浦軟體團隊傾注很大心血研發的免費整合開發環境,基本上一般MCU開發IDE有的功能它都有,一般IDE沒有的功能它也有。但是酒香也怕巷子深,網上關於MCUXpresso IDE教程太少,很多人連MCUXpresso IDE基本操作都不熟練,也就更談不上去接觸它功能強大的一面,工具推廣任重道遠,痞子衡且去做這個佈道師吧。

  今天痞子衡要介紹的是MCUXpresso IDE聯合官方SDK軟體包的workspace管理機制,算是MCUXpresso IDE入門第一步。

一、準備開發環境

  首先需要準備好環境,包含必要的軟體,痞子衡的環境如下:

  • 整合開發環境: MCUXpresso IDE v11.2.1_4149,點此下載
  • 軟體開發包: SDK_2.8.0_EVK-MIMXRT595_PRC(Toolchain需包含MCUXpresso IDE),點此下載

二、Workspace機制

  第一次開啟MCUXpresso IDE,首先會讓你選一個Workspace路徑,如果不主動選,會有一個預設的路徑。Workspace其實是所有基於Eclipse的工具的通用概念,對於嵌入式工程來說,它主要用於集中放置專案的所有資源,包括工程原始檔以及MCUXpresso IDE本身的配置等。現在你對Workspace作用可能還沒深刻感受,沒關係,我們們繼續往下看。

三、匯入SDK工程

  選好Workspace路徑便會進入MCUXpresso IDE主介面,在左側Quickstart Panel有三種進入工程的方法,第一種是從零開始建立全新工程(這個痞子衡不推薦),後面兩種匯入工程方式才是比較推薦的,因為基於一個現有工程去改,會讓你更快地得到你想要的工程。

  • Import SDK example(s): 從恩智浦SDK包裡匯入示例工程
  • Import project(s) from file system: 從本地直接匯入已有工程。

  那麼對於恩智浦SDK包來說,兩種匯入工程方式有什麼區別呢?我們們以下載好的SDK_2.8.0_EVK-MIMXRT595_PRC.zip包為例。

3.1 Import SDK example(s)

  先來看第一種 Import SDK example,預設Installed SDKs介面框裡沒有RT500,我們直接將SDK_2.8.0_EVK-MIMXRT595_PRC.zip包(解壓亦可)拖到Installed SDKs介面框中。

  這時候Installed SDKs介面框裡可以看到RT500的SDK包,選中它繼續操作來匯入SDK包裡的example,我們就選demo_apps下的hello_world例程。

  匯入完成後,在workspace路徑下,你可以看到多了一個名為evkmimxrt595_hello_world資料夾,這個資料夾下既有MCUXpresso IDE的工程檔案(.project/.cproject),也有SDK包裡hello world例程所需的全部原始檔。是的,Import SDK example 操作會從SDK包裡拷貝出全部必要的檔案組成一個獨立的專案資料夾,從此這個專案資料夾將不再依賴原始的SDK包。

  上述操作得以實現,主要依賴SDK包裡存放的如下xml描述檔案,這些xml會指示MCUXpresso IDE在匯入中建立工程檔案,以及重組獨立資料夾。

\SDK_2.8.0_EVK-MIMXRT595_PRC\EVK-MIMXRT595_manifest_v3_6.xml
\SDK_2.8.0_EVK-MIMXRT595_PRC\boards\evkmimxrt595\demo_apps\hello_world\hello_world.xml

3.2 Import project(s) from file system

  再來看第二種 Import project(s) from file system,這是從本地直接匯入現有工程,那麼解壓後的SDK_2.8.0_EVK-MIMXRT595_PRC包裡有沒有工程呢?我們試著匯入看看瞧:

  我們發現SDK包裡僅有dsp相關的例程,並沒有上一種 Import SDK example 方式看到的那麼多基礎例程,這是為何?其實如果你認真看過SDK包裡\boards\evkmimxrt595\demo_apps\hello_world資料夾下的內容,你會發現存在IAR/MDK工程檔案,但時並沒有MCUXpresso IDE的工程檔案。因此這種匯入方式,並不適用原始SDK包,它更適合經過上一種 Import SDK example 方式匯入後生成的獨立專案資料夾(資料夾裡要包含.project/.cproject檔案)。

  最後再提一下上圖中紅框標起來的 Copy projects into workspace 選項,對於一個放置在本地的包含.project/.cproject檔案的獨立專案資料夾,匯入過程中如果勾選這個選項,那麼workspace路徑下也會被複制一份專案,這樣workspace路徑與project路徑是一致的。如果不勾選這個選項,則兩個路徑不一致,這會在工程編譯時受影響,因為預設工程MCU C Compiler/Includes選項裡用得路徑就是基於workspace_loc路徑,關於這個會在後面文章繼續講。

  至此,MCUXpresso IDE下SDK工程匯入與workspace管理機制痞子衡便介紹完畢了,掌聲在哪裡~~~

歡迎訂閱

文章會同時釋出到我的 部落格園主頁CSDN主頁知乎主頁微信公眾號 平臺上。

微信搜尋"痞子衡嵌入式"或者掃描下面二維碼,就可以在手機上第一時間看了哦。

相關文章