Na semana passada, dia 18 de Abril, a Microsoft anunciou a compra da empresa Express Logic, que desenvolve e vende um RTOS (Real-Time Operating System) criado em 1996. O RTOS ThreadX, criado pela Express Logic, é um dos mais tradicionais do mercado, ocupa 2 KB de espaço e está rodando principalmente em sistemas embarcados com microcontroladores de 32 bits ou 64 bits. Segundo a Express Logic, mais de 6,2 bilhões de dispositivos já nasceram com o ThreadX.
Além do ThreadX, a Plataforma da Express Logic, chamada de X-Ware IoT Platform, inclui pacotes modulares de software que podem ser utilizados separadamente conforme o projeto de sistema criado pelo usuário. Entre os pacotes destacam-se o suporte a sistema de arquivos para utilização em Sistemas Embarcados, FileX, uma Interface com Usuário chamada GUIX, conectividade com a nuvem e protocolo TCP/IP através da NetX/NetX Duo e suporte a stack USB (USBX).
Apesar de não ser open source, o licenciamento é feito através do fornecimento de código fonte completo para a empresa ou instituição que desenvolve produtos utilizando o RTOS. Várias licenças estão disponíveis para compra, entre elas:
- Single Product License
- Single Product – Extended Branding
- Product Family License
- Microprocessor License
- OEM License
- Custom License
Esse movimento da Microsoft indica que ela está preocupada também com proporcionar uma fácil conectividade à sua nuvem IoT Azure, quando os sistemas forem criados com microcontroladores. No ano passado, a Microsoft já tinha anunciado a plataforma Azure Sphere, uma solução de software e hardware (parceria com a MediaTek) para possibilitar a construção de dispositivos IoT de forma mais rápida. Apesar do core ARM Cortex-A7 ser de baixo consumo se comparado aos processadores da Intel X86 que têm suporte aos OSs da Microsoft, ainda assim, são sistemas bem sofisticados. Do lado do software, para o desenvolvimento das aplicações com o Azure Sphere Operating System, a Microsoft disponibilizou uma ferramenta baseada no compilador GCC que inclui uma extensão do Visual Studio. Veja no link. Agora a Microsoft anuncia que também quer suportar dispositivos com extremo baixo consumo e com velocidade de processamento baixa à sua nuvem, e podemos esperar que uma integração do Azure IoT Hub com o RTOS ThreadX, com conexão segura e feita de forma mais facilitada está por vir.
Portanto, a Microsoft disponibilizando ThreadX, Azure Sphere e Azul Sphere Operating System, Windows 10 IoT Core, Azure IoT Device SDK, Azure IoT Edge, Azure IoT Hub, oferece uma série de softwares e plataformas de conectividade e hardware para IoT e expande muito seu alcance em hardwares com arquitetura RISC V e ARM. A compra da Express Logic mostra então o desejo da Microsoft de alcançar mesmo dispositivos com poder de processamento baixo e que desempenham tarefas específicas, com hardware limitado. Assim como a Amazon, quando anunciou a compra do FreeRTOS para integração à sua plataforma AWS Greengrass e AWS IoT Core, a Microsoft também dá um importante passo para aumentar consideravelmente o número de dispositivos conectados à sua nuvem e pega carona na popularidade do RTOS ThreadX. Veja link
Arquiteturas suportadas pelo RTOS ThreadX
Sobre os hardwares habilitados para desenvolvimento de soluções utilizando o RTOS, veja a seguir a lista de arquiteturas suportadas pelo RTOS ThreadX da Express Logic no momento em que a Microsoft anuncia sua compra:
- ARM
- ARM7, ARM9, ARM11, Cortex-M, Cortex-R, Cortex-A, Cortex-Axx 64-bit, TrustZone ARMv8-M
- AndesCore
- RISC-V
- Analog Devices
- Blackfin BF5xx, BF6xx, BF7xx, SHARC, CM4xx
- Ambiqmicro
- Apollo MCUs
- Cadence
- Xtensa
- Diamond
- CEVA
- TeakLite-III
- Cypress
- PSoC, PSoC 4, PSoC 5, PSoC 6, FM0+, FM3, FM4, WICED WiFi
- EnSilica
- eSi-RISC
- Infineon
- XMC1000, XMC4000, TriCore
- Intel & Intel FPGA
- ARM (Cyclone SOC, Arria 10 SOC), NIOSII, x86PM
- Microchip
- ARM (SAM), AVR32, PIC24, PIC32
- Microsemi
- RISC-V
- NXP
- ARM (LPC, i.MX, Kinetis), 68K, Coldfire, PowerPC
- Renesas
- ARM (Synergy, RZ), H8/300H, RX, SH, V850
- Silicon Labs
- EFM32
- ST
- STM32
- Synopsys
- ARC 600, 700, ARC EM, ARC HS
- Texas Instruments
- ARM (Tiva-C, Sitara, OMAP), C5xx, C6xx
- Wave Computing
- MIPS32 4Kx, 24Kx, 34Kx, 1004K, microAptiv, interAptiv, proAptiv, M-Class
- Xilinx
- ARM (Zynq, Zynq UltraSCALE), MicroBlaze, PowerPC
Para saber mais sobre o ThreadX no Embarcados:
Synergy e ThreadX: Introdução à multitarefa, Por Fábio Pereira
Synergy e ThreadX: Explorando a estrutura básica do RTOS, Por Fábio Pereira
Synergy e ThreadX: Recursos compartilhados e Mutex, Por Fábio Pereira
Vai ter tela azul no ThreadX?
Microsoft confirmou que sim.