Criando uma distribuição Linux Embarcado com Yocto para RZ/A1 da Renesas

Yocto para RZA1

Apresentamos no artigo anterior uma introdução da família de microprocessadores RZ/A1 da Renesas, detalhando suas principais características. Neste post iremos mostrar um tutorial completo de como gerar uma distribuição customizada de Linux Embarcado com Yocto para RZ/A1 da Renesas.

E essa distribuição será executada diretamente na memória Flash serial QSPI do kit, usando execute in place (XIP), disponível no microprocessador, sem a necessidade da imagem ser copiada para a memória RAM e ser então executada.

Inicialmente vamos apresentar o hardware utilizado.

Hardware

O kit utilizado para este tutorial é o RSK+RZA1 (Renesas Starter Kit para RZ/A1), que possui as seguintes características:

  • SoC RZA1H – R7S721001
  • NAND Flash: 256MB (mas somente 64MB é endereçável)
  • SDRAM: 32MB (IC24 no esquemático)
  • NOR Flash: 16MB (IC23 no esquemático)
  • Duas memórias Flash serial QSPI de 64MB cada (IC25 e IC26 no esquemático).

Confira alguns links úteis para estudo do kit:

O microprocessador possui uma memória SRAM on-chip de 10MB, e essa quantidade pode ser expandida usando a memória SDRAM externa de 32MB. No entanto, existe uma restrição na placa: usa-se ou a memória SDRAM externa ou a memória NOR externa. Veja as configurações necessárias:

  • SDRAM: JP18 aberto e chave 3 do conector SW6 precisa estar em ON;
  • NOR Flash: JP18 fechado e chave 3 do conector SW6 precisa estar em ON.

São disponibilizados os seguintes dispositivos de boot possíveis:

  • NOR Flash;
  • QSPI Flash;
  • NAND Flash.

A seleção desse dispositivo é feita configurando o boot mode do RZ/A1H, indicado pela combinação dos pinos MD_BOOT0, MD_BOOT1 e MD_BOOT2, controlados pelo switch SW6 da placa.

Veja a configuração das chaves do conector SW6 e do jumper JP18 para seleção do dispositivo de boot:

Conector SW6

JP18

Dispositivo de boot

MD_BOOT0

Switch 1

MD_BOOT1

Switch 2

MD_BOOT2

Switch 3

ON

ON

Fechado

NOR Flash

OFF

ON

OFF

QSPI Flash

OFF

OFF

OFF

NAND Flash

Para usar a memória Flash serial QSPI como dispositivo de boot, fazendo uso do execute in place (XIP), precisamos ajustar o hardware da seguinte forma:

  • JP18 fechado e;
  • conector SW6 (chaves 1 a 6) precisa estar com a configuração OFF, ON, OFF, ON, ON e ON.

Agora chegou a hora de trabalharmos em cima da distribuição Linux Embarcado!

Software – Distro Linux construída com Yocto para RZA1

Existe uma página que reúne todos os tutoriais de software disponíveis para este kit, onde é possível fazer o download do documento AppNote: RZ/A1 Yocto Meta Layer. Esse indica todos os passos necessários para se criar e gravar uma distribuição Linux Embarcado com Yocto para RZA1. Ele foi utilizado como base para este tutorial.

A Renesas possui um layer oficial para seus BSPs, chamado meta-renesas-rza1.

Na época da escrita deste artigo, a versão de Yocto suportada é o fido.

Precisamos criar uma estrutura de diretórios para seguir o tutorial. Siga então os seguintes passos:

Altere o arquivo de configuração conf/local.conf para conter as seguintes variáveis:

Altere a variável BBLAYERS dentro do arquivo de configuração de layers conf/bblayers.conf:

Execute o seguinte comando para criar todas as imagens necessárias:

Veja a configuração de build resultante:

Veja os binários gerados pelo build em build-fido-renesas-rza1/tmp/deploy/images/rskrza1-xip:

Gravação dos binários

Para gravação dos binários na memória Flash (serial QSPI) vamos precisar seguir alguns passos. Veja a seguir.

Download dos scripts

É preciso usar ferramentas da Renesas para gravação. Faça o download dos scripts com estes comandos:

Segger Lite JTAG Adapter

Vamos precisar do Segger Lite JTAG Adapter, que acompanha o kit RZ/A1 RSK. Além disso, é necessário instalar o driver J-Link, que pode ser obtido no site da Segger. No momento da escrita deste artigo foi utilizada a versão 5.12c no Ubuntu 14.04 64 bits.

Cópia dos binários

Agora que todas as ferramentas foram instaladas, precisamos indicar quais binários devem ser utilizados pelos scripts para gravação. Execute os seguintes comandos:

Gravação dos binários

O último passo é gravar os binários acima na memória do microprocessador. Conecte o adaptador Segger Lite JTAG e ligue a placa. Em seguida, execute os seguintes comandos:

As seguintes opções devem ser exibidas:

Siga a seguinte sequência: 1, 2, 4, 5, 9.

Depois de gravadas todas as imagens, desligue a placa, remova o adaptador JTAG e conecte o cabo USB do seu PC no conector CN18, para monitoramento do console serial.

Inicie no seu PC seu monitor de serial preferido (minicom, picocom, etc) e ligue a placa. Assim será possível visualizar os dados de boot impressos na porta serial. Se usar minicom, execute o seguinte comando:

Durante o boot do bootloader, pressione “Enter” para ter acesso ao seu console. Insira os seguintes comandos:

Veja o boot da placa abaixo:

Veja que a memória RAM usada é a interna do SoC, de 10MB.

Executando o comando “top”:

Visualizando o conteúdo do arquivo /proc/meminfo:

* Este post foi patrocinado pela Renesas e escrito por Henrique Rossi.

Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.

Receba os melhores conteúdos sobre sistemas eletrônicos embarcados, dicas, tutoriais e promoções.

Linux Embarcado » Criando uma distribuição Linux Embarcado com Yocto para RZ/A1 da Renesas
Comentários:
Notificações
Notificar
guest
0 Comentários
Inline Feedbacks
View all comments
Talvez você goste:

Séries

Menu

WEBINAR
 
Porque o RTOS não faz o que eu quero?

Data: 28/10 às 19:30h - Apoio: Mouser Electronics
 
INSCREVA-SE AGORA »



 
close-link