ST意法半导体
直播中

李波

7年用户 1405经验值
私信 关注
[问答]

让stm vl53lx驱动程序在RPI上工作时收到错误消息怎么解决?

嗨 - 我似乎无法让驱动程序在 RPi 3+ 上编译..
感谢您的帮助!
这是我收到的错误消息:
pi@raspberrypi:~/VL53L3CX_LinuxDriver_1.0.5_bare_1.2.4/driver/vl53Lx $ make VL53LX_FULL_KERNEL=1
CONFIG_STMVL53LX=m make -C /lib/modules/`uname -r`/build M=$PWD
make[1]: 进入目录 '/usr/src/linux-headers-5.10.17-v7+'
CC [M] /home/pi/VL53L3CX_LinuxDriver_1.0.5_bare_1.2.4/driver/vl53Lx/stmvl53lx_module.o
在 /home/pi/VL53L3CX_LinuxDriver_1.0.5_bare_1.2.4/driver/vl53Lx/stmvl53lx_module.c:49 包含的文件中:
/home/pi/VL53L3CX_LinuxDriver_1.0.5_bare_1.2.4/driver/vl53Lx/stmvl53lx.h:208:17:错误:字段“start_tv”的类型不完整
struct timeval start_tv;/*!< 流开始时间 */
         ^~~~~~~~
/home/pi/VL53L3CX_LinuxDriver_1.0.5_bare_1.2.4/driver/vl53Lx/stmvl53lx.h:240:18:错误:字段“start_tv”的类型不完整
  结构timeval start_tv;
         ^~~~~~~~
/home/pi/VL53L3CX_LinuxDriver_1.0.5_bare_1.2.4/driver/vl53Lx/stmvl53lx.h:241:18:错误:字段“comp_tv”的类型不完整
  结构timeval comp_tv;
         ^~~~~~~
/home/pi/VL53L3CX_LinuxDriver_1.0.5_bare_1.2.4/driver/vl53Lx/stmvl53lx_module.c:在函数“st_gettimeofday”中:
/home/pi/VL53L3CX_LinuxDriver_1.0.5_bare_1.2.4/driver/vl53Lx/stmvl53lx_module.c:103:4:错误:取消引用指向不完整类型“struct timeval”的指针
tv->tv_sec = now.tv_sec;
  ^~
/home/pi/VL53L3CX_LinuxDriver_1.0.5_bare_1.2.4/driver/vl53Lx/stmvl53lx_module.c:在函数“stmvl53lx_intr_process”中:
/home/pi/VL53L3CX_LinuxDriver_1.0.5_bare_1.2.4/driver/vl53Lx/stmvl53lx_module.c:2414:17:错误:“tv_now”的存储大小未知
结构timeval tv_now;
         ^~~~~~
/home/pi/VL53L3CX_LinuxDriver_1.0.5_bare_1.2.4/driver/vl53Lx/stmvl53lx_module.c:2414:17: 警告:未使用的变量 'tv_now' [-Wunused-variable]
/home/pi/VL53L3CX_LinuxDriver_1.0.5_bare_1.2.4/driver/vl53Lx/stmvl53lx_module.c:在函数“stmvl53lx_input_push_data_multiobject”中:
/home/pi/VL53L3CX_LinuxDriver_1.0.5_bare_1.2.4/driver/vl53Lx/stmvl53lx_module.c:2508:17: 错误:'tv' 的存储大小未知
结构时间电视;
         ^~
/home/pi/VL53L3CX_LinuxDriver_1.0.5_bare_1.2.4/driver/vl53Lx/stmvl53lx_module.c:2508:17: 警告:未使用的变量 'tv' [-Wunused-variable]
make[2]: *** [scripts/Makefile.build:279: /home/pi/VL53L3CX_LinuxDriver_1.0.5_bare_1.2.4/driver/vl53Lx/stmvl53lx_module.o] 错误 1
make[1]: *** [Makefile:1804: /home/pi/VL53L3CX_LinuxDriver_1.0.5_bare_1.2.4/driver/vl53Lx] 错误2
make[1]: 离开目录 '/usr/src/linux-headers-5.10.17-v7+'
make: *** [Makefile:8: default] 错误 2







回帖(1)

李纪生

2022-12-26 11:09:29
好吧,看起来你是对的。
我的团队花了一点时间来解决它。
他们不得不对已弃用的 timeval 结构进行一些修改,以使其在旧内核和 5.10.X 中都能正常工作
i2c_new_device 函数也已被弃用,修改后的文件使用 i2c_new_client_device
未来的版本将包括这些更改
举报

更多回帖

发帖
×
20
完善资料,
赚取积分