2021.5.11 驱动调试方法
官方文档
通常官方文档提供的文件路径就是放在linux设备当中应该设置的路径例如一下的路径就是如此
D:\VL53L0X\VL53L0X_1.0.2\LinuxDriverMassMarket_1.0.6\kernel\drivers\input\misc
在官方提供的文件当中会有两个文件
第一个是drivers,通常是指的是驱动文件,是需要放在linux当中调试运行的。下面的测试文件,是当内核调试完成以后,进行测试的文件。
这是需要配置在linux内核当中的文件。
首先是需要将设备挂在设备树下
通常在官方提供的文件中,需要更改的是Makefile,这是很重要的,也是非常容易出现错误的。打开Makefile在windows系统下,是千万不能用记事本之类的工具打开,因为这会打乱Makefile的格式。需要谨慎对待,通常我采用notepad++文件打开。
以下是官方提供的Makefile文件
开始运行make的时候一直报错,无法运行通过,
然后发现是在
\10.10.30.82\share\RK_PX30_workspace\px30_linux\kernel\drivers\input\misc路径下的Makefile文件最后一行是v153L0X.o而不是vl53l0x/,
因为我内核的驱动都是在vl53L0X文件当中,而不是在当前文件下的.c文件。
因为Makefile通过互相关联以此达到互相关联耦合的目的。
然后继续编译Makefile,依然发现很多问题,发现在vl53L0X文件下很多C文件没有问办法生成中间.o文件,发现在Makefile当中没有编译。所有加入了下面的语句ccflags-y += -Idrivers/input/misc/vl53L0X全部都要编译。
SRCS := $(wildcard ./src/*.c)
OBJS = $(SRCS:.c=.o)
所以掌握Makefile的编写是很重要的事情。
除此之外,因为这个传感器使用到了中断,所有在编写当中,需要注意中断口的应用,PCB板上的中断端口在115,所以在官方提供的文件下
定义了中断IRQ_NUM 为115
当以上的工作完成以后,就可以编译内核了
编写内核的方法如上所示。
当编写内核完成以后内核文件在px30-linux/output目录下