大家好,我是痞子衡,是正經搞技術的痞子。今天痞子衡給大家介紹的是i.MXRT1062 TencentOS Tiny EVB_AIoT開發闆環境搭建與點燈。
騰訊 TencentOS 團隊于2021年12月8日聯合恩智浦半導體、安謀科技發起了一個線上開發者活動 - TencentOS Tiny AIoT 應用創新大賽。為了這個大賽,騰訊 TencentOS 團隊聯合恩智浦半導體、厚德物聯網設計了一款高性能 AIoT 評估闆,用于 TencentOS tiny 基礎核心和 AIoT 應用功能體驗和評估。
大賽首頁:https://cloud.tencent.com/developer/competition/introduction/10032
痞子衡受邀為這個大賽準備一場直播課程(12月30日晚7點),主題是闆載主要恩智浦 i.MXRT1062 晶片快速開發指南,由于課程時間限定在40分鐘,要講的内容又比較多,注定隻能走馬觀花,是以這個系列文章就圍繞 EVB_AIoT 開發闆給這場直播做一個鋪墊和補充。本文是第一篇,我們講講基礎開發環境搭建以及最簡單的點燈程式:
要跑點燈程式,首先你得有一塊 EVB_AIoT 開發闆,如下圖所示,闆卡采用最近比較流行的子主機闆設計,子闆上主要型号為 MIMXRT1062CVL5B。如果報名參加了這個比賽,騰訊會将闆卡寄給你。
EVB_AIoT 開發闆主要晶片 MIMXRT1062CVL5B 基于的是 ARM Cortex-M7 核心,我們知道面向 Cortex-M 微控制器的內建開發環境有很多,比如經典的 GCC/IAR/Keil,這幾個軟體是通用的(與具體 MCU 廠商無關)。除了通用的 IDE 外,一些有實力的 MCU 廠商也會推出自己設計的 IDE,專用于自家的 MCU,恩智浦半導體就推出了适用 i.MXRT 系列的免費 IDE,它就是 MCUXpresso IDE ,這個 IDE 功能很完備,能夠滿足日常開發需求,不妨試一下。
內建開發環境: MCUXpresso IDE v11.4.0_6224,點此下載下傳
在開始移植點燈程式到 EVB_AIoT 開發闆之前,我們需要先有一個 i.MXRT1062 的基礎模闆工程,當然我們可以對着晶片資料手冊自己從頭寫一個,但是這裡痞子衡推薦使用恩智浦官方軟體開發包。
注冊并登入恩智浦官網,來到 MCUXpresso SDK Builder 頁面,在 "Select Development Board" 裡選擇 EVK-MIMXRT1060 後點選 Build MCUXpresso SDK 後跳轉到下一個頁面,在 "Developer Environment Settings" 裡選擇全部 Toolchain 以及 Component 并點選 Download SDK 後便可得到 SDK_2.10.1_EVK-MIMXRT1060.zip,下面是痞子衡下載下傳的開發包具體版本資訊:
如果你細心觀察,這個 EVB_AIoT 開發闆上不止一顆主要晶片,除了子闆上的 i.MXRT1062 外,主機闆上還有一顆 MKL26Z128VLH4,這顆 KL26 便是闆載 DAP-Link 調試器主要,關于恩智浦 DAP-Link 調試器細節詳見痞子衡舊文 《玩轉闆載OpenSDA,Freelink調試器》。
因為有闆載 DAP-Link 調試器,是以我們就不需要再外接調試器(很遺憾闆卡并沒有留出外接調試器接頭,如果你實在想用 J-Link 調試器,需要在主機闆與子闆接頭裡找出 DAP_SWCLK 和 DAP_SWDIO 信号,并飛線出來連到你的 J-Link 調試器上),現在讓我們用一根 Type-C 線将 PC 和主機闆 J1 口連接配接起來,這個 J1 口既是闆載調試器 USB 接口,也可用于給闆卡供電。
Note: PC最好是Win10系統,如果是Win10以下系統需要手動安裝好 serial port driver,注意要連接配接闆卡安裝驅動,詳見 安裝注意事項。
闆卡通過 J1 口供電後,如果你可以看到如下三處地方(新增名為 RT1060-EVK 盤符、裝置管理器裡新增 mbed Serial Port 序列槽号、mbed Composite Device USB 控制器),說明闆載 DAP-Link 調試器是正常的。
萬事俱備,現在我們開始移植點燈代碼,需要用到 1.3 小節裡下載下傳到的 SDK_2.10.1_EVK-MIMXRT1060.zip 包。如果你是用 IAR/Keil 環境,直接将包解壓即可,包裡面有完整的模闆工程檔案:
IAR 模闆工程:\SDK_2.10.1_EVK-MIMXRT1060\boards\evkmimxrt1060\demo_apps\led_blinky\iar Keil 模闆工程:\SDK_2.10.1_EVK-MIMXRT1060\boards\evkmimxrt1060\demo_apps\led_blinky\mdk
不過今天痞子衡更想和大家介紹的是 MCUXpresso IDE 環境下的工程移植,SDK_2.10.1_EVK-MIMXRT1060.zip 包裡并沒有 MCUXpresso IDE 工程檔案,因為 MCUXpresso IDE 是一種全新的 SDK 導入方式,詳見痞子衡舊文 《MCUXpresso IDE下SDK工程導入與workspace管理機制》。
當我們從 SDK 包裡導出一個完整 led_blinky 的 MCUXpresso IDE 工程後(預設在 \Documents\MCUXpressoIDE_11.4.0_6224\workspace\evkmimxrt1060_iled_blinky 路徑),現在開始修改代碼。SDK 裡原始代碼主要是适配恩智浦官方 MIMXRT1060-EVK 開發闆的,官方開發闆上連接配接 LED 的管腳是 GPIO_AD_B0_09(即 GPIO1[9]),而我們 EVB_AIoT 開發闆上連接配接 LED 的管腳是 GPIO_SD_B1_02,我們現在來修改這個管腳配置,在 MCUXpresso IDE 下有更便捷的修改方式,那就是借助 MCUXpresso Config Tool 裡的 Pin Tool 元件:
在 Pin Tool 元件左側 Pins 視窗裡将原來 GPIO_AD_B0_09 勾選去掉,重新選擇 GPIO_SD_B1_02,并且配置為 GPIO3_IO02,然後在下面 Routing Details 視窗裡進一步配置其 PAD 屬性為 Output,操作過程中可以實時看到 pin_mux.c 源檔案裡的代碼變化,最後點選上方 Update Code 按鈕,代碼會自動更新,至此代碼改動就完成了。(關于 MCUXpresso Config Tool 原理詳見痞子衡舊文 《MCUXpresso Config Tools初體驗(Pins, Clocks, Peripherals)》)
修改完 LED 管腳代碼後,為了調試友善,我們在工程屬性裡勾選上 Link application to RAM 選項,即将代碼全部連結到 i.MXRT1062 内部 TCM 裡,然後編譯工程。這裡不明白的話詳見痞子衡舊文 《MCUXpresso IDE下工程連結檔案配置管理與自動生成機制》。在内部 RAM 裡調試不涉及 Flash 下載下傳算法,過程比較簡單,适用于早期代碼評估。
工程編譯結束後,還差最後一步,就是在左下角 Debug your project 視窗裡點選 Debug 按鈕,這時候 IDE 會自動發現目前可用的調試器 DAPLink CMSIS-DAP,選中它便可以進入調試界面,這時斷點應該停在 main 函數裡,按 F8(Resume) 鍵程式便直接跑起來,主機闆上的藍色 LED 燈(D8)此時應該在對你眨眼。
至此,i.MXRT1062 TencentOS Tiny EVB_AIoT開發闆環境搭建與點燈痞子衡便介紹完畢了,掌聲在哪裡~~~
文章會同時釋出到我的 部落格園首頁、CSDN首頁、知乎首頁、微信公衆号 平台上。
微信搜尋"痞子衡嵌入式"或者掃描下面二維碼,就可以在手機上第一時間看了哦。
最後歡迎關注痞子衡個人微信公衆号【痞子衡嵌入式】,一個專注嵌入式技術的公衆号,跟着痞子衡一起玩轉嵌入式。
衡傑(痞子衡),目前就職于恩智浦MCU系統部門,擔任嵌入式系統應用工程師。
專欄内所有文章的轉載請注明出處:http://www.cnblogs.com/henjay724/
與痞子衡進一步交流或咨詢業務合作請發郵件至 [email protected]
可以關注痞子衡的Github首頁 https://github.com/JayHeng,有很多好玩的嵌入式項目。
關于專欄文章有任何疑問請直接在部落格下面留言,痞子衡會及時回複免費(劃重點)答疑。
痞子衡郵箱已被私信擠爆,技術問題不推薦私信,堅持私信請先掃碼付款(5元起步)再發。