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.

NEWSLETTER

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

Obrigado! Sua inscrição foi um sucesso.

Ops, algo deu errado. Por favor tente novamente.

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

Renesas Electronics Brasil
A Renesas Electronics Corporation (TSE: 6723), o Maior Fornecedor Global de Microcontroladores, é um líder no fornecimento de soluções avançadas de semicondutores, incluindo microcontroladores, soluções SoC e uma ampla gama de dispositivos analógicos e de potência. Suas operações começaram como Renesas Electronics em abril de 2010, através da integração da NEC Electronics Corporation (TSE: 6723) e Renesas Technology Corp., com operações abrangendo pesquisa, desenvolvimento, design e fabricação para uma ampla gama de aplicações. Com sede no Japão, a Renesas Electronics tem subsidiárias em cerca de 20 países do mundo. Mais informações podem ser encontradas em www.renesas.com.

Deixe um comentário

avatar
 
  Notificações  
Notificar