Publicação em Diário da República: Despacho n.º 7795/2021 - 09/08/2021
6 ECTS; 3º Ano, 1º Semestre, 28,0 T + 42,0 PL , Cód. 911253.
Docente(s)
- Ana Cristina Barata Pires Lopes (1)(2)
(1) Docente Responsável
(2) Docente que lecciona
Pré-requisitos
N/A
Objetivos
Pretende-se que os alunos desenvolvam capacidades e competências de projeto, desenvolvimento e manuseamento de sistemas embebidos em tempo real. Estes sistemas serão baseados em microcontroladores ESP32. No final da Unidade Curricular os alunos deverão conhecer e saber aplicar os conceitos que suportam o projeto e desenvolvimento de sistemas embebidos em tempo real, em particular, os conceitos (suportados por sistemas operativos em tempo real) de: tarefas, filas, gestão de tempo, recursos e eventos.
Pretende-se que durante a Unidade Curricular os alunos desenvolvam vários projetos baseados no microcontrolador ESP32 e o sistema Operativo em tempo real FreeRTOS.
Programa
1 - Introdução aos Sistemas Embebidos e de Tempo Real
i) Definições e conceitos fundamentais
ii) Sistemas hard, firm e soft real-time
iii) Requisitos temporais: período, deadline, latência e jitter
2 - Introdução ao FreeRTOS
i) Arquitetura e organização do FreeRTOS
ii) Criação e configuração de projetos FreeRTOS em ESP32
iii) Funcionamento do kernel e do escalonador
3 - Gestão de Tarefas
i) Criação, estados e ciclo de vida das tarefas
ii) Prioridades e preempção
iii) Escalonamento de tarefas
iv) Temporização, delays e tick do sistema
4 - Comunicação entre Tarefas
i) Conceito e características das filas
ii) Criação, utilização e gestão de filas
iii) Notificações entre tarefas
5 - Gestão de Tempo
i) Temporizadores de software
ii) Criação e utilização de temporizadores
iii) Tarefas periódicas e cumprimento de deadlines
6 - Interrupções
i) Gestão de interrupções em sistemas de tempo real
ii) Utilização da API FreeRTOS a partir de ISR
iii) Comunicação entre ISR e tarefas
7 - Sincronização e Gestão de Recursos
i) Semáforos e mutexes
ii) Regiões críticas e exclusão mútua
iii) Condições de corrida, deadlock e starvation
iv) Inversão e herança de prioridade
8 - Gestão de Eventos
i) Grupos de eventos
ii) Sincronização de tarefas baseada em eventos
9 - Análise e Validação Temporal
i) Medição de tempos de execução e resposta
ii) Análise de latência e jitter
iii) Verificação do cumprimento de requisitos temporais
Metodologia de avaliação
Trabalhos laboratoriais em ambiente real e de simulação (50%); dois testes escritos em avaliação contínua ou, alternativamente, exame escrito (50%) (obrigatório classificação mínima de 40% no exame e classificação mínima de 50% nos trabalhos laboratoriais). Os trabalhos laboratoriais serão realizados em grupo e terão defesa oral obrigatória.
Os alunos só terão aproveitamento à UC se a nota final (trabalhos laboratoriais + testes escritos ou exame) for superior ou igual a 9,5 Valores em 20 Valores.
Bibliografia
- Barry, R. e , . (2016). Mastering the FreeRTOS Real Time Kernel - a Hands-On tutorial Guide. (pp. 1-371). N/A: Real Time Engineers Ltd
- Buttazzo, G. (2024). Hard Real-Time Computing Systems: Predictable Scheduling Algorithms and Applications (4th ed.). Cham: Springer
- Lee, E. e Seshia, S. (2017). Introduction to Embedded Systems: A Cyber-Physical Systems Approach, 2nd ed. N/A: MIT Press
Método de Ensino
Aulas teóricas articuladas com exercícios, simulação e atividades laboratoriais em ESP32 e FreeRTOS, promovendo a aplicação prática dos conceitos, a análise do comportamento temporal, a resolução de problemas e a autonomia dos estudantes.
Software utilizado nas aulas
FreeRTOS
IDE Arduino
VS Code
Git
Aprovado em Conselho Técnico Cientifico: 11 de novembro de 2026
Download da Ficha da Unidade Curricular (FUC)


















