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

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
, ,
Comentários:
Notificações
Notificar
guest
0 Comentários
Inline Feedbacks
View all comments
Talvez você goste:

Séries

Menu

EVENTO ONLINE

Simplificando seus projetos de Internet das coisas com o iMCP HT32SX Sigfox

DATA: 18/05 às 15:00h