Fornecer aos alunos conhecimentos teóricos e práticos de implementações de sistemas embarcados que compõe produtos mecatrônicos. A disciplina prevê viagens didáticas.
Exercitar procedimentos de programação de sistemas embarcados. Familiarizar-se com a forma, as ferramentas de trabalho profissional e os recursos utilizados para a programação de sistemas embarcados. Estudar as particularidades com o uso de sistemas operacionais de tempo real. Trabalhar ferramentas de software profissionais voltadas ao acionamento de motores, leitura de sensores, implementação de controladores e a comunicação em rede.
1. Desenvolvimento de Produtos Mecatrônicos segundo a norma VDI 2206 2. Revisão do Sistema Operacional Linux e Programação de Threads em Linux 3. Apresentação de hardware embarcado de diferentes capacidades e propósitos: a. Toolchain b. Bootloaders c. Kernel d. Root Filesystem e. Build Systems (Yocto Project) f. Storage Strategies g. Device Drivers e Board Support Packages (BSP) h. Processos e Threads i. Gerenciamento de Memória 5. Programação de dispositivos para conexão a redes de computadores industriais 6. Sistemas Operacionais de Tempo Real e programação de aplicativos em tempo real 7. Conceitos de Escalonamento 8. Conceitos de comunicação entre tarefas e sincronização a. Buffering Data b. Time-Relative Buffering c. Ring Ruffers d. Mailboxes e. Queus f. Regiões críticas g. Semafóros h. Outros mecanismos de sincronização i. Deadlock j. Inversão de Prioridades 9. Exemplos de aplicações a. Escrita de comandos temporizados para atuadores b. Leitura temporizada de sensores c. Implementação Sistema de Controle em malha fechada 10. Segurança no desenvolvimento de software
Principal e complementar 1) Chris Simmonds, Mastering Embedded Linus Programming, Packt Publishing Ltd. Birmingham, UK, ISBN 978-1-78439-253-6, 2015. 2) Laplante, P.A., Real Time Systems Design and Analysis, IEEE Press, 3rd. Edition, 2004. 3) Tanenbaum A., Modern Operating Systems, 3rd Edition, 2007. 4) Agrawala, A. K., Real-Time System Design, 1990. 5) Alan Burms, Andy Wellings, Real-Time Systems and Programming Languages. 6) Thomas Brãuln Embedded Robotics: Mobile Robot Design and Applications with Embedded Systems, 2008. 7) MISRA-C 2012 - http://www.misra.org.uk/