Propostas atribuídas ano letico 2025/2026

DEI - FCTUC
Gerado a 2025-08-31 18:21:13 (Europe/Lisbon).
Voltar

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 📩