一、 测试环境
在最近支持过程中,有客户提出动态切换 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
更多资讯,请扫码关注我们!