&引用;调用;来自设备驱动程序的特定功能';s C代码
如果我用C编写了一个可以控制RPI上GPIO的设备驱动程序的代码,那么我如何能够从我的C代码中实际调用一个函数,例如&引用;调用;来自设备驱动程序的特定功能';s C代码,c,linux,linux-kernel,raspberry-pi,embedded-linux,C,Linux,Linux Kernel,Raspberry Pi,Embedded Linux,如果我用C编写了一个可以控制RPI上GPIO的设备驱动程序的代码,那么我如何能够从我的C代码中实际调用一个函数,例如ssize\t mygpio\u write(struct file*filep,const char\u user*ubuf,size\t count,loff\u*f\u pos)来打开LED 我知道我可以/必须这样做 在C文件上执行Makefile 使用insmod插入模块,如“name.ko” 我可以使用cat/dev/name 使用rmmod删除诸如“name.ko”之
ssize\t mygpio\u write(struct file*filep,const char\u user*ubuf,size\t count,loff\u*f\u pos)
来打开LED
我知道我可以/必须这样做
- 在C文件上执行Makefile
- 使用
插入模块,如“name.ko”insmod
- 我可以使用
cat/dev/name
- 使用
删除诸如“name.ko”之类的模块rmmod
另外请注意:我也知道主数字和次数字是什么,但我不知道是否必须使用它们从代码中调用函数或控制GPIO。这可能是一个过于宽泛的主题。建议你仔细阅读。有一种定义明确的方法可以将LED暴露给用户区域。@kaylum我不是说raspberry pi上的LED。我是指连接到GPIO引脚的LED。不帮忙?我不是Linux驱动程序方面的专家,但我认为ioctl是访问驱动程序函数的方法。为自定义服务分配任意号码,并从用户空间调用它们。对于LED,LED子系统具有自己的ABI,以及许多其他功能。使用
libgpiod
工具可以实现简单的GPIO使用。