vl53L0X传感器的编写,(未完待续)

本文详细介绍了在Linux环境下进行驱动调试的方法,包括如何配置Makefile、解决编译错误、正确设置中断等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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目录下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值