UART 绑定@运行时

Abb*_*bhi 5 linux console linux-kernel uart

Linux中什么时候发生控制台和UART绑定,是否可以在运行时从控制台解除UART绑定并将其绑定到其他模块(GPS)。

我的主板有一个 UART,我可以在运行时在控制台和 GPS 之间切换吗?如果是,我该怎么做?如果不是,我需要做什么?

Fed*_*ico 0

是的你可以。在运行时您可以取消绑定/绑定任何驱动程序。您可以在这里找到更多信息:

https://lwn.net/Articles/143397/

您可以在这里找到适合您的 UART(可能还有 GPS,但我不确定。从未使用过它)的正确驱动程序:

cd /sys/class/tty/<your-device>/device/driver/
Run Code Online (Sandbox Code Playgroud)

然后在这些目录中您有 sysfs 文件bindunbind. 用于解除设备与驱动程序绑定的设备 ID 通常显示在驱动程序目录中。

platform_device一点也不特别,它的行为就像任何其他驱动程序一样。通常是平台设备的设备 ID,它是它的名称(后面没有总线枚举)。这是我的电脑的示例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
Run Code Online (Sandbox Code Playgroud)