Se você não está familiarizado com o Zynq UltraScale+ MPSoC da XIlinx e está no espaço de Embedded + FPGA, agora é a hora de se familiarizar com ele. Ele vem equipado com um Quad core ARM Cortex-A53, 2 núcleos ARM Cortex-R5 e uma malha FPGA, tudo em um único sistema em um chip (SoC). Quando foi lançado, a barreira de entrada era bastante alta. Com o tempo, várias empresas começaram a introduzir Sistemas em Módulos (SoM) que vinham com pacotes de suporte de placa (BSP) e facilitaram um pouco o início de projetos usando distribuições Linux leves (ou seja, sistemas operacionais) como PetaLinux. Recentemente, o kit inicial Kria KV260 foi lançado a um preço excepcionalmente baixo e também foi emparelhado com uma distribuição totalmente funcional do Ubuntu. Isso, essencialmente, transforma sua placa de desenvolvimento Zynq UltraScale em um Raspberry Pi “mais capaz” com um FPGA e dois ARM Cortex-R5s a bordo também. É poderoso, compacto e muito divertido de brincar. Neste artigo, vamos desembalar o kit de desenvolvimento e passar por todas as necessidades para colocar o Ubuntu 22.04 em funcionamento sem demora.
O kit de desenvolvimento Kria KV260 não vem pré-carregado com um sistema operacional como um computador de mesa. O mesmo acontece com um Raspberry Pi ou a maioria dos outros dispositivos embarcados. A expectativa é que o usuário grave o sistema operacional em um cartão microSD e, então, execute o sistema operacional diretamente do cartão microSD (em vez da memória interna).
Para começar, idealmente, você vai querer um cartão microSD rápido. Eu, pessoalmente, escolhi o SanDisk Extreme com capacidade de 256 GB. No momento em que escrevi isso, me custou entre $20-30. Você definitivamente poderia optar por uma capacidade menor (ou seja, 64 GB ou até menos), mas eu gosto de ter o espaço extra e a diferença de preço era insignificante.
Ao longo deste artigo, estaremos seguindo o guia oficial da Xilinx, mas há algumas armadilhas que eu estarei apontando durante o processo. No momento em que este artigo foi escrito, o kit inicial Kria KV260 não vinha com o firmware mais recente. Para rodar o Ubuntu 22.04, eu precisei atualizar o firmware primeiro de acordo com este documento. Navegue até esta página da web para baixar o Ubuntu 20.04 e depois siga as instruções aqui para gravar o seu cartão SD usando Balena Etcher.
Antes de ligar a placa, há algumas coisas que precisamos fazer para começar. Se você não comprou o pacote de acessórios para o kit de desenvolvimento, precisará de uma fonte de alimentação. Esta placa requer uma fonte de energia de 12V com uma corrente máxima de 3A. A maioria dos adaptadores AC que você encontra por aí vem com um plugue de barril de 2,1mm. O kit de desenvolvimento Kria KV260, no entanto, usa um plugue de barril de 2,5mm. Em vez de trocar o jack de barril de 2,5mm, comprei um cabo macho para fêmea de 2,5mm, cortei ao meio, desencapei as pontas e conectei à minha fonte de alimentação. Como você pode ver abaixo, o consumo inicial ao ligar foi de 0,68A.
Figura 1: Ligação inicial e consumo de energia
Conforme mencionado nas instruções, se você conectar um cabo USB a micro USB do seu computador à placa, poderá assistir ao bootloader iniciando o sistema operacional através do seu terminal serial favorito (por exemplo, TeraTerm ou Putty). Você também vai querer garantir a inserção do seu cartão microSD, cabo de vídeo (DisplayPort ou HDMI), teclado e mouse para ter a experiência completa. Ligue o dispositivo e aguarde o GNOME carregar no seu monitor.
Figura 2: Tela de login após o início do GNOME (Ubuntu 20.04)
Uma vez que o GNOME inicie, será solicitado que você insira seu nome de usuário e senha. As credenciais de login padrão são:
nome de usuário: ubuntu
senha: ubuntu
Agora que o Ubuntu 20.04 está em funcionamento, podemos executar a utilidade de atualização de firmware. Você precisará baixar o arquivo Xilinx download - 2022.1_update3_BOOT.BIN da página de atualização de firmware diretamente no dispositivo ou por meio de algum outro mecanismo de transferência (por exemplo, pen drive USB). Achei mais fácil abrir o Firefox no próprio dispositivo e baixar o arquivo de flash. Tenha em mente que você precisará de uma conta AMD Xilinx (que é gratuita) para baixar este arquivo.
Para executar a atualização de firmware, você primeiro precisará instalar a utilidade de atualização conforme documentado aqui. Abra um terminal (clicando nos 9 pontos no canto inferior esquerdo, digitando Terminal na barra de pesquisa e clicando no ícone do Terminal). Execute o seguinte comando:
sudo snap install xlnx-config --classic --channel=1.x
Uma vez que a utilidade tenha sido instalada, podemos executar o script de atualização de firmware:
sudo xlnx-config --xmutil bootfw_update -i <caminho para boot.bin>
Como usei o firefox para baixar o arquivo bin, meu comando completo é:
sudo xlnx-config --xmutil bootfw_update -i ~/Downloads/BOOT_xilinx-k26-starterkit-v2022.1-09152304_update3.BIN
O processo de atualização do firmware deve começar e relatar assim que tiver concluído. Após a conclusão, você pode desligar o dispositivo (botão de energia no canto superior direito), desligá-lo e remover o seu cartão SD em preparação para flashá-lo com o Ubuntu 22.04.
Agora voltamos ao Balena Etcher e flashamos nosso cartão microSD com Ubuntu 22.04. O processo é exatamente o mesmo que com o Ubuntu 22.04, mas a tela de login tem uma aparência um pouco diferente.
Figura 3: Tela de login após o início do GNOME (Ubuntu 22.04)
É a mesma coisa, no entanto. Você só precisa inserir "ubuntu" como nome de usuário/senha e, voilà, está feito! Pode levar um ou dois minutos para carregar completamente, mas depois disso, você está pronto para começar a brincar com seu kit de desenvolvimento Kria KV260.
Neste artigo, desembalamos e configuramos o Kit Inicial de Visão AI Kria KV260 da Xilinx. Revisamos alguns aspectos importantes do hardware, aprendemos como gravar o cartão microSD com diferentes versões do Ubuntu e examinamos detalhadamente como atualizar corretamente o firmware dos SoMs. Neste ponto, você deve estar configurado com o Ubuntu 22.04 e mergulhar em alguns exemplos, incluindo o Aplicativo de Câmera Inteligente e outros recursos.