Mini-curso: Construindo sistemas embarcados com o OpenEPOS

Resumo


O projeto e a implementação de sistemas embarcados atualmente apresentam enormes desafios. As aplicações embarcados estão se tornando cada vez mais complexas conforme o avanço da indústria de semi-condutores, que tornou possível o uso de recursos computacionais que antes só eram encontrados em sistemas de computação de propósito geral. Se por um lado as aplicações estão mais complexas, do outro ainda existe a pressão do mercado para a entrega do produto de forma rápida. Neste contexto, a utilização de um sistema operacional embarcado e baseado em componentes ajuda na aceleração do projeto e desenvolvimento de aplicações embarcadas, bem como na reutilização dos componentes, tanto de hardware como de software.

Neste mini-curso será abordada a construção de sistemas embarcados sob a perspectiva do OpenEPOS. O mini-curso será dividido em duas partes: uma teórica e outra prática. A parte teórica apresentará os principais conceitos relacionados com o OpenEPOS. A parte prática focará em exercícios onde serão implementadas aplicações utilizando o sistema operacional. As atividades práticas cobrirão o desenvolvimento de aplicações multi-thread, uso da infraestrutura de mediadores de hardware e da pilha de comunicação, incluindo TCP, UDP e IP.

Pré-requisitos para participação e outras informações


Para realizar as atividades, os participantes deverão, preferencialmente em duplas, utilizar um notebook que tenha GNU/Linux instalado. Também será necessário instalar algumas ferramentas de desenvolvimento. Instruções para instalação destas ferramentas podem ser encontradas no guia do usuário do OpenEPOS. Será necessário baixar o OpenEPOS, os compiladores para ARM e IA32, e o emulador QEMU para ARM e IA32.

Ainda, para que acompanhe as atividades técnicas adequadamente, os participantes deverão ter conhecimento básico de programação orientada a objeto, preferencialmente em C++.

Biografia


Image
Giovani Gracioli possui mestrado (2009) em Ciência da Computação pela Universidade Federal de Santa Catarina (UFSC) e bacharelado (2007) em Ciência da Computação pela Universidade Federal de Santa Maria (UFSM). Atualmente é doutorando em Engenharia de Automação e Sistemas, também na UFSC, e coordena a equipe de sistemas operacionais do Laboratório de Integração Software/Hardware (LISHA) da UFSC. Tem experiência em sistemas operacionais, escalonamento multicore tempo-real e redes de sensores sem fio.