痞子衡嵌入式: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 是通用服務型組件外,其余五個用藍圈框起來的就是面向底層開發的功能型組件:

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主頁知乎主頁微信公眾號 平台上。

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM