Was ist der Unterschied zwischen ttys0, ttyUSB0 und ttyAMA0 unter Linux?

12

Ich möchte den Unterschied zwischen wissen ttyS0, ttyUSB0und ttyAMA0auf Linux.

user5671087
quelle
1
Sie können viele Gerätetypen in den Kernel-Dokumenten nachschlagen
phg

Antworten:

15

ttyS0

Was Sie auf dem Host erhalten, wenn Sie eine Verbindung zum Ziel herstellen:

Geben Sie hier die Bildbeschreibung ein

Quelle

Dieser Port ist auf den meisten Laptops oder kleinen Devboards nicht vorhanden, aber auf vielen Desktops immer noch vorhanden und für Betriebssystementwickler sehr praktisch.

Sie bekommen es auch mit qemu -device isa-serial.

Sie können beispielsweise zwei Desktops mit einem dieser Kabel verbinden und direkt zwischen ihnen kommunizieren, um eine Shell auf dem Remotedesktop von Ihrem eigenen zu erhalten.

ttyUSB0

Was Sie auf dem Host erhalten, wenn Sie eine der folgenden Optionen verwenden:

Und so verbinde ich die GPIOs meines Raspberry Pi mit meinem Laptop , um eine Shell auf einem Raspberry Pi ohne Bildschirm zu erhalten !

Geben Sie hier die Bildbeschreibung ein

Und noch ein RPI-Steckertyp:

Quelle

Ein konkretes RPI-Beispiel unter: /programming/22054578/how-to-run-a-program-without-an-operating-system/32483545#32483545

ttyAMA0

Eine ARM-Sache, wie von Sato erwähnt.

Ich bin noch nicht auf echte Hardware gestoßen, werde Bilder posten, wenn ich das tue. Ich denke, ich könnte meinen Desktop mit einer seriellen Schnittstelle über diese Schnittstelle mit meinem RPI verbinden: /raspberrypi/69697/what-is-dev-ttyama0

Aber ich habe es mit QEMU verwendet: https://github.com/buildroot/buildroot/tree/27d7ef126bc7f4eb1a757128466befa11245bbfd/board/qemu/arm-versatile

Es scheint, dass AMA verkürzte Form von AMBA ist ? https://www.raspberrypi.org/forums/viewtopic.php?t=8075 Aber warum sollten sie ein 4-stelliges Akronym kürzen?!

Die einzigen interessanten Linux-Kernel-Treffer finden Sie unter: https://github.com/torvalds/linux/blob/v4.16/drivers/tty/serial/amba-pl011.c#L2488, sodass es eng mit dem PL011 verbunden zu sein scheint : http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0183g/index.html Dies ist ein von ARM lizenzierter UART-Controller, der meiner Meinung nach die dominierende Implementierung ist.

ttySAC0

Kamil berichtete, dass sein Samsung Artik 710 , also ein weiterer für die Sammlung.

Ciro Santilli 冠状 病毒 审查 六四 事件 法轮功
quelle
Was ist mit ttySAC0? Ich habe dies auf ARM64-Architektur Samsung Artik 710 Gerät.
Kamil
@Kamil OK, dann eine neue für mich :-) Wie verbindest du dich vom Host aus damit, um zu sehen ttySAC0? Welches Kabel? Senden Sie ein Foto, wenn Sie können.
Ciro Santilli 6 病毒 审查 六四 事件 6
12
  • ttyS0ist das Gerät für die erste serielle UART-Schnittstelle auf x86- und x86_64-Architekturen. Wenn Sie ein PC-Motherboard mit seriellen Anschlüssen haben, verwenden Sie a ttySn, um ein Modem oder eine serielle Konsole anzuschließen.
  • ttyUSB0ist das Gerät für den ersten seriellen USB-Konverter. Wenn Sie ein serielles USB-Kabel haben, verwenden Sie ein ttyUSBn, um eine Verbindung zum seriellen Anschluss eines Routers herzustellen.
  • ttyAMA0ist das Gerät für die erste serielle Schnittstelle in der ARM-Architektur. Wenn Sie eine ARM-basierte TV-Box mit einer seriellen Konsole haben und Android oder OpenELEC ausführen, verwenden Sie eine ttyAMAn, um eine Konsole daran anzuschließen.
Satō Katsura
quelle
Sind dies 3 verschiedene serielle Anschlüsse, die Sie gleichzeitig einzeln lesen können? und 3 verschiedene Geräte 1 an jedes von diesen anschließen?
Bakalolo