我正在使用linux下的相机驱动程序。从内核空间向用户空间传递数据/帧和命令的一种方法是使用我们从用户空间调用ioctl时执行的copy_to_user函数。
当一个帧到达内核空间时,它会通过中断获得通知,现在它必须将帧传递给用户空间进行处理。用户空间已经使用内核空间完成了mmap,因此它可以访问内核空间中的这个框架,因此它可以获取并处理它。用户空间是否使用轮询功能了解帧的到达?如果我错了,请检查我的概念并纠正我。
答案 0 :(得分:1)
内核应该创建一个设备。用户空间打开它并阻止读取,直到数据可用,然后处理它。这就是大多数设备驱动程序的工作方式。