解决方案
Linux内核内置了对许多类型设备的内置支持,包括但不限于USB存储设备和USB网络摄像头。由于NI Linux RTOS基于Linux内核,因此包含了对这些设备的支持。没有可参考的已定义的硬件列表,但是有方法确定设备是否可以与NI Linux RTOS一起使用的。
注意:此处讨论的技术将要求能够使用SSH或与通过串行连接可以登录到NI Linux Real-Time目标。相关链接部分中提供了文档,可以帮助您解决此问题。
检测连接的USB设备:最初将USB设备插入实时目标的USB端口时,可以验证是否已检测到USB设备。登录到实时目标后,连接USB设备并在控制台输入
dmesg命令,然后按
Enter键。将显示类似于图1所示的信息。您可以在信息中搜索与已插入目标中的设备有关的文本。这是确定NI Linux RTOS是否可以识别您的设备的可靠方法。这不能保证该设备可与目标一起使用。
图1.USB存储驱动器的典型dmseg信息
确定目标是否可以使用连接的USB设备:NI Linux RTOS使用的当前内核是3.14.40 Linux内核。当内核检测到它可以支持的USB设备时,内核模块(驱动程序)将自动加载到内存中,并且用户可以访问该设备。一种确定是否已为特定USB设备加载新内核模块的简单方法是,在插入设备之前向终端发出
lsmod命令,然后在插入设备之后发出相同的命令。如果模块已加载,则比较已加载模块的列表,列表将显示新模块。
对于大多数受支持的USB设备,将为内核自动加载一个模块。有时模块可能不会自动加载。要手动为内核加载模块,请向终端发出命令
modprobe <module> 。例如,ftdi_sio模块,需要加载USB-to-Serial驱动程序,则命令将为
modprobe ftdi_sio 。
USB存储设备将自动安装到Real-Time目标。可以在
/ media位置中访问它们,并且除非系统上存在具有该名称的文件夹,否则驱动器的快捷方式通常将映射为
/ U。在这种情况下,下一个可用字母将用于映射USB存储设备。