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.

2
Deixe um comentário

avatar
 
2 Comment threads
0 Thread replies
1 Followers
 
Most reacted comment
Hottest comment thread
2 Comment authors
Rodrigo Duarte PechoneriVinicius Maciel Recent comment authors
  Notificações  
recentes antigos mais votados
Notificar
Rodrigo Duarte Pechoneri
Membro

Parece muito interessante principalmente pela integração com o Pelion

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.