C 通过USB的Linux串行设备服务器?

C 通过USB的Linux串行设备服务器?,c,linux,serial-port,usb,C,Linux,Serial Port,Usb,我有一个嵌入式Linux解决方案,希望通过串行USB创建一个命令服务。这个想法是,当一台计算机通过USB连接到我的嵌入式设备时,他们会看到一个串行设备,并通过该端口向我发送串行命令,我会将响应发送回来 在前进的方向上我需要一些帮助。我是否需要模拟串行设备,以便他们将我视为COM端口?是否有内置Linux解决方案可以作为串行设备广播我的详细信息?有代码示例吗?我可以看到块设备与我的嵌入式解决方案连接,就像USB存储设备一样。当我插入另一台计算机时,我希望它将我视为串行COM端口 我只是需要帮助,我

我有一个嵌入式Linux解决方案,希望通过串行USB创建一个命令服务。这个想法是,当一台计算机通过USB连接到我的嵌入式设备时,他们会看到一个串行设备,并通过该端口向我发送串行命令,我会将响应发送回来

在前进的方向上我需要一些帮助。我是否需要模拟串行设备,以便他们将我视为COM端口?是否有内置Linux解决方案可以作为串行设备广播我的详细信息?有代码示例吗?我可以看到块设备与我的嵌入式解决方案连接,就像USB存储设备一样。当我插入另一台计算机时,我希望它将我视为串行COM端口

我只是需要帮助,我应该走哪条路来解决这个问题


提前谢谢。

您要找的是。Linux USB gadgets框架允许设备表现为各种标准USB设备,包括串行设备、以太网适配器和大容量存储设备


请注意,USB小工具只能在具有可设置为作为USB设备运行的USB控制器的目标上工作。并非所有USB控制器和目标设备都与此配置兼容。例如,大多数PC机都有一个仅用于主机的USB控制器,Raspberry Pi型号B与小工具不兼容,因为它在USB端口的上游包含一个嵌入式USB集线器。(然而,)

您正在寻找的是。Linux USB gadgets框架允许设备表现为各种标准USB设备,包括串行设备、以太网适配器和大容量存储设备


请注意,USB小工具只能在具有可设置为作为USB设备运行的USB控制器的目标上工作。并非所有USB控制器和目标设备都与此配置兼容。例如,大多数PC机都有一个仅用于主机的USB控制器,Raspberry Pi型号B与小工具不兼容,因为它在USB端口的上游包含一个嵌入式USB集线器。(然而,)

您使用了一些奇怪的术语。你的意思是你想在插入USB后自动加载设备驱动程序吗?然后寻找
udev
。你操作了一些奇怪的术语。你的意思是你想在插入USB后自动加载设备驱动程序吗?然后查找
udev
“可设置为作为USB设备运行的USB控制器”--通常您会找到专用主机或设备USB控制器端口。顺便说一句,如果目标板有USB类型B连接器,那么它应该有一个USB设备控制器端口。如果目标板有USB类型C(又名OTG)连接器,那么它可能有一个USB设备控制器端口。@因此,它更多地取决于SoC而不是端口。重复使用一个例子,Pi Zero有一个micro USB(类型B)端口,因为尺寸原因,但默认情况下充当主机。这里有很多有用的信息…我将研究一些细节并返回您的建议。“Pi Zero有一个micro USB(类型B)端口”--我看到它被描述为OTG端口,这意味着它是一个类型C,不是B。@sawdust USB OTG的存在时间比C型连接器(不到2年)长得多(15年)。“一个可以设置为作为USB设备运行的USB控制器”--通常你会找到专用的主机或设备USB控制器端口。顺便说一句,如果目标板有USB类型B连接器,那么它应该有一个USB设备控制器端口。如果目标板有USB类型C(又名OTG)连接器,那么它可能有一个USB设备控制器端口。@因此,它更多地取决于SoC而不是端口。重复使用一个例子,Pi Zero有一个micro USB(类型B)端口,因为尺寸原因,但默认情况下充当主机。这里有很多有用的信息…我将研究一些细节并返回您的建议。“Pi Zero有一个micro USB(类型B)端口”--我看到它被描述为OTG端口,这意味着它是一个类型C,不是B。@sawdust USB OTG的存在时间比C型连接器(不到2年)长得多(15年)。