如何将QCC5127的PIO2用作普通PIO端口

本文介绍如何将QCC5127的PIO2用作公共PIO端口。

猜想:除了PIO2,此方法还应该适用于PIO32,PIO34,PIO35,PIO36,PIO37和PIO39,但是这些PIO端口没有验证测试。

如果发生类似于PIO2的问题,则可能是相同的原因。

测试工具MDE:MDE_WIN_2.3.2.126工具包:NULLQACT:NULL硬件:高通公司官方QCC5127开发板软件:ADKQCC512XROMV21WIN6.4.2.21,接收器问题的根源是一个小伙伴,使用PIO2作为按钮设计了QCC5127耳机。

使用ADKconfigurationtool将PIO2配置为按钮。

PIO2有望在内部上拉。

当按下按钮时,PIO2变为低电平。

在实际测试中,上电时,PIO2确实输出高电平,我觉得内部上拉没有问题(实际上,仍然可能有问题)。

上电后,PIO2直接变为低电平。

可能在接收器代码中对PIO2进行了操作,但搜索代码未找到它。

问题很明显。

查看高通开发板的示意图,发现PIO2,PIO32,PIO34,PIO35,PIO36,PIO37和PIO39具有重要任务:该芯片是QSPIRAM,因为QCC5127支持外部RAM。

QCC5121等不可用,因此推测这些PIO端口已被QCC5127代码(或一些不可见的低级代码)占用,从而无法正常使用PIO2。

在进一步搜索之后,我终于在接收器项目的subsys0_config10.htf文件中看到了相关配置:这与原理图完全相同,这证明了后台程序正在这些PIO端口上运行,只需关闭它们即可。

解决方案是设置EnableAudioSqif = false。

注释掉除EnableAudioSqif = false以外的所有内容。

重建程序进行测试,将PIO2配置为按钮,然后发现它可以正常工作。

进行此操作的前提条件是QCC5127在使用过程中不要使用外部QSPIRAM,否则,不要再折腾了,因为需要使用这些PIO端口来控制RAM芯片。