home

X Real-Time Kernel

Ambiente de Desenvolvimento

O desenvolvimento de programas de aplicação sobre o X Real-Time Kernel pode ser feito utilizando-se as linguagens de programação C e C++. Além das bibliotecas padrões destas linguagens, são disponibilizadas a API do X Real Time Kernel e APIs dos device drivers associados aos periféricos que se pretende utilizar no sistema embarcado. Novos device drivers para periféricos especiais ou não suportados podem ser criados pelo desenvolvedor.

Para o desenvolvimento de programa de aplicação sobre o X Real-Time Kernel podem ser empregados os seguintes compiladores/ambientes de programação:

  • Embedded Workbench da IAR
  • Multi da Green Hills
  • GCC/GNU (software livre)

Organização da Camada de Aplicação

O X Real-Time Kernel é disponibilizado na forma de uma biblioteca. Esta biblioteca expõe uma API para acesso às funções do kernel (conforme resumido na página Funcionalidades). Tipicamente, um programa de aplicação instancia um objeto da classe X que expõe métodos público representando as funções do kernel. Através destas funções são criadas tarefas (threads) para execução concorrente das funcionalidades do sistema.

Um programa de aplicação sobre o X Real Time Kernel pode conter várias tarefas concorrentes executando de forma independente ou realizando sincronizações através de envio de mensagens entre elas. Estas tarefas podem realizar temporizações e tratar interrupções de hardware e de software.

A figura ao lado ilustra um exemplo de sistema embarcado simples. Neste sistema foram criadas 4 tarefas para execução concorrente. O sistema dispõe de um display LCD e uma porta serial para comunicação com um dispositivo externo. São utilizados device drivers para o Display LCD, para a porta de comunicação e, também, para acesso a uma memória flash utilizada para registro de eventos.