Si no estás familiarizado con el Zynq UltraScale+ MPSoC de XIlinx y te encuentras en el espacio de Embedded + FPGA, ahora es el momento de familiarizarte con él. Viene equipado con un núcleo cuádruple ARM Cortex-A53, 2 núcleos ARM Cortex-R5 y una tela FPGA todo en un solo sistema en un chip (SoC). Cuando se lanzó por primera vez, la barrera de entrada era bastante alta. Con el tiempo, varias empresas comenzaron a introducir Sistemas en Módulos (SoM) que venían con paquetes de soporte de placa (BSP) y facilitaron un poco el inicio de proyectos utilizando distribuciones ligeras de Linux (es decir, sistemas operativos) como PetaLinux. Recientemente, el kit de inicio Kria KV260 salió a la venta a un precio excepcionalmente bajo y también se ha emparejado con una distro completamente funcional de Ubuntu. Esto, esencialmente, convierte tu placa de desarrollo Zynq UltraScale en un Raspberry Pi “más capaz” con un FPGA y dos ARM Cortex-R5 a bordo también. Es potente, compacto y muy divertido de usar. En este artículo vamos a desempaquetar el kit de desarrollo y repasar todas las necesidades para tener Ubuntu 22.04 funcionando en poco tiempo.
El kit de desarrollo Kria KV260 no viene precargado con un sistema operativo como lo hace una computadora de escritorio. Lo mismo ocurre con una Raspberry Pi o la mayoría de los otros dispositivos embebidos. Se espera que el usuario flashee el sistema operativo en una tarjeta microSD y luego ejecute el sistema operativo directamente desde la tarjeta microSD (en lugar de la memoria interna).
Para comenzar, idealmente, querrás una tarjeta microSD rápida. Yo, personalmente, elegí la SanDisk Extreme con una capacidad de 256 GB. En el momento de escribir esto, me costó entre $20-30. Definitivamente podrías optar por una capacidad menor (es decir, 64 GB o incluso menos) pero me gusta tener el espacio extra y la diferencia de precio era insignificante.
A lo largo de este artículo seguiremos la guía oficial de Xilinx, pero hay algunos detalles que señalaré durante el proceso. En el momento de escribir este artículo, el kit de inicio Kria KV260 no venía con el firmware más reciente. Para poder ejecutar Ubuntu 22.04 necesité primero actualizar el firmware de acuerdo con este documento. Navega a esta página web para descargar Ubuntu 20.04 y luego sigue las instrucciones aquí para flashear tu tarjeta SD usando Balena Etcher.
Antes de encender la placa hay algunas cosas que necesitamos hacer para empezar. Si no has comprado el paquete de accesorios para el kit de desarrollo, necesitarás una fuente de alimentación. Esta placa requiere una fuente de poder de 12V con una corriente máxima de 3A. La mayoría de los adaptadores de CA que encontrarás por ahí vienen con un conector de barril de 2.1mm. Sin embargo, el kit de desarrollo Kria KV260 utiliza un conector de barril de 2.5mm. En lugar de cambiar el jack de barril de 2.5mm, compré un cable macho a hembra de 2.5mm, lo corté por la mitad, pelé los extremos y lo conecté a mi fuente de alimentación. Como puedes ver a continuación, el encendido inicial consumió 0.68A.
Figura 1: Encendido inicial y consumo de energía
Como se menciona en las instrucciones, si conectas un cable USB a micro USB desde tu computadora a la placa, podrás ver cómo el gestor de arranque inicia el sistema operativo a través de tu terminal serie favorito (por ejemplo, TeraTerm o Putty). También querrás asegurarte de insertar tu tarjeta microSD, el cable de video (DisplayPort o HDMI), teclado y ratón para obtener la experiencia completa. Enciende el dispositivo y espera a que GNOME se cargue en tu monitor.
Figura 2: Pantalla de inicio de sesión después de que GNOME se inicia (Ubuntu 20.04)
Una vez que GNOME se inicie, se te pedirá que ingreses tu nombre de usuario y contraseña. Las credenciales de inicio de sesión predeterminadas son:
nombre de usuario: ubuntu
contraseña: ubuntu
Ahora que Ubuntu 20.04 está en funcionamiento, podemos ejecutar la utilidad de actualización de firmware. Necesitarás descargar el archivo Xilinx download - 2022.1_update3_BOOT.BIN desde la página de actualización de firmware ya sea directamente en el dispositivo o a través de algún otro mecanismo de transferencia (por ejemplo, una memoria USB). Encontré que lo más fácil era abrir Firefox en el propio dispositivo y descargar el archivo flash. Ten en cuenta que necesitarás una cuenta de AMD Xilinx (que es gratuita) para poder descargar este archivo.
Para ejecutar la actualización de firmware, primero necesitarás instalar la utilidad de actualización como se documenta aquí. Abre una terminal (haciendo clic en los 9 puntos de la esquina inferior izquierda, escribiendo Terminal en la barra de búsqueda y haciendo clic en el icono de Terminal). Ejecuta el siguiente comando:
sudo snap install xlnx-config --classic --channel=1.x
Una vez que la utilidad haya sido instalada, podemos ejecutar el script de actualización de firmware:
sudo xlnx-config --xmutil bootfw_update -i <ruta al boot.bin>
Ya que utilicé firefox para descargar el archivo bin, mi comando completo es:
sudo xlnx-config --xmutil bootfw_update -i ~/Downloads/BOOT_xilinx-k26-starterkit-v2022.1-09152304_update3.BIN
El proceso de actualización del firmware debería comenzar e informar una vez que se haya completado. Después de completarlo, puedes apagar el dispositivo (botón de encendido en la esquina superior derecha), apagarlo y retirar tu tarjeta SD en preparación para flashearla con Ubuntu 22.04.
Ahora volvemos a Balena Etcher y flasheamos nuestra tarjeta microSD con Ubuntu 22.04. El proceso es exactamente el mismo que con Ubuntu 22.04, pero la pantalla de inicio de sesión tiene un aspecto ligeramente diferente.
Figura 3: Pantalla de inicio de sesión después de que GNOME se inicia (Ubuntu 22.04)
Es el mismo procedimiento, sin embargo. Solo necesitas ingresar "ubuntu" como nombre de usuario/contraseña y, ¡voilà!, ¡listo! Tomará un minuto o dos cargar completamente, pero después de eso estás listo para comenzar a experimentar con tu kit de desarrollo Kria KV260.
En este artículo desempaquetamos y configuramos el Kria KV260 Vision AI Starter Kit de Xilinx. Revisamos algunos aspectos importantes del hardware, aprendimos cómo flashear la tarjeta microSD con diferentes versiones de Ubuntu y examinamos detalladamente cómo actualizar correctamente el firmware de los SoMs. A este punto, deberías estar configurado con Ubuntu 22.04 y sumergirte en algunos ejemplos, incluyendo la Aplicación de Cámara Inteligente y otros recursos.