我第一次尝试 debugfs 将数据从内核传输到用户空间。请建议如何在这方面进行。
我不想使用 tty 驱动程序。这只是为了在我身边练习。实际上,我正在尝试为 USART 编写内核驱动程序,其中将使用 debugfs 环形缓冲区将中断数据推送到用户空间应用程序。
早在我发现一个 Stackexchange 朋友在他的 GIT 存储库中发布的帖子之前——他在那里将 debugfs 实现为环形缓冲区……但该链接对我来说已经丢失了……所以在这方面无法找到一些参考资料.
请建议。
我第一次尝试 debugfs 将数据从内核传输到用户空间。请建议如何在这方面进行。
我不想使用 tty 驱动程序。这只是为了在我身边练习。实际上,我正在尝试为 USART 编写内核驱动程序,其中将使用 debugfs 环形缓冲区将中断数据推送到用户空间应用程序。
早在我发现一个 Stackexchange 朋友在他的 GIT 存储库中发布的帖子之前——他在那里将 debugfs 实现为环形缓冲区……但该链接对我来说已经丢失了……所以在这方面无法找到一些参考资料.
请建议。
我知道我从 eugene 那里尝试过的链接很少:---
ioctl vs netlink vs memmap 在内核空间和用户空间之间进行通信,
将数据写入调试文件——来自设备驱动程序
http://code.google.com/p/kernel-strider/source/browse/sources/core/resolve_ip。 C
我认为你应该使用netlink。
Netlink 套接字是一种特殊的 IPC,用于在内核和用户空间进程之间传输信息。它通过用于用户空间进程的标准套接字 API 和用于内核模块的特殊内核 API 在两者之间提供全双工通信链接。