一、 测试环境
硬件: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 / 郭夕峰
更多资讯,请扫码关注我们!:
评论