1 驱动关键参数查询
1.1 查看设备树节点
- Linux 启动成功以后进入到/sys/firmware/devicetree/base目录中查看是否有“stm32mp1_led”这个节点
- 启动成功以后进入“
/proc/device-tree”目录中查看“gpioled”节点是否存在,如果存在的话就说明设备树基本修改成功(具体还要驱动验证),结果如图所示:
1.2 查看platform 总线下的设备和驱动
- 根文件系统中
/sys/bus/platform/目录下保存着当前板子platform 总线下的设备和驱动,其中devices 子目录为 platform 设备,drivers 子目录为 plartofm 驱动。进入/sys/bus/platform/devices/目录,查看我们的设备是否存在,我们在 leddevice.c 中设置设备的 name 字段为“stm32mp1-led”,因此肯定在/sys/bus/platform/devices/目录下存在一个名字“stm32mp1-led”的文件,否则说明我们的设备模块加载失败 - 查看
/sys/bus/platform/drivers/目录,看一下驱动是否存在,我们在 leddriver.c 中设置name 字段为“stm32mp1-led”,因此会在/sys/bus/platform/drivers/目录下存在名为“stm32mp1-led”这个文件 - 驱动模块和设备模块加载成功以后 platform 总线就会进行匹配,当驱动和设备匹配成功以后就会输出如图所示一行语句:
1.3 sys/class/leds/red/brightness
- 首先查看一下系统中有没有“sys/class/leds/red/brightness”和“sys/class/leds/green/brightness”这两个文件,这两个文件分别对应 LED0 和 LED1,通过操作这两个文件即可实现 LED0 和 LED1 的打开和关闭。
1.4 /sys/bus/i2c/devices
1.5 /sys/bus/spi/devices/
1.6 串口/dev/ttySTM1
- serial0 是 uart4 的别名,表示在系统启动生成一个名为“/dev/ttySTM0”的设备文件,serial1就会生成“
/dev/ttySTM1”如此类推,最多 8 个。serial0 就是我们的调试串口
1.7 /dev/input
- 当驱动模块加载成功以后再来看一下/dev/input 目录下有哪些文件
1.8 PWM /sys/class/pwm
1.9 IIO
1.10 ADC /sys/bus/iio/devices