Núcleo RTOS - Nucleus RTOS
| Desenvolvedor | Mentor Graphics Corp., uma empresa da Siemens |
|---|---|
| Escrito em | C |
| Família de sistema operacional | POSIX , TRON |
| Estado de trabalho | Atual |
| Modelo fonte | Fonte fechada |
| lançamento inicial | 1993 |
| Último lançamento | 3.x, 02/02/2017 / 15 de maio de 2017 |
| Alvo de marketing | Sistemas embarcados , IoT |
| Disponível em | inglês |
| Plataformas | ARM , NXP , MIPS , TI , PowerPC , Altera Nios II , Xilinx MicroBlaze , Renesas SuperH , Infineon , Atmel AT91SAM , outros |
| Tipo de kernel | Monolítico em tempo real com suporte híbrido |
| Licença | Proprietário |
| Website oficial | www |
O Nucleus RTOS é um sistema operacional em tempo real (RTOS) produzido pela Embedded Software Division da Mentor Graphics , uma empresa da Siemens , que oferece suporte a plataformas embarcadas de 32 e 64 bits . O sistema operacional (SO) é projetado para sistemas embarcados em tempo real para uso médico, industrial, de consumo, aeroespacial e Internet das coisas (IoT). O Nucleus foi lançado pela primeira vez em 1993. A versão mais recente é 3.x, e inclui recursos como gerenciamento de energia , modelo de processo, suporte de 64 bits, certificação de segurança e suporte para processadores de sistema multi-core de computação heterogêneo em um chip (SOCs) .
O modelo de processo Nucleus adiciona particionamento de domínio de espaço para isolamento de tarefa e módulo em SOCs com uma unidade de gerenciamento de memória (MMU) ou unidade de proteção de memória (MPU), como aquelas baseadas em núcleos ARMv7 / 8 Cortex-A / R / M.
Plataformas suportadas
O Nucleus oferece suporte a muitos processadores embarcados, incluindo os principais dispositivos ARMv7 Cortex A, R e M. Versões recentes suportam dispositivos ARMv8 de 64 bits. O site oficial tem uma lista completa de dispositivos suportados. Inclui MCUs e MPUs de 32 bits, dispositivos configuráveis e processadores multi-core de 32 e 64 bits .
História
O Nucleus 1.x foi lançado pela primeira vez em 1993 pela Accelerated Technology (ATI) como Nucleus PLUS. Ele logo se tornou um dos RTOSs mais comumente usados no mercado embarcado. Seguindo seu sucesso inicial, a ATI adicionou suporte para rede , gráficos e sistemas de arquivos , o que acelerou a adoção.
A Mentor Graphics adquiriu a ATI em março de 2002, logo seguida pela segunda geração do Nucleus RTOS. A versão 2.x foi lançada em 2003, melhorando sua portabilidade em diferentes arquiteturas e conjuntos de ferramentas. Novos componentes como IPv6 , sistema de arquivos de memória Flash e Universal Serial Bus ( USB ) 2.0 foram adicionados. A Mentor substituiu o depurador Codelab legado por ferramentas de desenvolvimento EDGE que incluíam ferramentas de compilador , depurador , simulador e criador de perfil .
A Mentor Graphics lançou a 3ª geração do Nucleus em 2010. A versão 3.x foi projetada para unidades de microprocessador de ponta (MPUs), unidades de microcontrolador (MCUs), processadores de sinal digital (DSPs) e matrizes de portas programáveis em campo (FPGAs). Para dispositivos com recursos de memória limitados, o Nucleus foi projetado para reduzir para um tamanho de memória de <10 kilobytes (KBs) para código e dados.
O Nucleus 3.x introduziu suporte para multiprocessamento simétrico (SMP) e multiprocessamento assimétrico (AMP) tanto uAMP não supervisionado quanto sAMP supervisionado (usando Mentor Embedded Hypervisor ). Outras adições no Núcleo 3.x:
- Suporte integrado de gerenciamento de energia para kernel e componentes de middleware ; inclui suporte para DVFS, supressão de tiques e modos de suspensão, incluindo hibernação .
- Modelo de processo para particionamento de memória para suportar carregamento e descarregamento dinâmico de módulos de aplicativos. Processos carregáveis são suportados em MPUs de ponta e MCUs de baixo custo com ou sem suporte de gerenciamento de memória de hardware.
- Suporte sem fio
- Protocolos IoT
- Certificação de segurança para aeroespacial, médica, industrial e automotiva
- Suporte para ARM TrustZone
- Mentor da estrutura de vários núcleos incorporada para IPC e gerenciamento do ciclo de vida do processador para projetos AMP (sAMP supervisionado e uAMP não supervisionado)
- Suporte de rastreamento em tempo de execução com ferramentas de análise do lado do host
Além dos novos recursos da versão 3.x, o Nucleus mudou o modelo de negócios de à la carte para um pacote unificado.
A Mentor adquiriu a CodeSourcery em dezembro de 2010 para substituir as ferramentas de desenvolvimento EDGE pelo Sourcery CodeBench . Sourcery CodeBench compreende uma cadeia de ferramentas do compilador, um depurador e ferramentas de análise de rastreamento. A cadeia de ferramentas do compilador é baseada na cadeia de ferramentas GNU. O depurador e o ambiente de desenvolvimento integrado (IDE) são baseados no Eclipse . O Sourcery CodeBench suporta arquiteturas ARM, IA-32 , MIPS e PPC com fluxos de trabalho integrados e reconhecimento de sistema operacional para Nucleus RTOS e Mentor Embedded Linux.
O Nucleus 3.x introduziu um sistema de construção e configuração unificado com o qual o Kernel é configurado por meio de um único arquivo e constrói como uma única biblioteca. Como o menuconfig no Linux, uma ferramenta de configuração baseada na interface do usuário (IU) integrada ao CodeBench fornece ao usuário componentes selecionáveis graficamente para personalizar o kernel no momento da construção. O sistema de configuração do Nucleus permite a personalização do usuário para integrar novas cadeias de ferramentas, suporte de arquitetura e propriedades de construção.
Componentes principais
Os componentes do Núcleo RTOS incluem:
- Núcleo
- Serviços
- Conectividade
- Sistema de arquivo
- Networking
- Framework IoT
- Sem fio
- Segurança
- IU e gráficos
Núcleo
- Kernel em tempo real com agendamento preventivo baseado em prioridade
- Suporte para links dinâmicos usando módulos carregáveis
- Interfaces para C ++ , Portable Operating System Interface ( POSIX ) e The Real-time Operating System Nucleus (projeto TRON | TRON) microITRON
- SMP / AMP, supervisionado e não supervisionado
- Suporte SMP e controle de tempo de execução para domínio de computação vinculado e afinidades com núcleos de processador para tarefas e interrupções
- Suporte para arquiteturas de 64 bits
- Escalável para caber em dispositivos com restrição de memória
- Estrutura de gerenciamento de energia integrada
- Código-fonte para todos os componentes
Serviços
- Inicialização e registro em nível de execução
- POSIX: kernel, rede e sistema de arquivos
- Shell e rastreamento
- Agente de depuração
- C ++
- Serviços de gerenciamento de energia
Conectividade
O Nucleus suporta a capacidade de se conectar a outros dispositivos por meio de várias interfaces, incluindo:
- USB 2.0 e 3.0
- Pilhas USB Host, Function e On-The-Go (OTG)
- Bluetooth com muitos perfis avançados ativados ( A2DP , AVRCP , HFP , HSP , etc.)
- Peripheral Component Interconnect (PCI), PCI-X e PCIe
- Rede de área do controlador (CAN) e CANopen
- Secure Digital (SDIO)
- SPI, QSPI
- Circuito Inter-integrado ( I²C )
Sistema de arquivo
Ao contrário dos sistemas operacionais Windows e Unix, o Nucleus não precisa de um sistema de arquivos para funcionar. No entanto, para usos complexos que precisam de armazenamento local, o Nucleus oferece suporte a vários sistemas de arquivos, incluindo FAT, SAFE (tolerante a falhas) e LWEXT.
Vários sistemas de arquivos simultâneos
- Tabela de alocação de arquivos ( FAT )
- SAFE (alimentação de alta confiabilidade à prova de falhas)
- LWEXT
- Sistemas de arquivos de terceiros instaláveis
Suporte a múltiplas mídias
- CD-ROM
- Disco rígido
- Disco de RAM
- Flash NOR e NAND
- pendrive
- SD MMC
O Nucleus fornece suporte para diferentes sistemas de arquivos e mídia de armazenamento por meio de uma interface de programação de aplicativo (API) do sistema de arquivos virtual que permite o acesso aos sistemas de arquivos e dispositivos de armazenamento suportados usando as mesmas chamadas de funções, independentemente do formato de armazenamento subjacente.
Networking
A pilha de rede Nucleus é uma pilha IPv4 e IPv6 dupla que oferece suporte a mais de 60 protocolos de rede. A pilha de rede do Nucleus suporta POSIX e fornece uma interface de aplicativo baseada em soquete fácil de usar. Uma breve lista dos protocolos suportados inclui:
- Conjunto de protocolos de Internet (UDP, TCP / IP)
- Internet Control Message Protocol (ICMP), Dynamic Host Configuration Protocol (DHCP), network address translation (NAT)
- Protocolo ponto a ponto (PPP) e protocolo ponto a ponto sobre Ethernet (PPoE)
- Protocolo de transferência de arquivos (FTP), Telnet , Secure Shell (SSH)
- Protocolo Simples de Gerenciamento de Rede (SNMP), Protocolo de Tempo de Rede (NTP)
- Protocolo de transferência de hipertexto (HTTP) e HTTPS
- JSON - XML , WebSockets
Segurança
O Nucleus oferece suporte a uma ampla variedade de opções de criptografia para comunicações seguras a fim de proteger os dados em repouso ou em trânsito. O Nucleus vem com OpenSSL e um pacote wolfSSL semelhante ao OpenSSL (anteriormente CyaSSL) que é muito menor do que o OpenSSL para projetos que precisam de criptografia, mas com capacidade de memória limitada. Os protocolos de segurança para proteger os dados em trânsito incluem IPsec / IKE, SSH / SSL / TLS / DTLS. A criptografia inclui DES, 3DES, AES, SHA-256. Os algoritmos de criptografia de chave pública incluem RSA. O suporte inclui X.509, RADIUS e 802.1X.
Sem fio
Vários módulos Wi-Fi de diferentes fabricantes de chips, como QCA, Broadcom, TI e CSR são suportados:
- IEEE 802.11 a / b / g / n
- IEEE 802.15.4
- Bluetooth, Bluetooth LE
Gráficos da interface do usuário
O Nucleus 3.x oferece suporte a OpenGL e às principais bibliotecas de UI de terceiros. O Nucleus suporta o framework Qt UI que foi otimizado para tamanho de código e integrado ao CodeBench para depuração e rastreamento. Outras interfaces de usuário suportadas incluem Embedded Wizard e Socionext CGI Studio .
IoT
As versões recentes do Nucleus incluem suporte para HTTPS, Constrained Application Protocol (CoAP), MQTT e 6LoWPAN .
A Nucleus também anunciou suporte para a estrutura de computação em nuvem do Microsoft Azure.
Industrial
O Nucleus foi integrado com pilhas industriais de terceiros de líderes do setor. O suporte de pilha industrial inclui host e cliente OPC Unified Architecture (OPC UA) e EtherNet / IP da Softing e EtherCAT da KoenigPa .
Multi-core
O Nucleus suporta o modo de multiprocessamento assimétrico (AMP) e o modo de multiprocessamento simétrico (SMP) para os principais SoCs heterogêneos de vários núcleos de 32 e 64 bits. O Nucleus também é capaz de funcionar como um GOS com o Mentor Embedded Hypervisor.
Ao operar no modo AMP, o Nucleus RTOS pode coexistir com outras instâncias do Nucleus, Linux e / ou programas de máquina nua (metal) distribuídos em outros processadores. Nesse modo, cada processador está funcionando de forma independente e se comporta como um sistema separado dentro do SoC. O Mentor Embedded Multicore Framework fornece comunicação entre processos entre sistemas operacionais nos vários núcleos e gerenciamento do ciclo de vida do processador. A operação SMP envolve ter uma instanciação do Nucleus RTOS para gerenciar vários núcleos simultaneamente. O Nucleus pode distribuir suas operações por todos os núcleos em um dispositivo multi-core ou qualquer subconjunto de núcleos. Para este propósito, o Nucleus oferece suporte de API em tempo de execução para domínio de computação vinculado e tarefas de controle e afinidades de interrupção para atribuição de núcleo.
Pacotes de produtos
O Nucleus RTOS é empacotado da seguinte forma:
- Nucleus ReadyStart Edition ReadyStart que inclui o sistema de tempo de execução , middleware , BSP (tudo em código-fonte) e o IDE, depurador, ferramentas de compilação, pacote de rastreamento em um único pacote. O Nucleus Ready Start vem em versões empacotadas para ARM, MIPS e PPC. O Nucleus ReadyStart adiciona plug-ins eclipse especializados ao CodeBench para fornecer fluxos de trabalho de construção e configuração simplificados e aprimoramentos de depuração, incluindo reconhecimento de kernel, suporte a módulo carregável, ferramentas de rastreamento e criação de perfil.
- O Nucleus Source Code Edition contém o sistema de tempo de execução e o middleware empacotado para suportar arquiteturas exclusivas e / ou diferentes cadeias de ferramentas
Certificação de segurança
O Nucleus SafetyCert foi certificado para os mais altos níveis de segurança para DO-178C , IEC 61508 , IEC 62304 e ISO 26262 .
Dispositivos de exemplo usando produtos Nucleus incluem:
- Novos Horizontes , sonda do espaço interplanetário
- Honeywell para Tecnologia de Conscientização de Terreno Crítico na indústria de aviação
- On-Key Karaokê Handheld Player da IVL Technologies usa Nucleus PLUS
- Logitech usa em suas câmeras de vídeo digitais portáteis de vídeo de bolso
- A primeira comercialização da tecnologia de acesso múltiplo por divisão de código (CDMA) da SK Telecom na Coréia
- Chipsets baseados em processador Dual SIM Mediatek encontrados na maioria dos telefones chineses
- Telefone móvel de alta definição NEC
- A família RBOX Multi-Service Aggregator da ASC usa o Nucleus PLUS
- TI-Nspire portáteis calculadoras usar Núcleo como base de seu sistema operacional
- A Telephonics usa-o no Programa de Modernização de Aviônica USAF C-130, Sistema SDI e no Programa de 767 Tanker, Sistema de Comunicação de Aviação
- Garmin International desenvolverá o Sistema de Posicionamento Global (GPS) de navegação CNX80 para a aviação geral
- Um grande número de telefones celulares Motorola, Samsung, LG, Siemens / Benq, Sagem e NEC
- A IU S-Class no LG Pop, Arena, etc.
- Intellon Home Plug AV
- Crestron Electronics em seus processadores de sistema de controle da série 2 mais antigos
- BSS Audio em sua gama Soundweb London .
- Versões posteriores da linha de produtos Creative ZEN
- O chipset Infineon S-Gold2 usado em telefones Siemens : S75, E71, M81, etc.
- O chip de banda base Infineon S-Gold2 usado no iPhone da Apple
- O receptor de localização do utilitário Metrotech i5000
- A linha Creative Zen Vision
- Intel Active Management Technology , controlador integrado vPro
- Dispositivos de vídeo e telefonia Tandberg MXP
- Sistema de anestesia Datex-Ohmeda Avance
- Desfibriladores Zoll Medical Corporation
- Dispositivos baseados na plataforma Samsung Bada
- Monitor de paciente precoce da Mindray, dispositivo de ultrassom e analisador de hematologia