调试的第一要义
- 确认硬件接口正确。
- 确认硬件接口的初始状态正确。
SDIO 通信异常 debug 流程
通过逻辑分析仪发现 SDIO 的 data0 接口,上电后发现被拉低。
在硬件实验室通过示波器观察,DATA0持续为低,交互时,偶尔出现高。
通过查看T31的规格书发现,DATA0口(PB10)默认时下拉
通过
gpiotool B 10
我们电路是有上拉操作的,而且SDIO接口通信也要求,除clk外,其他接口要上拉。出现这种无法拉高情况,会造成数据无法正确的输入到T31,造成通信失败。
临时解决:通过wifi加载脚本前,使用
/user/gpiotool B 10 no
关闭PB10的下拉。终极解决:配置PB10的初始状态
vim arch/mips/xburst/soc-t31/chip-t31/isvp/Indus_T31_QFN/gpio_customized.c