Puerto serial abierto del sistema ubuntu de Raspberry Pi 4b

¿Cómo abrir el puerto serie después de instalar ubuntu server18 en Raspberry Pi 4b?

El diagrama de pines de Raspberry Pi 4b es el siguiente:

Entre ellos, GPIO14 y GPIO15 son puertos serie de hardware.

Como no estoy instalando un sistema Raspian, no puedo abrir el puerto serie con raspi-config.

También se explica en el /boot/firmware/config.txt del sistema raspi del servidor ubuntu que enable_uart = 1 habilita este puerto serie de forma predeterminada. El nombre en Linux es / ttyAMA0, pero el valor predeterminado es cuando se usa la consola del puerto serie. (/ boot / firmware / nobtcmd. txt también escribió console = / ttyAMA 921600)

Y este puerto serie de hardware también está conectado con Bluetooth. Si desea utilizar este puerto serie para otros periféricos, debe desactivar la consola del puerto serie y Bluetooth.

método:

1. Elimine console = / ttyAMA 921600 en /boot/firmware/nobtcmd.txt para deshabilitar la consola en serie. Este archivo txt también se puede encontrar en el arranque del sistema insertando la tarjeta SD en el sistema Windows con un lector de tarjetas.

2. Configure enable_uart = 1 en /boot/firmware/config.txt (el valor predeterminado es). Si = 0, el puerto serie del minicom está habilitado en lugar del puerto serie del hardware.

3. Agregue una línea dtoverlay = disable-bt a /boot/firmware/config.txt para deshabilitar Bluetooth.

4. sudo systemctl deshabilitar bluetooth ...... Deshabilitar los elementos de inicio relacionados con Bluetooth. Hasta que el escritorio ya no muestre el logotipo de Bluetooth, pero todavía hay / ttyAMA0.

De esta forma, después de arrancar para conectar los periféricos seriales, la comunicación serial puede ser normal usando / ttyAMA0.

Se recomienda leer la documentación oficial de Raspberry Pi:

https://www.raspberrypi.org/documentation/configuration/uart.md

También hay documentos de Linux:

https://elinux.org/RPi_Serial_Connection

 

Pero todavía hay un problema. Si conecta los periféricos antes de arrancar, los datos en serie enviados por los periféricos en serie interferirán con el arranque de ubuntu, porque u-boot (similar al gestor de arranque) esperará los datos del puerto serie durante 2 segundos antes de encenderse. autoboot cuando se inicia ubuntu Sistema, durante este período, una vez que haya datos del puerto serie, ingresará u-boot (similar al inicio de la computadora y presione F2 para ingresar al BIOS). Esto hará que el sistema no se abra y la pantalla siempre mostrará caracteres confusos enviados por el dispositivo serie.

La solución es cancelar el tiempo de espera de 2 segundos del u-boot e ingresar directamente al sistema (pero esto también hará que no se pueda ingresar a u-boot en el futuro)

Consulte principalmente esta respuesta que se encuentra con bing, askubuntu.com es realmente un buen sitio web:

https://askubuntu.com/questions/1215848/how-to-disable-ttyama0-console-on-boot-raspberry-pi

Hay dos formas de cancelar el tiempo de espera:

Método 1: Vuelva a compilar el u-boot modificado en su computadora y reemplace el rasp4.bin original con el archivo .bin (en / boot / firmware)

Método 2: use el puerto serie para ingresar u-boot al arrancar y escriba el comando para cancelar el arranque en espera

He probado ambos métodos, pero el método uno no parece funcionar. Puede ser que raspi4 no sea lo suficientemente maduro como para reemplazar el archivo .bin compilado por mí mismo.

El método dos tuvo éxito. detalles como sigue:

La descripción de las variables de entorno de u-boot se puede ver https://www.denx.de/wiki/view/DULG/UBootEnvVariables

A continuación se explica cómo ingresar u-boot a través del puerto serie. Use un puerto en serie a USB para conectar la Raspberry Pi a su computadora, y luego use el asistente de depuración del puerto en serie en su computadora para enviar instrucciones.

Encienda y presione cualquier tecla para ingresar a u-boot, luego ingrese

setenv bootdelay -2
saveenv

De este modo, se configura la variable de entorno para cancelar el tiempo de espera y guardarlo.

Tenga en cuenta que se debe agregar un retorno de carro después de cada línea de entrada.

La visualización en la pantalla de la Raspberry Pi es la siguiente:

¡Hazlo!

 

 

 

 

 

 

Supongo que te gusta

Origin blog.csdn.net/benchuspx/article/details/112571880
Recomendado
Clasificación