天天看點

痞子衡嵌入式:MCUXpresso Config Tools初體驗(Pins, Clocks, Peripherals)

  大家好,我是痞子衡,是正經搞技術的痞子。今天痞子衡給大家介紹的是MCUXpresso Config Tools三大件(Pins, Clocks, Peripherals)。

  不知道大家有沒有這樣的感受,現在的 MCU 晶片複雜度越來越高了,引腳上百個,時鐘系統讓人眼花缭亂,外設寄存器更是一大堆,晶片參考手冊長達幾千頁,對于軟體開發工程師來說,底層開發難度真的越來越大(說到這,有沒有懷念 AT89C51 啟蒙單片機的單純)。

  當然大型 MCU 廠商一般都會同步推出 SDK 包來緩解軟體開發工程師的焦慮,但是這也不能覆寫全部的項目需求,軟體工程師還是避免不了要基于 SDK 裡跟項目需求最相近的例程做二次開發,是以查引腳、配時鐘、看外設這些必備底層技能該會的一個都不能少。

  有沒有什麼工具能進一步提升軟體開發工程師的底層開發效率呢?當然有!MCUXpresso Config Tools 就是恩智浦軟體團隊傾注很大心血研發的輔助底層開發小工具集合。今天痞子衡帶大家初步體驗下 MCUXpresso Config Tools 中最核心的三大元件:引腳初始化配置工具、時鐘初始化配置工具、外設初始化配置工具。

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

軟體版本: MCUXpresso Config Tools v10,點此下載下傳 軟體開發包: SDK_2.10.0_EVK-MIMXRT1170,點此下載下傳

  MCUXpresso Config Tools 目前主要由如下七大元件組成,除了 SDK Builder 和 Project Updater 是通用服務型元件外,其餘五個用藍圈框起來的就是面向底層開發的功能型元件:

痞子衡嵌入式:MCUXpresso Config Tools初體驗(Pins, Clocks, Peripherals)

  更具體來說 MCUXpresso Config Tools 就是為了輔助生成下圖藍框中标出的代碼源檔案 pin_mux.c/h、clock_config.c/h、dcd.c/h 等,這些檔案裡的代碼都是晶片底層基礎初始化相關代碼,這些源檔案存在于 SDK 包裡任何一個例程中,當然也能直接用于實際項目工程中。

痞子衡嵌入式:MCUXpresso Config Tools初體驗(Pins, Clocks, Peripherals)

  安裝好 MCUXpresso Config Tools 軟體,首次打開會讓你選擇開發方式,一共有四種,最推薦的就是預設的第一種,即以官方 SDK 包為基礎,從 SDK 包裡導出一個例程來進行二次編輯。

  SDK 包裡每個例程檔案夾中都有一個同名的 .mex 檔案(比如下圖示出的 iled_blinky.mex),這個檔案就是 MCUXpresso Config Tools 的配置檔案,有了它,MCUXpresso Config Tools 就能擷取選中 SDK 例程的全部資訊。

痞子衡嵌入式:MCUXpresso Config Tools初體驗(Pins, Clocks, Peripherals)

  在 MCUXpresso Config Tools 中 SDK Path 裡先指定解壓後的 SDK 包路徑,然後選擇你心儀的 Toolchain (IAR/MDK/GCC均可,但從 SDK 包導入方式下不推薦 MCUXpresso IDE,下一節會專門介紹 MCUXpresso IDE 下使用 Config Tools 的方法),接着找一個跟實際項目最相近的 SDK Example(這裡用 iled_blinky 示例),最後設好 workspace 路徑即可(這裡仿照 MCUXpresso IDE 風格,在同目錄下建立了MCUX_CFG_V10 檔案夾專門存放工程)。

痞子衡嵌入式:MCUXpresso Config Tools初體驗(Pins, Clocks, Peripherals)

  上一步完成後 MCUXpresso Config Tools 便會根據 SDK 包裡 iled_blinky.mex 配置檔案從 SDK 裡導出完整的工程包到 \MCUX_CFG_V10\iled_blinky_cm7 檔案夾下,這個檔案夾下包含了全部的 iled_blinky 工程源檔案,此時我們就進入了 MCUXpresso Config Tools 的工程編輯模式。

痞子衡嵌入式:MCUXpresso Config Tools初體驗(Pins, Clocks, Peripherals)

  如果是在 MCUXpresso IDE 下開發項目,是可以不用單獨安裝 MCUXpresso Config Tools 工具的,IDE 裡直接內建了 Config Tools。按 《MCUXpresso IDE下SDK工程導入與workspace管理機制》 一文先導出例程并打開,然後直接在菜單欄 ConfigTools 或者右上角快捷圖示裡進入即可,此時 IDE 界面會立刻切換到 Config Tools 編輯界面。

痞子衡嵌入式:MCUXpresso Config Tools初體驗(Pins, Clocks, Peripherals)

  先來看引腳初始化工具 - Pins,在這個小工具裡直接勾選設定(按 I/O 名或者按功能進行配置設定),很快就能完成項目裡全部的引腳配置設定,完全不用去檢視晶片參考手冊,而且主界面裡還提供了封裝引腳視圖,能非常直覺地看到了目前全部引腳使用情況。配置完成點選菜單欄裡的 Update Code 按鈕,\MCUX_CFG_V10\iled_blinky_cm7\board\pin_mux.c/.h 檔案就直接被更新了。

痞子衡嵌入式:MCUXpresso Config Tools初體驗(Pins, Clocks, Peripherals)

  再來看時鐘初始化工具 - Clocks,在這個小工具裡也是一通勾選設定,很快就能完成項目裡全部的外設時鐘配置設定,這個工具最大的好處是能非常直覺地讓你看到完整時鐘鍊路,比你對手冊去查找設定要高效 n 倍,而且最終外設時鐘頻率值都是實時顯示的,分頻系數調整起來也非常友善。配置完成點選菜單欄裡的 Update Code 按鈕,\MCUX_CFG_V10\iled_blinky_cm7\board\clock_config.c/.h 檔案就直接被更新了。

痞子衡嵌入式:MCUXpresso Config Tools初體驗(Pins, Clocks, Peripherals)

  最後來看外設初始化工具 - Peripherals,在這個小工具裡可以通過勾選的方式完成全部的外設功能設定(即 SDK 包裡外設驅動庫中 xxPeripheral_config_t 型初始化結構體的指派),部分外設還會提供更進階的面向應用的配置,需要大家慢慢去發掘。配置完成點選菜單欄裡的 Update Code 按鈕,\MCUX_CFG_V10\iled_blinky_cm7\board\peripherals.c/.h 檔案就直接被更新了。

痞子衡嵌入式:MCUXpresso Config Tools初體驗(Pins, Clocks, Peripherals)

  至此,MCUXpresso Config Tools初體驗(Pins, Clocks, Peripherals)痞子衡便介紹完畢了,掌聲在哪裡~~~

文章會同時釋出到我的 部落格園首頁、CSDN首頁、知乎首頁、微信公衆号 平台上。

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

痞子衡嵌入式:MCUXpresso Config Tools初體驗(Pins, Clocks, Peripherals)

  最後歡迎關注痞子衡個人微信公衆号【痞子衡嵌入式】,一個專注嵌入式技術的公衆号,跟着痞子衡一起玩轉嵌入式。

痞子衡嵌入式:MCUXpresso Config Tools初體驗(Pins, Clocks, Peripherals)
痞子衡嵌入式:MCUXpresso Config Tools初體驗(Pins, Clocks, Peripherals)
痞子衡嵌入式:MCUXpresso Config Tools初體驗(Pins, Clocks, Peripherals)

  衡傑(痞子衡),目前就職于恩智浦MCU系統部門,擔任嵌入式系統應用工程師。

  專欄内所有文章的轉載請注明出處:http://www.cnblogs.com/henjay724/

  與痞子衡進一步交流或咨詢業務合作請發郵件至 [email protected]

  可以關注痞子衡的Github首頁 https://github.com/JayHeng,有很多好玩的嵌入式項目。

  關于專欄文章有任何疑問請直接在部落格下面留言,痞子衡會及時回複免費(劃重點)答疑。

  痞子衡郵箱已被私信擠爆,技術問題不推薦私信,堅持私信請先掃碼付款(5元起步)再發。