本文描述如何在現有 RT1170 SDK 的範例,配置 Debug Console 到新專案中。
用途說明 : 開發環境,本文使用版本 11.3.0_5222。
用途說明 : 驅動及範例,本文使用版本SDK_2.9.2_MIMXRT1170-EVK。
用途說明 : 功能驗證。
用途說明 : 提供程式燒錄與Debug。
三.Debug Console 開通
本章節說明如何開通 RT1170 EVB 上On-board DAP-Link debugger UART 功能,以方便後續進行功能開發時 Debug,透過範例 evkmimxrt1170_lpuart_interrupt_rb_transfer_cm7 示範,本範例使用 API LPUART 透過 On-board DAP-Link debugger UART 印出資料,呼叫 LPUART_TransferSendNonBlocking 印出資料,但在使用格式化上需要另外呼叫 scanf 將其包裝成字串才能印出所需資料,本文將其修改為使用 API Debug_Console 可直接使用 PRINTF 格式化輸入。
1.點選 Import SDK example(s)… ,在 SDK Import Wizard點選 MIMXRT1170 à MIMXRT1170xxxxx 後,在點選右邊開發版圖示,再點選 Next。
圖 3.1.
圖 3.2.
2.RT1170 有兩個 CPU ,Cortex-M7,Cortex-M4 ,範例名稱尾墜 cm7 為 Cotex-M7,尾墜 cm4 為 Cortex-M4,在 Examples 視窗下輸入 LPUART,選擇 Driver Example à,勾選範例 lpuart_interrupt_rb_transfer_cm7,選擇完畢後點選 Finish。
圖 3.3.
3.在 Quick Start panel 點選 MCUXpresso Config Tools>> à Open Pin
圖 3.4.
4.勾選 Pin A6 在跳出來的功能選項框中選擇 LPUART2_RX,勾選 Pin D6 在跳出來的功能選項框選擇 LPUART2_TX。
圖 3.5.
圖 3.6.
5.此時可以看到在 Routing Details for BOARD_InitPins 新增了 A6 及 D9 二個資訊,將 Scroll Bar 往右移,將 Pull/Keeper Select 選擇 Keeper
圖 3.7.
6.點選 Update Code 後會跳出 Update Files,在此視窗可看到更新的檔案,更新 pin_mux.c 為此專案的 Pin 設定相關程式碼,確認後點選 OK。
圖 3.8.
7.在 lpuart_interrupt_rb_transfer.c 新增 #include "fsl_debug_console.h"
圖 3.9.
8.在 lpuart_interrupt_rb_transfer.c 修改 DEMO_LPUART 及 DEMO_LPUART_CLK_FREQ 改為以下
#define DEMO_LPUART LPUART2 #define DEMO_LPUART_CLK_FREQ CLOCK_GetRootClockFreq(kCLOCK_Root_Lpuart2) |
圖 3.10.
9.在 main() 新增下述兩行
BOARD_InitDebugConsole(); PRINTF("\r\nWPI Test. %d\r\n",2021); |
圖 3.11.
10.點選 Build 後編譯成功在 Console 視窗顯示 0 errors, 0 warnings
圖 3.12.
11.將板子上 J38 Jumper 調整為 3-8 以 Micro USB 供電,將 UART Dongle 接在 J9-2、J9-4,將 Micro USB 接上電腦點選 debug (藍色蟲子符號) 後會進入 debug mode。
圖 3.13.
圖 3.14.
圖 3.15.
圖 3.16.
12.開啟 Tera Term 分別是 USB 序列裝置及 UART Dongle,UART 參數均為 baud 115200。
圖 3.17.
圖 3.18.
13.點擊 Resume 符號執行程式,此時可看到 Tera term 分別印出相關資訊。
圖 3.19.
圖 3.20.
1.確認專案右鍵選單中 Properties à C/C++ General à Paths and Symbols 中 Symbols 分頁裡的 SDK_DEBUGCONSOLE 的 Value 是否為 1
圖 4.2.
2.確認 Borad.h 中 DEBUG_CONSOLE_UART_INDEX 為1
圖 4.1.
參考來源