一、簡介
1.1 目的
此文件讓使用者了解如何透過 CodeWarrior 來設定 NXP DSC 晶片的 GPIO與 Timer interrupt 功能應用。
1.2 說明
使用原廠 NXP DSC TWR-56F8200 ( Chip : MC56F82748 ) 開發版做GPIO ( GPIOE0 ) 輸出設定,並且搭配 Timer interrupt 每 500ms做 GPIO 輸出High 與 Low 切換的動作。
1.3 準備工具 :
- 電腦
- 原廠開發版 TWR-56F8200 ( Chip : MC56F82748 )
TWR-56F28748 EVM:
二、CodeWarrior 軟體設定操作步驟
2.1 執行軟體開發工具 CodeWarrior
執行 CodeWarrior 軟體程式,開始 -> 點選 CodeWarrior
2.2 新建 Workspace
選擇一個路徑當 Workspace,它就像使用者帳號一樣,你可以在這個 Workspace 裡面新建許多專案。設定路徑 -> 點選 OK
2.3 顯示CodeWarrior 標準介面如下
2.4 開啟新專案
點選 File -> New -> Bareboard Project
2.5 設定專案名
設定一個專案名 “GPIO_Timerinterrupt” -> Next
2.6 選擇裝置,點選目前使用的 DSP 裝置 “MC56F82748”-> Application -> Next
2.7 選擇燒錄溝通方式
勾選 “P&E USB MultiLink Universal [FX] / USB MultiLink”和 “Open Source JTAG”-> Next
2.8 選擇撰寫語言
點選 “C”-> Next2.9 設定 Processor Expert
點選 Processor Expert -> 點選 Use current perspective -> 點選 Standalone -> Finish
2.10 新建專案中,請耐心等候
2.11 專案完成後,主要介面視窗如下,這些視窗可以自行調整位置
專案區 : 你所建的專案資料夾
目前專案元件區 : 你所點選的專案裡面的所有元件
專案元件新增與設定區 : 新增與設定專案元件內容
訊息區 : 提醒訊息區
2.12 新建一個 Processor Expert GPIO 功能
點選專案 -> Components Library -> Categories -> Port I/O -> BitIO -> Add to project
2.13 設定 Processor Expert GPIOE0
(1) 對已新增的 ”Bit1:BitIO ”元件連續點擊滑鼠左鍵兩下
(2) 選擇 GPIO 腳位“GPIOE0”(EVM Header J501 的第 11 pin)
(3) 選擇“BitIO_LDD”當一般 GPIO
(4) 選擇此 GPIO 為 “Output”
(5) 選擇此 GPIO 初始狀態值為 Low “0”
2.14 設定 GPIO 輸出反向的 function code
點選 Methods -> 在 NegVal 的 Value 內容 改成 “Generate code”
2.15 確認設定 GPIOE0 沒有錯誤,而且Compiler 專案沒有錯誤
點選 Save -> 點選 Generate Processor Export code -> 點選 Build Project -> 顯示Compiler 沒有錯誤
2.16 新增一個 Timer Interrupt function
點選 Components Library -> Timer -> 對TimerInt 元件連擊滑鼠左鍵兩下
2.17 設定 Timer Interrupt function
(1) 滑鼠指標對 TI1:TimerInt 圖示連擊滑鼠左鍵兩下
(2) 點選設定 Interrupt period
(3) 設定 Value = 500ms
(4) 點選 OK
2.18 確認設定 Timer Interrupt 沒有錯誤,而且Compiler 專案沒有錯誤
點選 Save -> 點選 Generate Processor Export code -> 點選 Build Project -> 顯示Compiler 沒有錯誤
2.19 確認 Timer 中斷程式區
請到左邊專案目錄欄位的 Sources 資料夾裡面找到 Events.c -> 連續點滑鼠左鍵兩下打開 Event.c 確認有中斷副程式 void TI1_OnInterrupt ( void )
2.20 加入GPIO 反向功能程式在 Timer 中斷程式裡面
Components -> Bit1:BitIO -> 把 ”NegVal ”拉住滑鼠左鍵,拖曳到中斷副程式裡面
( Note : 必須要放在 /* Write your code here … */ 的下面 )2.21 Compiler 專案
點選專案資料夾 GPIO_TimerInterrupt -> 點選 Build -> 確認訊息視窗沒有問題
2.22 到此完成 CodeWarrior 程式設定。
三、燒錄程式驗證結果
3.1 硬體架設
硬體架設如下圖,請把 EVM TWR-56F82748透過 USB 連接 PC,再來利用 Logic analyzer 或是示波器連接 EVM 的 Header J501
3.2 連接 EVM,進入 Debug mode
點選專案 -> 點選 debug 下拉選單 -> 點選 Debug Configurations…
3.3 連接 EVM,進入 Debug mode
點選 CodeWarrior -> 點選 GPIO_TimerInterrupt_FLASH_SDM_PnE U-MultiLink -> 點選 Debug
3.4 燒錄程式
視窗右下角會顯示開始燒錄程式
3.5 執行程式
完成燒錄程式後請點左上角的執行程式鍵,程式就會開始執行
3.6 可以觀察示波器或是邏輯分析儀,我們可以發現 GPIO 訊號在每 0.5秒 ( 500ms ) 就會做一次 High 或是 Low 的反向動作
3.7 完成驗證
評論