c - 每次连接 USB 设备时,我都需要执行用户空间应用程序

标签 c linux-kernel driver embedded-linux kernel-module

我正在使用嵌入式平台。此设备中的典型软件是 Linux 2.6 + Busybox,因此资源有限。

每次连接 USB 设备时,我都需要运行一个用户空间应用程序。我需要将 DeviceID 和 ProductID 作为参数传递给此用户空间应用程序。

我真的不知道我应该遵循哪种策略来实现这一目标:

  • 编写 linux 内核模块。
  • 从内核(USB 驱动程序)内部执行此操作我目前正在执行此操作,但我认为这不是执行此操作的最佳方法
  • “轮询”USB 连接设备的用户空间应用程序。?

哪一个应该是最好的方法?

感谢您的回答!

最佳答案

如果你想留在用户空间,那么你可以使用libudev

你有一个例子here .您可以从中提取产品 ID 和设备 ID。

关于c - 每次连接 USB 设备时,我都需要执行用户空间应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11517576/

相关文章:

linux - 无法从 USB 驱动器下载驱动程序

linux - 为什么 linux 不支持基于重复启动的 i2c 操作?

c++ - Igraph (C) 返回错误的顶点 ID

从 gcc 到 Visual Studio Express 2010 的 C 代码

c - 为什么下面的代码没有循环遍历 m?

linux - 自定义 Linux 内核中内置的 Initramfs 未运行

linux - 编写系统调用来计算进程的上下文切换

c - 并发用户访问

c - 嵌入式设备上C89字节流转包流的一种方法

c - 将数据发送到 Ubuntu 上的 USB GPIO 设备