Conheça o Arm Mbed Linux OS

Arm Mbed Linux OS

A ARM possui, hoje, uma plataforma de desenvolvimento de aplicações embarcadas voltada (mas não limitada apenas) para produtos de Internet das Coisas, IoT. A essa solução é dado o nome Mbed. Ela é composta por um compilador (on-line ou off-line), um sistema operacional de tempo real (Mbed OS), serviços na nuvem e ferramentas para o desenvolvedor criar projetos. E agora a ARM acaba de anunciar que esta trabalhando (ainda não foi lançado) num outro sistema operacional para IoT, o ARM Mbed Linux OS.

 

Dificuldades atuais no desenvolvimento de projetos

 

Atualmente a ARM possui na sua prateleira de produtos o Mbed OS, um sistema operacional de tempo real (RTOS) open-source desenvolvido especificamente e unicamente para microcontroladores baseados na família de cores ARM Cortex-M. Esse RTOS inclui características muito importantes para se criar um projeto no segmento de IoT, oferecendo segurança (criptografia), conectividade (Wi-Fi, Zigbee, Bluetooth, 6LoWPAN, Thread, etc) e drivers para diversos periféricos/sensores.

 

No entanto, ele foi desenvolvido para sistemas que possuem restrições de processamento e armazenamento. Além disso, projetos que apresentam tais características tendem a percorrer um caminho complicado (às vezes doloroso) desde sua concepção até sua implantação em campo. Podemos citar então algumas dificuldades.

 

Ambientes de execução de código

 

Microcontroladores da família ARM Cortex-M não oferecem características de segurança intrínsecas ao core, podendo contar somente com engines adicionados por fabricantes de chips, como hardware dedicado para criptografia, tampering estático e dinâmico, e outros. Exceções à regra, agora, são os cores Cortex-M35P, Cortex-M33 e Cortex-M23. Esses, por serem baseados na arquitetura Armv8-M, possuem suporte no core à tecnologia ARM TrustZone, o que oferece uma isolação forçada via hardware entre recursos  "trusted" e "untrusted" (numa tradução direta, "confiáveis" e "não confiáveis", respectivamente).

 

Com isso precisa-se criar níveis de segurança via software para atender requisitos de segurança específicos, o que pode gerar overhead. Além disso, sem a implementação de alguma unidade de gerenciamento de memória, como uma MMU (Memory Management Unit), a qual é presente em sistemas com microprocessadores, tem que ser muito bem controlado o acesso de aplicações em áreas não permitidas (novamente, via software).

 

Manutenibilidade

 

Um sistema baseado em microcontrolador tende a ter uma solução muito customizada e controlada, podendo oferecer dificuldades na sua implantação e manutenção em campo. Vamos tomar como exemplo a implementação de atualização remota. A atualização de um dispositivo com recursos limitados precisa ser muito bem gerenciada a nível de software (o binário de atualização provavelmente deve conter a aplicação completa, nao sendo modular) e hardware (com recursos limitados).

 

Time-To-Market

 

Existe a chance de uma stack de software em específico ser necessária para um projeto e ela não existir implementada para o microcontrolador utilizado, o que demanda um esforço adicional para a equipe de engenharia.

 

Esses são só alguns exemplos de conceitos não-funcionais que devem ser considerados num projeto. Mas como a solução com Linux resolve isso?

 

Por que usar o ARM Mbed Linux OS?

 

Dado que o custo de microprocessadores baseados no core ARM-Cortex A tem diminuído, tem-se considerado o uso da solução Mbed OS neles. Mas para isso é necessário criar uma solução que consiga tirar proveito de suas características. Foi aí que nasceu o Mbed Linux OS!

 

O uso em conjunto de um microprocessador poderoso e um sistema operacional de uso genérico proporciona o aumento de carga de um dispositivo IoT, fazendo com que ele possa atuar de forma mais autônoma e com menos demanda de conexão com dispositivos superiores na hierarquia, como gateways e serviços na nuvem.

 

Esse novo sistema operacional vai usar o kernel Linux como base e ser distribuído na forma de receitas do Yocto Project. Nasce com uma integração muito forte com Pelion IoT Platform, simplificando o gerenciamento dos dispositivos IoT.

 

Arm Mbed Linux OS
Fonte: https://os.mbed.com/blog/entry/Introducing-Arm-Mbed-Linux-OS/

 

Como este é um pré-anúncio oficial, caso queira acompanhar o desenvolvimento do Arm Mbed Linux OS inscreva-se aqui. Vai ser liberada uma versão preview para desenvolvedores até o final deste ano e espera-se que na primavera do próximo ano, 2019, seja liberada a primeira versão pública.

 

O que acharam dessa nova solução da ARM? Acham que terá futuro? Deixem seus comentários no post.

 

Saiba mais

 

Curso mbed e FRDM KL25Z da NXP

RTOS mbed OS: O RTOS da ARM

mbed OS: Primeiros passos

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.

1
Deixe um comentário

avatar
 
1 Comment threads
0 Thread replies
1 Followers
 
Most reacted comment
Hottest comment thread
1 Comment authors
Vinicius Maciel Recent comment authors
  Notificações  
recentes antigos mais votados
Notificar
Vinicius Maciel
Visitante
VINICIUS FREIRE MACIEL

Ótimo artigo Henrique. Se tiver suporte para tempo real nativo vai ser muito bom! Mas algo do nível do Xenomai.