In function ‘myled_init’: /home/linux/Test/drivere/day3/03zhuce/mycdev.c:83:15: error: passing argument 1 of ‘cdev_init’ from incompatible pointer type [-Werror=incompatible-pointer-types] cdev_init(&cdev, &fops);
时间: 2023-06-17 14:02:18 浏览: 65
这个错误信息是因为在调用 `cdev_init` 函数时,第一个参数的类型与函数定义的参数类型不匹配。第一个参数应该是 `struct cdev *` 类型的指针,但是你传递了一个不兼容的指针类型。可以检查一下在调用 `cdev_init` 函数的地方,第一个参数的类型是否正确。如果类型正确,可以尝试将第一个参数的类型转换为正确的类型。如果类型不正确,可以将其更改为正确的类型。
相关问题
/lib/modules/6.3.5]$./led_test /dev/myled off Segmentation fault
这个错误通常是由于程序访问了不属于它的内存地址,或者试图修改只读的内存空间,导致操作系统强制终止了程序的执行。在这种情况下,可能是 led_test 程序出现了错误,导致无法正常执行。你可以尝试检查程序的代码,特别是与硬件交互的部分,看是否存在潜在的错误。同时,你也可以使用 gdb 等调试工具来分析程序的运行过程,帮助你找出问题所在。
mknod: /dev/myled: File exists
这个错误信息表示 /dev/myled 这个设备节点已经存在了,而你又试图使用 mknod 命令创建一个同名的设备节点。因此,系统拒绝了你的请求并返回了这个错误信息。
如果你想继续创建 /dev/myled 设备节点,需要先删除已经存在的同名设备节点,可以使用 rm 命令来删除,例如:
```
sudo rm /dev/myled
```
然后再重新运行 mknod 命令来创建 /dev/myled 设备节点。