1. 程式人生 > >MCUXPresso IDE:用於NXP ARM Cortex-M微控制器的統一的Eclipse IDE

MCUXPresso IDE:用於NXP ARM Cortex-M微控制器的統一的Eclipse IDE

半導體行業內上演了很多的併購案,其中最大的一個是2016年飛思卡爾半導體與恩智浦半導體的合併,兩者同時為其客戶群提供基於Eclipse的IDE。 於是,公司併購引發了IDE的合併,並且恩智浦上週釋出了其全新的開發環境:MCUXpresso IDE。



概述

MCUXpresso基本上是“開掛的LPCXpresso”,支援NXP Kinetis和LPC器件(ARM Cortex-M0(+)/ M4 / M7),它基於LPCXpresso的功能集。 它從LPCXpresso繼承了Pro版本選項(IDE電子郵件支援和擴充套件跟蹤功能),並且和Kinetis Design Studio一樣,它是免費使用的,並且無程式碼大小限制。 對於現有的LPCXpresso IDE使用者,它增加了無程式碼大小限制功能(免費的LPCXpresso IDE的程式碼大小限制為256 KB),除了這些,還包含一些其他功能,如支援MCUXpresso SDK。


在大學,我們通常會一起使用到CodeWarrior for MCU 10.x、Kinetis Design Studio v3.2和LPCXpresso v8.2。 因為新的IDE支援Kinetis和LPC器件,我打算將LPCXpresso和Kinetis Design Studio課程資料遷移到新的MCUXpresso IDE。 在這篇文章中,我簡要介紹一些認為非常有用的主要功能。 除此之外,我認為以下資訊對於計劃從LPCXpresso或Kinetis Design Studio升級到新的NXP Eclipse IDE的任何人都是有用的。


安裝

該IDE可以從http://www.nxp.com/mcuxpresso/ide

獲得。下載軟體需要恩智浦的使用者帳戶,但免費和程式碼大小無限制版本不需要其他的註冊或啟用。

和Kinetis Design Studio和LPCXpresso一樣,免費版本的支援是基於社群(https://community.nxp.com/community/mcuxpresso/mcuxpressoide)的。 有一個Pro版本可以新增一年IDE電子郵件支援和擴充套件跟蹤支援(現有的LPCXpresso Pro許可證也被MCUXpresso IDE認可)。

我使用的是版本10.0.0(Build 344):

與其他IDE相比,下載大小相當小(Windows上為576 MB),並且可以在Mac和Linux上使用(我到目前為止已成功安裝在Windows 7和10上)。它安裝所有的除錯驅動程式。


快速啟動面板

和LPCXpresso一樣,MCUXpresso IDE包括一個快速啟動面板,從這裡可以訪問最常用的功能:


學生通常會很難在Eclipse中找到專案設定,或者不知道如何進行構建/除錯。 使用該面板將使他們很輕鬆地找到。

它包含一個“藍色”除錯按鈕啟動除錯會話,這是啟動偵錯程式的推薦方法。 “藍色”除錯按鈕也存在於工具欄中。

還有Eclipse的預設“綠色”除錯圖示,但是隻有配置了除錯連線(啟動配置)才可以使用,而“藍色”除錯按鈕可以自動檢測偵錯程式並自動進行配置(稍後會詳細介紹)。


MCUXpresso SDK

IDE提供了對LPC裝置的傳統LPCOpen支援。其他一切都是通過新增MCUXpresso(以前的Kinetis)SDK來驅動的。


當構建一個新的SDK/配置時,請確保選擇了MCUXpresso IDE,使得其可以與IDE一起使用:



SDK Package Manager

在IDE中,有一個SDK Package Manager,位於Window> Show View> MCUXpresso IDE:


匯入SDK的最簡單方法是將SDK zip檔案拖放到該檢視中:


SDK包不僅包括驅動程式原始檔,還包括示例工程和IDE需要知道的關於器件的其他內容,例如工具鏈支援和偵錯程式資訊。

預設情況下,SDK作為zip檔案使用。這樣,IDE從zip中提取檔案,並將檔案複製到工程中。 有一個工作區選項來解壓檔案以允許專案中的“連結檔案”,但我不建議在專案中使用這樣的連結檔案。

從“Installed SDK”檢視中,我可以使用工具欄按鈕直接開啟Config和Builder頁面:



新專案

可以建立專案(“New Project...”)或從SDK示例匯入專案:

對於新的專案,可以在SDK Wizard中選擇使用的器件或者是開發板。


在接下來的對話方塊中,我可以選擇在工程裡面我想使用什麼:


在接下來的Advanced Projects設定中,選擇庫和記憶體設定選項。除了通常的Newlib和Newlib-nano之外,我可以選擇Redlib,這是一種針對嵌入式裝置進行了優化的專有庫:


匯入示例專案非常相似,不同的是我可以選擇匯入哪個示例:



構建系統

MCUXpresso IDE使用的是GNU Tools for ARM Embedded Processors第5版(2016年第3季度版本)。 IDE使用與LPCXpresso相同的專案檔案格式/構建設定,因此可以輕鬆匯入舊版LPC專案。 現有的Kinetis Design Studio可以使用一些遷移/移植步驟。

在專案設定中有一個“MCU Setting”面板,告訴IDE與記憶體對映一起使用的器件:


此資訊用於託管連結描述檔案:預設情況下,IDE建立並維護GNU連結描述檔案,並使用其他設定來管理庫、堆和棧設定:


我可能會禁用託管連結描述檔案功能:GNU連結器檔案真的不是很難讀/寫/使用,並且隱藏連結器指令碼在該生成器後面使得物件分配不是很透明。 但對於沒有經驗的使用者來說,這當然是一個有用的功能。


偵錯程式

IDE支援P&E偵錯程式(Multilink,...)、SEGGER偵錯程式(J-Link、...)和LPC-Link / LPC-Link2(CMSIS-DAP)偵錯程式。 因此,Kinetis Freedom和Tower開發板上的恩智浦嵌入式OpenSDA電路支援P&E、Segger和CMSIS-DAP韌體,SEGGER和P&E商業偵錯程式,恩智浦嵌入式LPC-Link和LPC-Link2偵錯程式。使用不同的Tower、Freedom和LPC開發板和偵錯程式, IDE正常工作:


對於Kinetis Design Studio使用者來說,新功能是:它支援LPC-Link2偵錯程式,可以載入CMSIS-DAP或Segger韌體(LPC)。 KDS的CMSIS-DAP真的從未執行良好,所以現在我可以使用LPC-Link2和CMSIS-DAP來除錯機器人上的Kinetis K22:


所以這將是一個非常實惠的偵錯程式選項,因為LPC-Link2的價格是20美元。

要除錯專案,重要的是使用藍色除錯圖示(而不是正常的綠色!)。


或者快速啟動面板中的除錯選項:


probe discovery真的很酷:當我開始除錯專案時,它可以讓我挑選任何一個檢測到的偵錯程式:


這樣,它會自動在專案根資料夾中建立啟動配置檔案。


開發者檢視

和LPCXpresso一樣,MCUXpresso提供了一個開發者檢視:


在正常的Eclipse中我需要在C/C++和Debug檢視間進行切換,與這個不同,在MCUXpresso中我可以一直留在開發者檢視中。


全域性變數

普通的Eclipse有一個問題,它並沒有顯示正常的全域性變數。 相反,必須使用表示式檢視。 MCUXpresso提供了一個Global Variables View,解決了該問題。我可以瀏覽並新增全域性變數到該特殊檢視:



Peripherals+檢視

Kinetis Design Studio包含了EmbSysRegView,其工作執行良好,但並未自動使用目標裝置的SVD檔案。 在MCUXpresso IDE中有“Peripherals +”檢視,它基本上擴充套件了記憶體檢視:



FreeRTOS

我真正喜歡的是在IDE中對FreeRTOS的支援:-)。 所有除錯連線(P&E、Segger和CMSIS-DAP)都包括了FreeRTOS執行緒感知:


此外,IDE還包括NXP FreeRTOS Kernel 檢視,用於任務、堆、計時器和佇列:






總結

MCUXpresso IDE結合了Kinetis Design Studio和LPCXpresso的功能。對於LPC使用者,新增了無程式碼大小限制,添加了Segger和FreeRTOS支援。對於Kinetis使用者,它添加了CMSIS-DAP、跟蹤支援、自動偵錯程式發現,但沒有包括Processor Expert。對於Kinetis和LPC,它提供了一個統一和現代的IDE和構建系統,通用的SDK和漂亮的專案建立,並增加了很友好的除錯功能。