Plataforma i.MX6 SoM Turing

SoM Turing

Introdução

 

Manutenabilidade e escalabilidade são características muito perseguidas por equipes de engenharia de desenvolvimento, seja no Brasil, seja em qualquer lugar. Novidades em famílias de microprocessadores surgem muito rapidamente e ter que adaptar um produto já em campo, ou que está em fase final de desenvolvimento, para cada nova mudança é muito custo para uma empresa.

 

Para ajudar na solução desse tipo de problema surgiram o que conhecemos atualmente como SoM (System On Module), capaz de abstrair o conceito de computador e “esconder” o microprocessador real que o compõe.

 

Dessa forma a equipe de engenharia de desenvolvimento pode focar em interfaces e periféricos, e apresentar soluções muito mais rápidas para o mercado.

 

 

Plataforma i.MX6 SoM Turing

 

Uma das soluções existentes de SoM é a plataforma TC-IMX6X da Turing Computer. Esse computador em módulo de tamanho reduzido (67.6mm x 51.5mm) é uma opção robusta e de baixo custo, concebida para proporcionar alto desempenho e versatilidade para seus projetos.

 

Possui versões escaláveis que vão desde 512MB a 2GB de DDR RAM e de 4GB a 8GB de eMMC Flash. Veja abaixo o diagrama de blocos desse produto.

 

diagrama de blocos imx6x

 

Confira abaixo os módulos i.MX6 SoM Turing disponíveis:

 

módulos imx6x da turing

 

Para facilitar o desenvolvimento com esse SoM, para prototipagem e testes em geral da plataforma, é disponibilizada uma placa mãe de periféricos, além de duas placas de expansão: uma de conectividade 3G e outra de display. Há ainda um kit de desenvolvimento completo oferecido, como exibido abaixo.

 

i.MX6 SoM Turing kit

 

Evaluation boards: Confira aqui.

 

Tendo em mãos um SoM TC-IMX6Q0204-C (i.MX6 Quad Smart, com 1GB DDR3 e 4GB e-MMC) e uma placa mãe TC-IMX-EVAL-KIT vou mostrar como criar uma distro mínima com Qt5 usando Yocto Project e uma aplicação gráfica simples.

 

 

Gerando uma distro com Yocto Project

 

O seu sistema host precisa oferecer os seguintes pré-requisitos:

  • PC Linux (recomendado Ubuntu 14.04);
  • 4GB RAM (recomendado 8GB);
  • 100GB de espaço livre em disco (recomendado);
  • 16GB de área de linux-swap.

 

Os seguintes pacotes precisam ser instalados no seu PC (Ubuntu 14.04):

 

 

Download do código fonte

 

É preciso ter instalado no seu host a ferramenta repo:

 

Download do BSP

 

 

Depois de realizado o download do repositório completo, é preciso setar o ambiente do shell:

 

Como estamos utilizando neste artigo uma variante Smart (TC-IMX6Q0204-C), que possui memória reduzida, precisamos alterar o nome da machine utilizada de imx6x-turing para imx6x-turing-smart, em build/conf/local.conf:

 

Para criar uma imagem mínima, pode usar o seguinte comando:

 

Porém, queremos uma imagem com suporte a Qt5. Para isso, construa a seguinte imagem:

 

Verifique que todos os códigos para build são guardados em turing-bsp/sources e as imagens geradas em turing-bsp/build/tmp/deploy/images/imx6x-turing-smart.

 

Grave num uSD-Card a imagem gerada. Assumindo que o seu uSD-Card corresponda ao device /dev/sdb em seu host, execute o seguinte comando:

 

Uma vez terminado o processo, faça um teste desse uSD-Card no kit. Por padrão, ao final do processo de boot, é executada a aplicação de testes Qt5 Cinematic Experience, que é um exemplo bastante interessante para explorar os diversos recursos da plataforma usando aceleração gráfica por hardware.

 

Qt5 Cinematics Experience
Qt5 Cinematics Experience

 

 

Criando uma aplicação de demonstração

 

Para criar uma aplicação Qt5 nova, vamos criar uma nova receita e novo layer no Yocto Project. Para isso, vamos criar uma nova pasta (meta-custom) dentro de sources com o seguinte conteúdo:

 

layer.conf:

 

qt-helloworld_1.0.bb:

 

qt_hello_world.cpp:

 

qt_hello_world.pro:

 

É necessário informar para o build system onde está o novo layer. Para isso, adicione uma linha no arquivo build/conf/bblayers.conf, alterando a variável BBLAYERS e indicando o layer meta-custom:

 

Indique também que a nova aplicação deve ser compilada e instalada na imagem gerada, adicionando a seguinte linha no arquivo conf/local.conf:

 

Gera a nova imagem com o mesmo comando anterior:

 

Grave a nova imagem no uSD-Card e execute em linha de comando a nova aplicação:

 

Pronto!! Você vai ver uma janela simples com um botão no meio.

 

app rodando no kit turing

 

Espero que tenham gostado do review do kit e fiquem à vontade para deixarem seus comentários.

 

(*) este post foi patrocinado pela Turing Computer

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.

Henrique Rossi
Engenheiro eletricista com ênfase em eletrônica e pós-graduado em Engenharia de Software. Comecei um mestrado, mas o interrompi. Especialista na área de sistemas embarcados, com mais de 12 anos de experiência em desenvolvimento de firmware (sistemas baremetal e baseados em RTOS) e Linux Embarcado. Atualmente sou administrador do site Embarcados, trabalho num fabricante de Set-Top Box e atuo como consultor/desenvolvedor na área de sistemas embarcados.

Deixe um comentário

avatar
 
  Notificações  
Notificar