控制台和UART绑定何时在Linux中发生,是否可以从控制台取消绑定UART并在运行时将其绑定到其他模块(GPS)。
我的主板有一个UART,我可以在运行时在控制台和GPS之间切换。我是怎么做的?如果没有什么是我需要做的黑客?
答案 0 :(得分:0)
是的,你可以。在运行时,您可以取消绑定/绑定任何驱动程序。您可以在此处找到更多信息:
https://lwn.net/Articles/143397/
你可以在这里找到适合你UART的正确驱动程序(和GPS一样,但我不确定。从来没有玩过它):
cd /sys/class/tty/<your-device>/device/driver/
然后在这些目录中,您拥有sysfs文件bind
和unbind
。用于从驱动程序解除绑定设备的设备ID通常显示在驱动程序目录中。
platform_device
并不特别,它的行为与任何其他驱动程序一样。通常是平台设备的设备ID,它的名称(后面没有总线枚举)。这是我的PC上带有platform_device
的示例:
# ls /sys/bus/platform/devices/
alarmtimer gpio_ich iTCO_wdt platform-framebuffer.0 PNP0800:00 PNP0C14:00
coretemp.0 hp-wmi microcode PNP0003:00 PNP0C04:00 serial8250
Fixed MDIO bus.0 i8042 pcspkr PNP0103:00 PNP0C0C:00
# cd /sys/bus/platform/drivers/serial8250/
# ls
bind serial8250 uevent unbind