Esta web utiliza cookies, puedes ver nuestra política de cookies, aquí Si continuas navegando estás aceptándola

Terminal UART Raspberrypi


La raspberrypi posee unos pines en la cara superior de la placa, algunos sirven como interfaz para comunicarse por I2C, SPI, otros como señal de reloj, otros como PWM otros como pines de I/O de propósito general y finalmente los que nos vamos a centrar en este manual, los pines UART.

La idea es configurar el bootloader para que nos muestre el arranque del kernel por este puerto serie y en cuanto arranque el SO que Linux nos ofrezca una terminal TTY, de este modo podremos ver los mensajes de arranque de la rasp sin tener que andar cambiando el cable hdmi de nuestro monitor.

Esto puede resultar especialmente útil cuando estamos testeando kernels compilados y estamos probando funcionalidades nuevas.
 

Para poder hacer esto en un equipo actual tendremos que comprar un adaptador de serie a USB ya que la mayoría e equipos actuales ya no vienen con un puerto serie de frabrica, yo opté por este.

 

 


Lo pirmero será compilar nuestro kernel con soporte para el adaptador:

Device Drivers  ---> USB support  ---> USB Serial Converter support
[*]   USB Generic Serial Driver
[*]   USB FTDI Single Port Serial Driver

Cuando conectemos el aparetejo podremos ver en los mensajes de salida del kernel(dmesg) algo parecido a esto:

Product: FT232R USB UART
Manufacturer: FTDI
FTDI USB Serial Device converter detected
Detected FT232RL
FTDI USB Serial Device converter now attached to ttyUSB0

Bueno la parte en nuestro pc ya está terminada ahora seguimos con la config de la rasp, lo primero será compilar el kernel de esta con soporte para el puerto UART:

Device Drivers  ---> Character devices  ---> Serial drivers
[*] ARM AMBA PL011 serial port support
[*]   Support for console on AMBA serial port

 

Una vez arrancado el kernel podremos ver que existe un dispositivo nuevo:

ls -la /dev/ttyAMA0
crw------- 1 root tty 204, 64 abr 24 19:28 /dev/ttyAMA0

 

Es este el dispositivo que utilizaremos para comunicarnos con nuestra Rasp, configuramos el bootloader para que muestre el arranque:

vi /boot/cmdline.txt
dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p3 rootfstype=ext4 elevator=deadline rootwait

 

Ahora configuramos Linux para que nos arranque una tty sobre ese puerto:

vi /etc/inittab
T0:23:respawn:/sbin/agetty -L ttyAMA0 115200 vt100

Ahora conectamos los cables del siguiente modo:

 

 

 

 

 

 

 

 

 

 

 

 

 

  • Gris: GND
  • Azul: TX(FTDI) RX(Rasp)
  • Morado: RX(FTDI) TX(Rasp)

Ahora instalamos screen para poder conectar y conectamos por el puerto del FTDI:

emerge -av app-misc/screen
screen /dev/ttyUSB0 115200

 

El resultado será una tty de login, si reiniciamos podremos ver el arranque desde este puerto:

This is Calculon.unknown_domain (Linux armv6l 3.10.25-kr0m-nomodules+) 20:41:42

Calculon login:

 

Bueno esto es todo, espero que hayáis aprendido algo leyendo este artículo y que lo hayáis disfrutado tanto como yo escribiéndolo ;)


Autor: Kr0m -- 25/04/2014 20:04:58