Competências
Explicar as características gerais relativas a sistemas embarcados e os problemas ligados às restrições de recursos; aplicar sistemas operacionais, bibliotecas e outros componentes na criação de um sistema embarcado.
Habilidades
- Selecionar os algoritmos adequados para implementação;
- Tomar decisões de projeto coerentes com as restrições típicas do ambiente em que o sistema está inserido;
- Considerar as implicações ligadas a características de tempo;
- Utilizar com critério e eficiência os recursos disponíveis visando equilibrar a funcionalidade do sistema, sua complexidade, flexibilidade e confiabilidade;
- Reusar softwares e componentes já existentes, adaptando-os ao ambiente embarcado em desenvolvimento.
Bases tecnológicas
- Visão geral de sistemas embarcados: Definição.
- Microcontroladores: Tecnologias; Plataformas; Circuitos periféricos básicos; Especificações; requisitos de projeto.
- Ambientes de Desenvolvimento para Sistemas Embarcados (hardware e software): Tipos.
- Softwares básicos: Análise; Performance; Proteção de dados; Regiões criticas (atomicidade).
- Fundamentos de sistemas operacionais: arquiteturas; Gerenciamento de Memória; Interrupções de Software;
- Gerenciamento de I/O; Temporizadores.
- Fundamentos de sistemas operacionais de tempo real: Aplicação; Funcionamento temporal; Vantagens e desvantagens.
Bibliografia
- Construindo Sistemas Linux Embarcados
Yaghmour, Masters, Yossef e Gerum – 2ª ed. – Alta Books – 2009 - Programming Embedded Systems: With C and GNU Development Tools, 2nd Edition
Michael Barr, Anthony Massa – 2ª ed. – O’Reilly Media – 2006 - Beginning Arduino
Michael McRoberts 1ª ed. – Apress – 2010 - Designing Embedded Systems with PIC Microcontrollers, Second Edition: Principles and Applications
Tim Wilmshurst 2ª ed. Newnes – 2009 - Arduino Robotics
John-David Warren, Josh Adams, Harald Molle 1ª ed. Apress – 2011 - EMBEDDED SYSTEM DESIGN: A Unified Hardware Software Introduction
F. Vahid, T. Givargis, John Wiley and Sons, Inc. – 2002