linux驱动程序是怎样通过内核和应用程序通信,还有是怎样和硬件通信,跪求求解,谢谢高手留言。
最近在学习linux驱动程序设计,都是用模块化的去编写程序。目前遇到的疑问是,我的驱动程序是怎样通过内核可以和应用程序通信,就是说交换数据的操作之类的。还有的就是驱动怎样和硬件通信,驱动程序怎样去得到硬件的信息。
------解决方案--------------------
kernel space和user space通信方式有以下几种:
netlink socket,
system call API,
proc file system,
sysfs file system,
内核模块参数,
启动命令行参数,
sysctl。