Interfaceando Microcontroladores – Daniel Quadros Esta palestra aborda as formas mais comuns de interface de microcontroladores a periféricos e outros sistemas, apresentando implementações típicas de hardware e software. Serão apresentados exemplos de código C para microcontroladores
PIC (8 bits),
HCS08 e
MSP430 e periféricos como memória EEProm e Relógio de Tempo Real.
Tópicos Programação dos periféricos internos dos microcontroladores: registradores de controle e interrupções E/S Digital: controlando LEDs, tratando teclas e teclados, PWM E/S Analógica: ADC e DAC Comunicação serial assíncrona Comunicação a 2 fios (I2C). Exemplos: relógio PCF8583 e memória 24WC256 Comunicação a 3 fios. Exemplo: relógio DS1302 Comunicação a 4 fios (SPI, MICROWIRE). Exemplo: memória FM93C66. Interface com LCD Alfanumérico.
Otimizando C++ para Sistemas Embarcados – Luiz de Barros A utilização da linguagem C++ em plataformas embarcadas vem crescendo a cada dia. Como todos sabemos, os recursos de herança, polimorfismo e encapsulamento providos por uma linguagem orientada a objeto podem prover diversas vantagens, como maior testabilidade, maior isolação entre camadas e maior facilidade de manutenção/atualização, melhor reuso de código e, em alguns casos, menor código binário. Apresentaremos nesta palestra algumas orientações e técnicas eficientes para otimização de código C++ para utilização em sistemas embarcados e demonstraremos as diferenças de tamanho de binário para implementar uma funcionalidade em C, C++ e C++ otimizado para funcionamento em sistemas embarcados.
Tópicos C++ Embarcado? Pensando Embarcado (Think Embedded!) Conhecendo a sua Plataforma e Ambiente de Desenvolvimento O que POSSO FAZER X O que NÃO É RECOMENDADO? O que NÂO DEVO FAZER? Algumas Técnicas de Otimização Otimizando um Código Algumas comparações (otimizado x não otimizado).
Projetos de Sistemas Embarcados com Baixo Consumo de Energia – Alessandro Cunha
Diversas arquiteturas modernas de microcontroladores fazem uso de fontes de clock diferentes com o objetivo de possibilitar o gerenciamento do consumo de energia durante a execução de programas. Mostraremos nesta palestra algumas destas arquiteturas e como fazer uso delas nos programas embarcados.
Tópicos Porque projetar sistemas de baixo consumo? Recursos de hardware para baixo consumo Recursos de software para baixo consumo Arquitetura da Texas para o MSP430 Arquitetura da Microchip para os chips PIC Arquitetura da Freescale para os chips Flexis Arquitetura da Luminary para o ARM Cortex M3 Técnicas de software para utilizar um uC em baixo consumo.
Desenvolvimento de um Device Driver para GNU/Linux — Plataforma ARM – Luiz de Barros A utilização de
GNU/Linux em sistemas embarcados é crescente, indo desde dispositivos de monitoramento, roteadores, dispositivos de entretenimento, navegadores
GPS, internet tablets e celulares. A utilização do Gnu/Linux pode reduzir o custo total de propriedade (
TCO) de sistemas complexos com necessidades de comunicação
TCP/
IP, acesso a sistema de arquivos, dispositivos
USB e interface com usuário. Um dos grandes desafios enfrentados no desenvolvimento de sistemas embarcados baseados em sistema operacional
GNU/Linux é o desenvolvimento de device drivers para periféricos não suportados diretamente no kernel. Demonstraremos nesta palestra o desenvolvimento de um driver simples para realizar acesso às portas de entrada e saída de uma plataforma de hardware baseada em microcontrolador da família
ARM9.
Tópicos Arquitetura do GNU/Linux em um Sistema Embarcado Loadable Kernel Modules UserSpace x KernelSpace Interface Kernel <=> Usuário Utilizando o Temporizador do Kernel Acessando o GPIO Examinando o Código de um Driver GPIO Compilando e instalando um módulo.