一、 測試環境
在最近支持過程中,有客戶提出動態切換 GPIO 模式的疑問(涉及模式切換 api 的參數)。在 PTG5.0 的基礎上,稍加修改例程即可完成測試:
硬體:SemiDrive G9H ref A02 圖(1)
軟體:PTG5.0 Linux + FreeRTOS
軟體環境搭建以及 G9H Ref A02 操作方法參考:《SD_G9_Quick_Start_Rev2.4.pdf》
圖(1)
二、Demo與測試
1.代碼部分:
測試代碼路徑: buildsystem >rtos > freertos safetyos >application >sample > port > app_port.c。在最後添加 STATIC_COMMAND(圖(2));注釋掉不相干部分,添加如圖(3)的測試代碼:主要包括獲取的操作 GPIO 的句柄;設置的 pin,使用的 GPIO 編號,在 buildsystem >rtos > lk_boot > chipdev > port >sd_port >inc >port_cfg_def.h;設置 pin 的模式 Port_PinModeType(圖(4)),這裡使用 GPIO_H6,通過 SDConfigtool 獲取 GPIO 硬體編號(也即 GPIO Number 圖(5))。
圖(2)
圖(3)
圖(4)
圖(5)
2.Makefile文件
測試例程同目錄下的 Makefile 文件(圖(6));
參與編譯 safety 的 Makefile 文件:buildsystem >rtos >freertos_safetyos >project >safety-g9h-ref.mk(圖(7))加上 port 例程的路徑。
圖(6)
圖(7)
3.觀察測試Log
編譯上述配置,替換 safety 鏡像。先後輸入 get_pin_info 對照輸出的 pin 配置信息(圖 8),發現 PAD 和 MUX 已切換成代碼中添加的配置,且 GPIO_H6 由 AP 切換到 safety domian 測試通過。
圖(8)
三、參考文獻
- 《SemiDrive 9 Series GPIO 使用手冊》
- 《4.pdf》
歡迎在博文下方留言評論,我們會及時回復您的問題。
如有更多需求,歡迎聯繫大聯大世平集團 ATU 部門:atu.sh@wpi-group.com 作者:Alan
更多資訊,請掃碼關注我們!
評論