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

痞子衡發表於2021-09-03

  大家好,我是痞子衡,是正經搞技術的痞子。今天痞子衡給大家介紹的是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 是通用服務型元件外,其餘五個用藍圈框起來的就是面向底層開發的功能型元件:

Clocks      - 輔助時鐘初始化配置
Peripherals - 輔助外設初始化配置
Pins        - 輔助引腳初始化配置
DCD         - 輔助生成由 BootROM 處理的 DCD 啟動頭
TEE         - 輔助安全特性配置

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

三、匯入SDK工程編輯

3.1 使用 MCUXpresso Config Tools

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

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

  在 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 便會根據 SDK 包裡 iled_blinky.mex 配置檔案從 SDK 裡匯出完整的工程包到 \MCUX_CFG_V10\iled_blinky_cm7 資料夾下,這個資料夾下包含了全部的 iled_blinky 工程原始檔,此時我們就進入了 MCUXpresso Config Tools 的工程編輯模式。

3.2 使用 MCUXpresso IDE

  如果是在 MCUXpresso IDE 下開發專案,是可以不用單獨安裝 MCUXpresso Config Tools 工具的,IDE 裡直接整合了 Config Tools。按 《MCUXpresso IDE下SDK工程匯入與workspace管理機制》 一文先匯出例程並開啟,然後直接在選單欄 ConfigTools 或者右上角快捷圖示裡進入即可,此時 IDE 介面會立刻切換到 Config Tools 編輯介面。

四、體驗三大件(Pins, Clocks, Peripherals)

4.1 引腳初始化配置工具 - Pins Tool

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

4.2 時鐘初始化配置工具 - Clocks Tool

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

4.3 外設初始化配置工具 - Peripherals Tool

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

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

歡迎訂閱

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

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

相關文章