Núcleo RTOS - Nucleus RTOS

Núcleo 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 ; 28 anos atrás ( 1993 )
Último lançamento 3.x, 02/02/2017 / 15 de maio de 2017 ; 4 anos atras ( 15-05-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 .mentor .com / embedded-software / nucleus

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:

  1. Núcleo
  2. Serviços
  3. Conectividade
  4. Sistema de arquivo
  5. Networking
  6. Framework IoT
  7. Sem fio
  8. Segurança
  9. 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:

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:

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:

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

Veja também

Referências

links externos