Arduino - TDC 2011
-
Upload
mfcastellani -
Category
Career
-
view
641 -
download
5
Transcript of Arduino - TDC 2011
Firmware, esse ilustre desconhecidoMarcelo Castellani – mindaslab.com
Sobre o que falaremos aquiDesenvolvimento de firmware e oportunidades
profissionais
Mostrar que Arduino não é apenas um hobby e, diferente do que eu já ouvi, não é “perda de tempo”
O que é um firmware?Em eletrônica e computação, Firmware é o
conjunto de instruções operacionais programadas diretamente no hardware de um equipamento eletrônico. É armazenado permanentemente num circuito integrado (chip) de memória de hardware, como uma ROM, PROM, EPROM ou ainda EEPROM e memória flash, no momento da fabricação do componente.
http://pt.wikipedia.org/wiki/Firmware
E onde encontro um
firmware?(em todo lugar?)
Firmware está em todo lugar!
Acredite, em todo lugar MESMO.
E quem desenvolve isso?Engenheiros e técnicos eletrônicos
Analistas de sistemas e afins
E isso dá dinheiro?Sim. Segundo diversas pesquisas um
desenvolvedor Sênior de firmware possui um salário superior a desenvolvedores Sênior em outras especialidades.
www.itjobswatch.co.uk
Average salary33000
34000
35000
36000
37000
38000
3900038750
35000
FirmwareOthers
www.indeed.com
E por que pagam mais?
Lei da oferta e da procura
Mas é tão complicado assim?Não é fácil, mas o que é fácil quando o assunto
é desenvolvimento de software?
Existem boas IDEs e ferramentas que facilitam a vida
A maior parte das IDEs pagas possuem assistentes e ferramentas que facilitam muito a vida do desenvolver
Configurador TCP/IP µVision
Simulador de HW do µVision
JTAGs
Debug
Ok, e agora?O Que fazer?
Primeiro: hardware
Segundo: ambiente
Terceiro: escrever o FW
Conceitos básicosTodo firmware deve ter um “código de
inicialização”, chamado por alguns de boot loader, por outros de startup, que é o responsável por iniciar o hardware (processador) e executar a função de entrada do firmware (geralmente main())
Geralmente os firmwares possuem um “loader”, ou seja, um código independente capaz de atualizar o código principal.
Loader
Loader Firmware
ConceitosUm firmware deve ser altamente tolerante a
falhas e ter alta disponibilidade. Imagine o firmware de um sistema de freios ABS ou de uma máquina que emite radiação (aparelho de Raios-X)
Um firmware deve executar para sempre e ser robusto suficiente para continuar funcionando. Quando você precisou reiniciar o seu controle remoto por que ele estava consumindo muita memória?
ConceitosHardware possui pouca memória e recursos
limitados. Otimização é uma palavra chave.
A legislação de muitos Países hoje exige baixo consumo de energia, desligar recursos de processador não usados pode ajudar a economizar energia.
Ler datasheets de componentes é importante. Conhecer o ambiente que irá trabalhar sempre é fundamental.
Mão na massa?Não, não vamos escrever um firmware agora,
mas sim entender melhor tudo isso, na prática.
Atmega328p
Aplicação
Sem firmware o hardware não é e não faz nada.
Ok, pode ser um peso de papel, ou um enfeite, ou uma obra de arte futurista... Coisas mil....
ResumãoSe você gosta de desenvolver hardware deve
considerar ser um desenvolvedor de firmware;
Existe um mercado grande por aí, com salários interessantes;
C, um pouco de Assembly e eletrônica são conhecimentos importantes;
Cada vez mais empresas desenvolverão hardware, e cada vez mais desenvolvedores de firmware serão necessários.
@mfcastellani