(原因)默认的 devkit 设备树启用以下 uart 外设
[ 0.262065] 31d0000.serial: ttyAMA0 at MMIO 0x31d0000 (irq = 63, base_baud = 0) is a SBSA
[ 2.440742] usbserial: USB Serial support registered for FTDI USB Serial Device
[ 2.453602] usbserial: USB Serial support registered for GSM modem (1-port)
[ 5.798301] serial-tegra 3100000.serial: Adding to iommu group 2
[ 5.804654] 3100000.serial: ttyTHS0 at MMIO 0x3100000 (irq = 17, base_baud = 0) is a TEGRA_UART
[ 5.813961] serial-tegra 3130000.serial: Adding to iommu group 2
[ 5.819368] 3130000.serial: ttyTHS3 at MMIO 0x3130000 (irq = 61, base_baud = 0) is a TEGRA_UART
[ 5.828451] serial-tegra 3140000.serial: Adding to iommu group 2
[ 5.834114] 3140000.serial: ttyTHS4 at MMIO 0x3140000 (irq = 62, base_baud = 0) is a TEGRA_UART
[ 7.249999] systemd[1]: Created slice Slice /system/serial-getty.
0x3100000为每个串口对应的十六进制地址,官方技术参考手册中指出的映射关系如下:
UARTA对应ttyTHS0, UARTB对应ttyTHS1(默认不启用), UARTD对应ttyTHS3, UARTE对应ttyTHS4, UARTF未知
(解决办法)需要在 devkits 设备树中启用UARTB(ttyTHS1):
参考:Jetson AGX Orin 修改设备树_nvidia-jetpack : depends: nvidia-jetpack-runtime (-CSDN博客
如下图,在对应的设备树文件中对应位置(serial@3110000为UARTB,ttyTHS1),将status改为"okay":
随后修改启动配置文件/boot/extlinux/extlinux.conf并重启,可以看到
串口ttyTHS1