AST2600平台启用I2C GPIO故障注入器后缺失调试接口求助
确保debugfs已挂载且内核开启对应配置
/sys/kernel/debug目录依赖debugfs文件系统,首先检查内核是否开启CONFIG_DEBUG_FS=y,可通过zcat /proc/config.gz | grep CONFIG_DEBUG_FS验证。如果未开启,需要将该配置添加到defconfig后重新编译内核;如果已开启但目录为空,执行挂载命令:mount -t debugfs none /sys/kernel/debug必须实例化I2C GPIO适配器
CONFIG_I2C_GPIO=y仅完成驱动编译,但AST2600平台需要在设备树中添加对应的I2C GPIO适配器节点——故障注入器依赖实际存在的适配器实例才能生成调试接口。示例设备树节点如下(替换X/Y为AST2600实际可用的GPIO引脚号):i2c-gpio-fault { compatible = "i2c-gpio"; sda-gpios = <&gpio X GPIO_ACTIVE_HIGH>; scl-gpios = <&gpio Y GPIO_ACTIVE_HIGH>; i2c-gpio,delay-us = <2>; /* 根据目标I2C速率调整延时 */ #address-cells = <1>; #size-cells = <0>; };编译并刷入更新后的设备树后,通过
dmesg | grep i2c-gpio检查驱动是否成功绑定,同时查看/sys/bus/i2c/devices/是否出现对应的i2c总线设备(如i2c-*格式的节点)。检查故障注入框架的依赖配置
I2C GPIO故障注入器依赖内核故障注入框架,需确保CONFIG_FAULT_INJECTION=y已开启。同样通过zcat /proc/config.gz | grep CONFIG_FAULT_INJECTION验证,若未开启则添加到defconfig后重新编译内核。验证驱动加载状态
执行lsmod | grep i2c_gpio确认i2c-gpio驱动已加载,若未加载可尝试手动加载:modprobe i2c-gpio同时查看dmesg日志,确认没有设备树匹配失败、引脚占用冲突等错误信息。
内容的提问来源于stack exchange,提问作者Srinivasa Rao Mareedu

