高通QCM6125平台TZ释放后使用GPIO导致死机问题
问题的根本原因是TZ侧没有释放完整。
释放QUPV3_0_SE0从TZ到AP侧,QUPv3的固件也从SPI改成了UART 2线。
但是出现了一个很奇怪的问题,AP侧可以使用UART,但是一旦使用GPIO0和GPIO1,就会导致系统死机。这个问题在于QUPAC_Access.c只是控制了QUPv3总线的归属和固件加载,但TZ子系统也会使用部分外设总线。而高通没有专门说明不释放TZ子系统所占用的外设总线会导致什么样的结果。
不过,在高通文档:80-NR553-2 Rev. B里有介绍如何在TZ子系统配置外设。从这点思路出发,将spi_devcfg.c中所使用的SPI1注释掉后重新编译,刷入devcfg.mbn后问题消失。
除了以上情况,如果在XBL中使用某个QUPv3空余的GPIO,那么该总线的TZ属性必须是fifo模式或者从tz中删除。
分类:
嵌入式开发
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix