Multicores assimétricos no desenvolvimento de sistemas embarcados – Parte 1

Multicore Communication library Multicores assimétricos prática Firmware M4

Introdução

Com o objetivo de auxiliar no desenvolvimento de produtos que façam uso de multicores assimétricos, baseado no computador em módulo Colibri VF61 (Freescale® Vybrid), esta série de artigos apresenta diversas instruções para guiar o leitor a construir uma imagem Linux para esse CoM, apresentando, no seu final, exemplos práticos.

Multicores Assimétricos: VF6xx Computer-on-Module
Figura 1 – Computador em módulo Colibri VF61 (Freescale Vybrid)

Linux Embarcado com multicores assimétricos

Nossos computadores em módulo possuem imagens Linux embarcado para suportar o desenvolvimento dos nossos clientes. Você pode encontrar todas estas informações, bem como nosso repositório de software, aqui.

Imagens pré-compiladas para os módulos Toradex

A primeira opção para instalar um Linux em um computador em módulo Toradex é realizar o download de uma imagem pré-compilada. Tais imagens contêm uma série de programas de demonstração e para garantir a melhor experiência para os clientes, portanto, trata-se de uma imagem bem completa. Portanto, dependendo da sua aplicação, existem diversos programas desnecessários. O ideal é que no desenvolvimento de seu produto você compile uma imagem específica com os componentes que você irá utilizar. As imagens de demonstração podem ser encontradas neste site.

Compilando sua própria imagem

Para gerar uma imagem Linux customizada para os módulos da Toradex, recomendados buscar as informações mais recentes no site de desenvolvimento da Toradex.

Atualmente as imagens são baseadas no OpenEmbedded, portanto, instale os softwares necessários:

Conforme o site de desenvolvimento da Toradex, é necessário instalar alguns outros programas:

Para facilitar o download dos “metas” necessários, utilizamos uma ferramenta chamada “repo”. Ela é responsável por sincronizar cada repositório com uma TAG específica possibilitando, assim, realizar a compilação com os repositórios corretos. Execute em seu host de desenvolvimento:

Com o “repo” instalado, crie a pasta onde será gerado o seu Build e comece o processo de sincronia:

Ao terminar o processo, é hora de gerar o Linux. O primeiro passo é executar o script para exportar todas as variáveis de ambiente:

Repare que após executar o script você será encaminhado para pasta build. Basicamente a estrutura de pastas geradas será:

Altere o arquivo build/conf/local.conf para selecionar sua “machine”. No nosso caso, “colibri-vf”:

Agora é a hora de compilar sua imagem. O processo de build deverá fazer o download de todos os códigos fontes, aplicar patch e compilar. Todo esse processo pode levar horas.

No final da compilação, as imagens finais serão encontradas no diretório:

O arquivo utilizado para atualização completa do módulo é:

Gerando o Cartão SD

Para instalar a imagem no módulo é necessário descompactar o arquivo gerado no tópico anterior com permissão “sudo”. Dentro da pasta extraída temos o script “update.sh”. Esse script irá gerar os arquivos no formato certo e irá copiá-los para um cartão SD FAT.

Entre no diretório extraído:

Execute o script update.sh com o caminho onde foi montado seu cartão SD:

Instalando na placa

Ligue a placa, utilizando o terminal serial, pressione alguma tecla durante os primeiros 3 segundos de boot para parar o UBoot.

Com acesso ao terminal de comandos do uBoot, coloque o cartão SD na placa e execute os seguintes comandos. Em seguida aguarde a atualização que ao finalizar reiniciará a placa.

Compilando e Instalando a “ToolChain”

Para utilizar a ToolChain, existem dois métodos: gerar sua própria “toolchain” ou instalar o arquivo de uma toolchain já gerada para sua imagem de Linux.

Para gerar sua própria “toolchain”, execute o comando na pasta build:

Ao terminar, o arquivo responsável por instalar a “toolchain” será encontrado em:

Execute o Script:

Aceite o path pedido e aguarde finalizar.

A “toolchain” estará no seguinte diretório:

Anote esse caminho, ele será usado diversas vezes para configurar o Eclipse:

Outros artigos da série

Multicores assimétricos no desenvolvimento de sistemas embarcados – Parte 2: Eclipse >>
Website | Veja + conteúdo

Raul Rosetto Muñoz é graduado em Engenharia Elétrica pela Universidade São Francisco. Desde 2008, tem trabalhando na área de sistemas embarcados. No começo da sua carreira trabalhou com desenvolvimento de software para microcontroladores. Nos últimos 8 anos, tem focado no desenvolvimento e customização de Linux embarcado. Atualmente é engenheiro de aplicação e vendas na empresa Toradex Brasil, empresa global com matriz na Suíça qual desenvolve computadores em módulo de alta performance.

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.

Comentários:
Notificações
Notificar
guest
0 Comentários
Inline Feedbacks
View all comments
Talvez você goste:

Séries



Outros da Série

Menu