Amazon FreeRTOS, núcleos heterogêneos e os novos Apalis e Colibri iMX8

Amazon compra FreeRTOS

O FreeRTOS é um sistema operacional de tempo real para dispositivos embarcados. Desenvolvido desde 2003, é o sistema operacional de tempo real líder de mercado, tendo sido portado para mais de 40 arquiteturas de microcontroladores. Em 29 de Novembro de 2017 a Amazon adquiriu o FreeRTOS e anunciou o Amazon FreeRTOS (ou a:FreeRTOS), um sistema operacional de tempo real baseado no FreeRTOS e focado em dispositivos conectados e de baixo consumo.

A Amazon parece estar interessada em integrar o sistema operacional de tempo real mais utilizado – que, consequentemente, tem uma ampla base de usuários – com seus serviços de nuvem, como o AWS IoT Core e o AWS Greengrass. Após a aquisição, a Amazon lançou a versão 10 do FreeRTOS. Junto com novas funcionalidades como bibliotecas para conectividade com nuvem e edge, a licença do kernel foi modificada de uma versão da GNU General Public License (GPL), que o FreeRTOS usava anteriormente, para a licença MIT, mais permissiva. Isso significa que o FreeRTOS ainda é um produto separado e pode ser usado livremente, com ou sem os serviços da Amazon.

Por que isso é relevante: Processamento Multicore Heterogêneo (Heterogeneous Multicore Processing – HMP)

A Toradex oferece os computadores em módulo Colibri iMX7 e Colibri VF61. Estes produtos são baseados nos SoC i.MX7 e Vybrid da NXP®, respectivamente. Os processadores destes módulos possuem um núcleo ARM® Cortex-A, geralmente rodando um sistema operacional como Linux embarcado; e um núcleo de microcontrolador ARM® Cortex-M4, que pode rodar código bare-metal ou um sistema operacional de tempo real como o FreeRTOS. Alguns casos de uso para essa configuração são:

  • Tempo real: Se sua aplicação possui requerimento de hard real-time, isso pode ser implementado usando o núcleo Cortex-M4 rodando FreeRTOS.
    • Sistemas de controle: O núcleo Cortex-M4 pode ser utilizado como controlador para um sistema dinâmico, rodando, por exemplo, um controlador PID, aliviando a carga do núcleo Cortex-A rodando Linux, que, por sua vez, pode ser usado para mostrar uma interface homem-máquina.
    • Aquisição de dados: Em aplicações que utilizam conversor analógico-digital, o núcleo Cortex-M4 pode ser usado para aquisição de dados a taxas de amostragem mais altas com mais facilidade, também aliviando o outro núcleo.
  • Baixo consumo: O núcleo Cortex-M4 pode ser utilizado como um núcleo de baixo consumo para economizar energia em aplicações alimentadas por baterias. Enquanto o núcleo microcontrolador está rodando, o núcleo Cortex-A pode ser desligado e acordado somente quando necessário.

Um exemplo de aplicação que usa o computador em módulo Toradex Colibri iMX7 é um robô que se equilibra sozinho chamado TAQ, desenvolvido em parceria com Antmicro e Qt. O robô roda Linux embarcado no núcleo Cortex-A7, mostrando animações do “rosto” do robô e dados dos sensores recebidos do núcleo Cortex-M4. O núcleo Cortex-M4 roda FreeRTOS, capturando dados de sensores como acelerômetro e giroscópio e utilizando-os para controlar o sistema dinâmico por meio de um controlador PID e um filtro de Kalman. Os núcleos se comunicam via RPMsg. Um módulo de Kernel no Linux cria uma interface serial virtual que se conecta ao Cortex-M4; a troca de dados é feita escrevendo e lendo neste dispositivo serial, da mesma forma que seria feito se fosse um periférico serial físico.

Os códigos-fontes para este demo são abertos e podem ser encontrados aqui (aplicação Linux, interface de usuário) e aqui (firmware para Cortex-M4).

O Toradex Colibri iMX7 também foi usado em um tablet para demonstração de uma aplicação de baixo consumo, como mostrado no vídeo abaixo. Esta demo usa aquisição e visualização de dados de sensores enquanto, independentemente, o consumo de energia é mostrado em um display LCD separado ligado ao núcleo microcontrolador.

A Toradex suporta e mantém um repositório do FreeRTOS para seus computadores em módulo. Vários exemplos e drivers para periféricos estão incluídos e prontos para uso.

No Toradex Developer Center você pode encontrar artigos que mostram como rodar exemplos e começar a desenvolver com FreeRTOS.

Assista nossos webinars para mais informações sobre desenvolvimento de sistemas multicore heterogêneos.

Como se não bastasse toda essa documentação, o time da Toradex Brasil ainda criou um Getting Started passo a passo para te ajudar a começar a trabalhar em sua solução de forma rápida e eficiente com o HMP.

O que o futuro reserva?

No lado de software:

Há vários novos players no mercado de RTOS. Em 2016, a Wind River Systems e a Linux Foundation lançaram o Zephyr, um sistema operacional de tempo real também focado em dispositivos pequenos e conectados, focando no mercado IoT. O computador em módulo Toradex Colibri iMX7 é oficialmente suportado pelo Zephyr, com desenvolvimento contínuo.

No lado de hardware: os novos computadores em módulo Apalis e Colibri baseados no i.MX 8 da NXP

A Toradex acaba de lançar a fase de acesso antecipado do seu novo computador em módulo, o Apalis iMX8. Este poderoso sistema em módulo é baseado no processador de aplicações i.MX 8QuadMax (i.MX 8QM) da NXP, possuindo dois núcleos ARM® Cortex-A72, quatro núcleos Cortex-A53 e dois núcleos Cortex-M4. Com 4 GB de RAM LPDDR4 e 16 GB de armazenamento eMMC Flash, o módulo também possui WiFi dual-band (802.11ac) e Bluetooth (Bluetooth 5-ready) integrados. Este módulo também é ideal para aplicações de visão computacional: ele possui duas GPUS Vivante GC7000, que suportam Vulkan e OpenGL ES.

Os dois núcleos Cortex-M4 abrem diversas possibilidades: você pode rodar duas aplicações ou sistemas operacionais de tempo real independentemente para balancear uma aplicação de processamento de dados; ou utilizar um núcleo para aquisição de dados de sensores e outro para pós-processamento. Os núcleos microcontrolados também podem ser usados como um fallback de segurança para um display gráfico, ou ainda para apresentar animações de boot em vez de imagens estáticas.

A Toradex apresentou um demo do Apalis iMX8 na Embedded World 2018. Confira neste vídeo, juntamente com outras interessantes demos de parceiros.

Se você estiver interessado em participar do programa de Early Access do iMX8QM, inscreva-se para receber updates sobre o produto nesta página.

Em breve: Colibri iMX8

A família Colibri também receberá uma atualização: A Toradex lançará em breve o computador em módulo Colibri iMX8. Baseado no i.MX 8X da NXP, ele também terá uma arquitetura com núcleos heterogêneos, com um núcleo Cortex-M4 e quatro núcleos Cortex-A35. Fique ligado para mais informações deste lançamento!

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.

Hardware » Sistemas Digitais » Amazon FreeRTOS, núcleos heterogêneos e os novos Apalis e Colibri iMX8
Comentários:
Notificações
Notificar
guest
0 Comentários
Inline Feedbacks
View all comments
Talvez você goste:

Séries

Menu