ÍNDICE DE CONTEÚDO
No último dia 30 de agosto de 2016, a Toradex realizou no escritório da NXP Brasil o lançamento oficial no Brasil dos mais novos integrantes da família de módulos Colibri, o Colibri iMX7S e o Colibri iMX7D. Estes novos módulos são baseados nos novos SoCs i.MX 7 da NXP. A Toradex foi selecionada como parceira da NXP para ser uma “early adopter“ deste SoC, e, portanto, uma das primeiras empresas do mercado de embarcados a oferecer o mesmo para o público. O novo SoC é uma evolução da linha i.MX 6 e além de possuir recursos avançados de segurança e a abordagem de multicore heterogêneo, sua principal característica é o baixíssimo consumo.
O NXP SoC i.MX 7
Durante o evento, o FAE da NXP, Bruno Castelucci, apresentou o novo processador inicialmente comentando que as linhas i.MX 7 e i.MX 8 são a evolução natural da família i.MX 6. A família i.MX 7 é destinada a aplicações onde não são necessários recursos de multimídia avançados, mas sim aplicações onde as principais preocupações são com segurança e consumo. Entretanto, isso não significa que ele não tem capacidade de fazer gráficos, pelo contrário, ele pode chegar a uma resolução de 1920×1080 e processar interfaces de usuário simples com tranquilidade.
Em seguida, Bruno apresentou os dois processadores existentes e suas principais características de acordo com o diagrama de blocos de cada processador. Os slides da apresentação você confere abaixo. Para mais informações sobre o processador, confira a página do i.MX 7 no site da NXP.
O Colibri iMX7S e Colibri iMX7D
Após a apresentação do SoC, Fernando Cola, engenheiro de vendas da Toradex Brasil, apresentou os seus novos produtos, Colibri iMX7S e Colibri iMX7D. Os módulos fazem parte da consagrada família de módulos ARM pino compatível da Toradex chamada Colibri.
O fator de forma Colibri corresponde a Computadores em módulo (também conhecidos como Sistema em Módulo) que são conectados a placa base através de um conector SODIMM 200. A linha de módulos Colibri permite que os desenvolvedores se beneficiem de um escalonamento de desempenho que vai de um ARM Cortex-A5 operando em 400MHz até um ARM Cortex-A9 QuadCore em 1,3GHz. Este escalonamento diminui o risco de desenvolvimento pois possibilita que o desenvolvedor tenha a liberdade de migrar para configurações mais ou menos potentes sem maiores modificações no projeto. Ainda no âmbito do projeto, o desenvolvimento de placa base para a família Colibri é facilitado (confira um webinar aqui) sendo que as placas base da Toradex, além de serem vendidas como um produto de prateleira, tem toda sua documentação e projeto aberto para o cliente modificar e fazer sua própria placa base. Além disso existe uma ferramenta, chamada pinout designer tool, que ajuda a prever a compatibilidade entre os diversos módulos.
Os novos módulos Colibri iMX7S e Colibri iMX7D possuem 256MB e 512MB de RAM respectivamente e ambos apresentam já no módulo 512MB de NAND. Por ser um módulo de abordagem industrial, ele tem seu ciclo de vida até 2027 e o consumo é estimado em apenas entre 0,6W ~ 1,1W. O preço do módulo, conforme publicado no site da Toradex é de USD FOB 60 para a versão Single Core e USD FOB 65 para a versão Dual, ambos em volume unitário (podendo chegar até USD FOB 49 para altos volumes). Para saber sobre desconto em volume, confira o site da Toradex.
O Colibri iMX7 se encaixa na família Colibri como um módulo exatamente intermediário entre os Colibri Vybrid e os Colibri iMX6, o diagrama abaixo explora as principais diferenças entre eles.
Uma das principais características do processador i.MX7 é a abordagem multicore heterogênea. No processador, além de um (ou dois) processadores Cortex-A7, o i.MX7 apresenta um processador Cortex-M4, isto viabiliza que dois sistemas operacionais trabalhem em paralelo para cuidar de recursos diferentes do equipamento, um Linux roda no Cortex-A apresentando alta abstração, velocidade e agilidade na programação de tarefas como conectividade e interfaces, enquanto isso, no Cortex-M4 um RTOS, como FreeRTOS, ou uma aplicação Baremetal roda cuidando das partes de controle mais críticas e sensíveis a performance determinística.
Treinamento Introdução ao desenvolvimento de Sistemas Embarcados com abordagem Multicore Assimétrica iMX.7
Como parte do evento, foi realizado um treinamento “hands-on”, conduzido por Raul Muñoz, CTO da Toradex. Foi utilizada uma Iris Carrier Board com um Colibri iMX7S conectados a uma placa de interfaces feita no Brasil e Open Hardware pelo time da Toradex Brasil. Todo o treinamento foi realizado no Ubuntu e acessando a placa remotamente via rede. O desenvolvimento utilizou o ambiente Eclipse já configurado para esse treinamento.
Para quem tem interesse neste tópico, o Raul apresentará um webinar sobre o assunto no próximo dia 06/10/2016. A página para inscrição está aqui.
A placa de interface foi a mesma utilizada nos treinamentos Toradex com Sergio Prado, que está viajando por várias cidades atualmente. Ela é completamente open hardware e sua documentação pode ser encontrada no GITHUB dele:
O primeiro exemplo foi relativo ao piscar de um dos Leds da placa de interfaces com o Cortex A7, utilizando a apiSysClass para exportar, configurar e controlar os IOs da placa. Veja o github com o exemplo utilizado durante o treinamento.
No segundo exemplo, o Cortex M4 piscava o led. O formato desse firmware igual aos firmwares que estamos acostumados para microcontroladores. Veja o github com o exemplo utilizado durante o treinamento.
O próximo exemplo, o Exemplo 4 foi dedicado a leitura de um switch pelo M4.
O Exemplo 4 tratava de uma leitura de switch pelo A7. Clique no link do github abaixo para ver todos os arquivos utilizados durante o curso.
O Exemplo 5 foi dedicado a comunicação entre os dois cores, M4 e A7, utilizando a Multicore Communication library. No A7 utilizado um driver para que a comunicação ocorresse como se fosse com uma serial, tty. No M4 foi configurado para que sempre que recebesse uma mensagem, o core seria interrompido e atenderia aos dados que estariam chegando pelo túnel entre o Core M4 e o Core A7. Os dois links para o github, exemplo com o core M4 e com o core A7, estão a seguir.
Mais documentação a respeito da comunicação entre os diferentes Cores está disponível em:
Conclusão
Para finalizar o evento, os participantes tiveram a oportunidade de ver e discutir vários exemplos de aplicação que a Toradex preparou. Os vídeos destes exemplos estão abaixo:
Interfaces de usuário com Qt:
Demonstração de IoT com NodeJS e Microsoft Azure
Fast Boot com Linux Embarcado
Até a próxima!
(*) Este post foi patrocinado pela Toradex Brasil