一、 測試環境
硬體:SemiDrive G9H ref A02
軟體:PTG5.1 Linux + MCAL
軟體環境搭建以及 G9H Ref A02 操作方法參考:
【SemiDrive G9 系列軟體開發】SemiDrive G9H PTG5.1 Freertos 環境搭建
圖(1)
二、配置與 Demo
1.測試原理:
G9H 的默認代碼中沒有提供 ICU 相關的配置與 demo,因此選擇 GPIO_A0 作為輸入引腳,圖(2)。外部信號的上升沿作為 Etimer2 的 捕獲通道 C 的中斷觸發源。在中斷回調函數中 列印信息,確認輸入捕獲成功。
圖(2)
2.EB 配置
在 EB 配置時,首先需要將 GPIO_A0 配置為 MUX5,通過查找 G9H 的相關手冊可知,MUX5 即 TMR2 CH2 模式,CH2 即通道 CPT-C。
圖(3)
在 GPT 模塊中增加 圖(4)所示的條目。硬體模塊對應 Etimer2,採集通道為 CPT-C。
圖(4)
在 ICU 模塊中增加 圖(5)所示的採集通道。其中模式選擇上升沿觸發,硬體通道實例選擇上一個步驟在GPT 模塊中所創建的條目。中斷回調函數 Icu_irq_test4() 需要在 demo 中具體實現。
圖(5)
注意:完成以上步驟後重新生成配置代碼後,需要將 port, gpt,icu 對應的 .c 和 .h 文件 copy 到工程配置文件目錄下。這是因為默認的配置 xdm 文件沒有和 iar 工程所使用的源文件目錄對應。
默認工程沒有提供測試文件,添加測試文件 icu_app.c 到 …\MCAL_release\test_suite\demo\icu,然後手動 add 到 IAR 工程里去。icu_app.c 的具體實現見圖(6)
圖(6)
三、測試操作
1.完成以上操作後,編譯 iar MCAL 工程,然後用新生成的 safe.bin 替換 SDFactoryTool 裡面 safety 域的 bin 文件,見圖(7)。
圖(7)
2.撥碼開關設置為 0000,啟動開發板。命令行執行 runcase 1600,GPIO_A0 每檢測到一次上升沿
信號就列印一次。Log參考圖(8)。
圖(8)
四、 參考文獻:
- SD_G9_SDK_Reference_Manual_Rev1.4.pdf
- SD_G9H_Quick_Start_Rev1.01.pdf
歡迎在博文下方留言評論,我們會及時回復您的問題。如有更多需求,歡迎聯繫大聯大世平集團 ATU 部門:atu.sh@wpi-group.com
作者:Sim Guo / 郭夕峰
更多資訊,請掃碼關注我們!:
評論