DocumentosData de envio
A quantidade de dispositivos e equipamentos eletrônicos que interagimos no dia-a-dia aumenta a cada ano. A maioria destes dispositivos ou equipamentos possui certa inteligência (leia-se software embarcado). Meios de comunicação, sistemas de controle aéreo, equipamentos médicos, todos dependem destes dispositivos, onde qualquer falha pode causar consequencias indesejáveis ou fatais. E grande parte da responsabilidade por estas falhas é o softwareembarcado nestes dispositivos. Todos os envolvidos nas atividades dedesenvolvimento de software embarcado precisam conhecer as armadilhas da linguagem C e as técnicas de desenvolvimento de software seguro.
Tópicos
-> Segurança em Sistemas Embarcados
-> Linguagem C: uma faca de dois gumes
-> Começando certo com um design seguro
-> Alocação dinâmica - usar ou não usar
-> Indo além de ponteiros e buffers
-> Ouvindo o que as funções têm a dizer
-> Ultrapassando os limites de um inteiro
-> Vulnerabilidades em funções do sistema operacional
-> Outras técnicas recomendadas
Nível: Intermediário
Requisitos Básicos: Programação em linguagem C.
Público Alvo: Estudantes, engenheiros, desenvolvedores e líderes de equipes de desenvolvimento de software para sistemas embarcados.
Serão apresentados fundamentos do sistema Linux em aplicações embarcadas, abordando exemplos de aplicações, arquitetura do sistema, considerações de hardware, ferramentas de desenvolvimento e gerenciamento de imagens, ferramentas de depuração, pilha de software para o desenvolvimento de aplicações e considerações sobre comportamento real-time. A plataforma ARM receberá o foco principal e exemplos práticos ilustrando os conceitos apresentados serão desenvolvidos para a audiência.
Tópicos
-> Uso do Linux em sistemas embarcados
-> Anatomia de um sistema Linux
-> Plataformas de Hardware
-> Ambiente de desenvolvimento e ferramentas
-> Bibliotecas de software para aplicações
-> Atendendo a requisitos de tempo real
-> Exemplos práticos na plataforma ARM9 S3C2440 (mini2440).
Nível: Intermediário
Requisitos Básicos: Noções de aplicações embarcadas, fundamentos básicos de sistemas Linux.
Público Alvo: Engenheiros e profissionais que atuem na especificação e desenvolvimento de aplicações embarcadas.
Uma das formas mais tradicionais da interligação de microcontroladores a outros dispositivos é a comunicação serial (um bit por vez). Nesta palestra são apresentadas a comunicação serial assíncrona e os padrões I2C, SPI e MICROWIRE. Além da descrição teórica serão apresentados códigos exemplos para diversos microcontroladores.
Tópicos
-> Comunicação serial assíncrona. Exemplos: PIC, HCS08.
-> Padrões RS232, RS422 e RS485.
-> Comunicação a 2 fios (I2C). Exemplos: PIC com relógio PCF8583 e MSP430 com memória 24WC256.
-> Comunicação a 3 fios. Exemplo: PIC com relógio DS1302.
-> Comunicação a 4 fios (SPI, MICROWIRE). Exemplo: HCS08 com memória FM93C66.
Nível: Iniciante/Intermediário
Requisitos Básicos: Conhecimentos básicos de C e microcontroladores.
Público Alvo: Desenvolvedores de firmware para microcontroladores.
C++ é uma linguagem poderosa, que permite o uso de muitas técnicas e paradigmas de programação. Mesmo em sistemas embarcados, onde os recursos de processador e memória são mais limitados que em um computador, o C++ pode nos ajudar a programar de forma mais modular e eficiente.
Entretanto, essas vantagens podem virar um problema se não forem bem administradas pelo desenvolvedor. Nem todas as os recursos do C++ são devoradores de recursos do microcontrolador, mas também não se pode escrever um programa para sistema embarcado da mesma forma que se escreve um programa para PC.
Tópicos
-> Paradigmas de programação
-> Construções típicas do C++ e da orientação a objetos
-> Relação do programador com o compilador
-> Testes em uma linguagem de alto nível
-> Alguns mitos e algumas verdades
Nível: Intermediário
Requisitos Básicos: Programação em linguagem C e conceitos de sistemas embarcados.
Público Alvo: Engenheiros e desenvolvedores envolvidos com sistemas embarcados