Qual é a diferença entre ttys0, ttyUSB0 e ttyAMA0 no Linux?

Respostas:

15

ttyS0

O que você recebe no host quando se conecta ao destino com isso:

insira a descrição da imagem aqui

Fonte

Essa porta não está presente na maioria dos laptops ou pequenas placas, mas ainda está presente em muitos desktops e é muito conveniente para desenvolvedores de sistemas operacionais.

Você também consegue qemu -device isa-serial.

Por exemplo, você pode conectar dois desktops a um desses cabos e se comunicar diretamente entre eles para obter um shell na área de trabalho remota.

ttyUSB0

O que você recebe no host ao usar um dos seguintes:

E é assim que conecto os GPIOs do meu Raspberry Pi ao meu laptop para obter um shell em um Raspberry Pi sem uma tela !

insira a descrição da imagem aqui

E outro tipo de conector RPI:

Fonte

Um exemplo concreto de RPI em: /programming/22054578/how-to-run-a-program-without-an-operating-system/32483545#32483545

ttyAMA0

Uma coisa do braço, como mencionado por Sato.

Não encontrei isso para hardware real, publicarei fotos quando eu o fizer. Eu acho que conseguiria conectar minha área de trabalho com uma porta serial ao meu RPI com essa interface: /raspberrypi/69697/what-is-dev-ttyama0

Mas eu usei com o QEMU: https://github.com/buildroot/buildroot/tree/27d7ef126bc7f4eb1a757128466befa11245bbfd/board/qemu/arm-versatile

Parece que a AMA é uma forma abreviada de AMBA ? https://www.raspberrypi.org/forums/viewtopic.php?t=8075 Mas por que encurtariam um acrônimo de 4 caracteres ?!

Os únicos hits interessantes do kernel Linux estão em: https://github.com/torvalds/linux/blob/v4.16/drivers/tty/serial/amba-pl011.c#L2488, portanto parece estar estritamente vinculado ao PL011 : http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0183g/index.html que é um controlador UART licenciado pela ARM, que eu acho que é a implementação dominante.

ttySAC0

Kamil informou que seu Samsung Artik 710 , mais um para a coleção.

Ciro Santilli adicionou uma nova foto
fonte
E o ttySAC0? Eu tenho isso na arquitetura ARM64 dispositivo Samsung Artik 710.
Kamil
@ Kamil OK, um novo para mim, então :-) Como você se conecta a ele do host para ver ttySAC0? Qual cabo? Envie uma foto, se puder.
Ciro Santilli #
Eu recebo um ttyACM0 quando conecto um Arduino ao Linux.
Mike
12
  • ttyS0é o dispositivo para a primeira porta serial UART nas arquiteturas x86 e x86_64. Se você possui uma placa-mãe para PC com portas seriais, use um ttySnpara conectar um modem ou um console serial.
  • ttyUSB0é o dispositivo para o primeiro conversor serial USB. Se você possui um cabo serial USB, estaria usando um ttyUSBnpara conectar-se à porta serial de um roteador.
  • ttyAMA0é o dispositivo para a primeira porta serial na arquitetura ARM. Se você tiver uma caixa de TV baseada em ARM com um console serial e rodando o Android ou o OpenELEC, usaria um ttyAMAnpara conectar um console a ele.
Satō Katsura
fonte
1
Há mais em unix.stackexchange.com/a/127260/5132 .
JdeBP 02/09
são essas 3 portas seriais distintas que você pode ler de cada uma separadamente ao mesmo tempo? e conectar 3 dispositivos diferentes 1 a cada um deles?
bakalolo