Linux嵌入式驱动开发关键参数查询

188 阅读2分钟

1 驱动关键参数查询

1.1 查看设备树节点

  • Linux 启动成功以后进入到/sys/firmware/devicetree/base目录中查看是否有“stm32mp1_led”这个节点 image.png
  • 启动成功以后进入“/proc/device-tree”目录中查看“gpioled”节点是否存在,如果存在的话就说明设备树基本修改成功(具体还要驱动验证),结果如图所示: image.png

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”的文件,否则说明我们的设备模块加载失败 image.png
  • 查看/sys/bus/platform/drivers/目录,看一下驱动是否存在,我们在 leddriver.c 中设置name 字段为“stm32mp1-led”,因此会在/sys/bus/platform/drivers/目录下存在名为“stm32mp1-led”这个文件 image.png
  • 驱动模块和设备模块加载成功以后 platform 总线就会进行匹配,当驱动和设备匹配成功以后就会输出如图所示一行语句: image.png

1.3 sys/class/leds/red/brightness

image.png image.png image.png

  • 首先查看一下系统中有没有“sys/class/leds/red/brightness”和“sys/class/leds/green/brightness”这两个文件,这两个文件分别对应 LED0 和 LED1,通过操作这两个文件即可实现 LED0 和 LED1 的打开和关闭。 image.png

1.4 /sys/bus/i2c/devices

image.png

1.5 /sys/bus/spi/devices/

image.png image.png image.png

1.6 串口/dev/ttySTM1

image.png

  • serial0 是 uart4 的别名,表示在系统启动生成一个名为“/dev/ttySTM0”的设备文件,serial1就会生成“/dev/ttySTM1”如此类推,最多 8 个。serial0 就是我们的调试串口 image.png image.png

1.7 /dev/input

image.png

  • 当驱动模块加载成功以后再来看一下/dev/input 目录下有哪些文件 image.png image.png

1.8 PWM /sys/class/pwm

image.png image.png image.png image.png image.png

1.9 IIO

image.png

1.10 ADC /sys/bus/iio/devices

image.png image.png image.png image.png