Titulo Estágio
Ambiente Virtual para Software embebido
Área Tecnológica
embedded
Local do Estágio
Coimbra
Enquadramento
Este estágio visa o desenvolvimento de um
ambiente baseado em plataformas de virtualização de Hardware, como por exemplo
o TSIM. Estas plataformas são simuladores de instruções, capaz de emular sistemas
baseados em diversas arquitecturas como PPC, ERC32 ou LEON, entre outros. Alguns
destes simuladores são extensíveis, sendo a ideia tirar partido desta capacidade
de extensão e desenvolver módulos com vista a virtualizar um determinado
ambiente
Uma grande parte dos computadores
desenvolvidos para suportar software embebido é baseada em Sistema em Chip
(SoC), como o Freescale 8548, ERC32 e o LEON. Um Sistema em Chip é mais do que
um processador na medida em inclui embutidos alguns dos controladores que em
sistemas normais não fazem parte do processador. O Freescale 8548 possui a
arquitectura Power PC enquanto que o ERC32 implementa a especificação Sparc v7.
O LEON, por sua vez, é a evolução do ERC32 sendo que implementa a especificação
Sparc v8 e atinge velocidades de relógio bastante superiores.
O TSIM, enquanto exemplo de uma plataforma
de virtualização de arquitecturas, é um simulador de instruções capaz de emular
os sistemas ERC32 e LEON e foi desenvolvido pela Aeroflex Gaisler AB. O TSIM é um
simulador de referência para estes sistemas e oferece possibilidades de
extensão.
Uma unidade de processamento central
comunica com dispositivos através de pedidos de leitura de escrita. Um
dispositivo mais complexo deve ter também a possibilidade de comunicar com o
processador quando há algum evento que merece a atenção da unidade central de
processamento. Os dispositivos mais complexos podem também copiar dados para a
memória sem intervenção directa da unidade central de processamento, isto é
possível através da unidade de DMA.
Na
Ilustração 1 está descrito um exemplo simples de uma placa baseada em ERC32 que
pode integrar um satélite, onde se encontram apresentados os componentes desta
unidade:
Ilustração 2 - Placa de Controlo de
um satélite
Esta placa contém um ERC32 ligado a outros
dispositivos. Tipicamente o ERC32 é integrado em contextos semelhantes ao
apresentado ou eventualmente mais complexos. Neste contexto as interfaces e
dispositivos extra de que o ERC32 dispõe com o exterior são:
-
COCOS ASIC
- 2 Mbyte EDAC and parity protected
program SRAM
-
32 Kbyte boot PROM
-
1 Mbyte program EEPROM
-
Interfaces UART com o CPU
-
Interface JTAG
-
Interface Serial LICE
-
Interface paralela inport/outport
(incluindo interruptções)
- Interfaces MIL-STD-1553B;
- Interfaces serial link Tx e Rx (i.e. Packet Wire interfaces)
-
Gestão de Onboard time.
Objetivo
O presente projecto tem por objecto estender
uma plataforma de virtualização preexistente com vista a gerar um ambiente
virtual simulado, de modo que um determinado software embebido possa ser usado
sem recorrer ao hardware real. O primeiro passo será caracterizar devidamente o
ambiente em questão. O segundo passo será o desenvolvimento dos módulos necessários
para virtualizar todos os dispositivos específicos de uma determinada
arquitectura de computador de bordo. Este desenvolvimento deverá seguir o
processo de desenvolvimento tal como é usado nos projectos da Critical Software
SA.
Plano de Trabalhos - Semestre 1
O estágio consistirá nas seguintes
actividades e respectivas tarefas:
T1 – Levantamento de
requisitos – Avaliar com
rigor quais principais objectivos do Ambiente Virtual a ser desenvolvido.
T2 – Concepção da arquitectura e design – Desenhar a
arquitectura dos módulos tendo em conta os requisitos identificados em T1.
Plano de Trabalhos - Semestre 2
T3 – Especificação de testes – Elaboração de um plano de testes. O plano de testes deverá
assegurar que os requisitos identificados em T1 serão validados.
T4 – Construção e unit-testing
– Codificação e unit-testing
dos módulos segundo a arquitectura e design estabelecidos em T2.
T5 – Testes – Implementação e execução dos testes especificados em T3 e correcção
de problemas.
T6 – Elaboração do Relatório
de Estágio – Preparação do relatório final de estágio.
A elaboração do relatório de estágio deverá ser efectuada gradualmente ao longo
de todo o estágio.
Condições
Bolsa de estágio e prémio de desempenho
Orientador
Miguel Antunes
pmantunes@criticalsoftware.com 📩