Firmware, esse ilustre desconhecido<br />Marcelo Castellani – mindaslab.com<br />
Sobre o que falaremos aqui<br />Desenvolvimento de firmware e oportunidades profissionais<br />Mostrar que Arduino não é a...
O que é um firmware?<br />Emeletrônicaecomputação, Firmware éoconjunto de instruçõesoperacionaisprogramadasdiretamente no ...
E onde encontro um firmware?<br />(em todo lugar?)<br />
Firmware está em todo lugar!<br />Acredite, em todo lugar MESMO.<br />
E quem desenvolve isso?<br />Engenheiros e técnicos eletrônicos<br />Analistas de sistemas e afins<br />
E isso dá dinheiro?<br />Sim. Segundo diversas pesquisas um desenvolvedor Sênior de firmware possui um salário superior a ...
www.itjobswatch.co.uk<br />
www.indeed.com<br />
E por que pagam mais?<br />Lei da oferta e da procura<br />
Mas é tão complicado assim?<br />Não é fácil, mas o que é fácil quando o assunto é desenvolvimento de software?<br />Exist...
Configurador TCP/IP µVision<br />
Simulador de HW do µVision<br />
JTAGs<br />
Debug	<br />
Ok, e agora?<br />O Que fazer?<br />
Primeiro: hardware<br />
Segundo: ambiente<br />
Terceiro: escrever o FW<br />
Conceitos básicos<br />Todo firmware deve ter um “código de inicialização”, chamado por alguns de boot loader, por outros ...
Loader<br />Loader<br />Firmware<br />
Conceitos<br />Um firmware deve ser altamente tolerante a falhas e ter alta disponibilidade. Imagine o firmware de um sist...
Conceitos<br />Hardware possui pouca memória e recursos limitados. Otimização é uma palavra chave.<br />A legislação de mu...
Mão na massa?<br />Não, não vamos escrever um firmware agora, mas sim entender melhor tudo isso, na prática.<br />
Atmega328p<br />
Aplicação<br />
Sem firmware o hardware não é e não faz nada.<br />Ok, pode ser um peso de papel, ou um enfeite, ou uma obra de arte futur...
Resumão<br />Se você gosta de desenvolver hardware deve considerar ser um desenvolvedor de firmware;<br />Existe um mercad...
Obrigado!<br />marcelo@mindaslab.com<br />@mfcastellani<br />
Upcoming SlideShare
Loading in …5
×

Arduino - TDC 2011

833 views

Published on

Apresentação da trilha arduino sobre firmware.

Published in: Career, Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
833
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
18
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Freio ABS, Injeção Eletrônica
  • Alimentador automático peixes, porta retrato digital
  • Arduino - TDC 2011

    1. 1. Firmware, esse ilustre desconhecido<br />Marcelo Castellani – mindaslab.com<br />
    2. 2. Sobre o que falaremos aqui<br />Desenvolvimento de firmware e oportunidades profissionais<br />Mostrar que Arduino não é apenas um hobby e, diferente do que eu já ouvi, não é “perda de tempo”<br />
    3. 3. O que é um firmware?<br />Emeletrônicaecomputação, Firmware éoconjunto de instruçõesoperacionaisprogramadasdiretamente no hardware de um equipamentoeletrônico. É armazenadopermanentemente num circuitointegrado (chip) de memória de hardware, comouma ROM, PROM, EPROM ouainda EEPROM ememória flash, no momentodafabricação do componente.<br />http://pt.wikipedia.org/wiki/Firmware<br />
    4. 4. E onde encontro um firmware?<br />(em todo lugar?)<br />
    5. 5.
    6. 6.
    7. 7.
    8. 8.
    9. 9.
    10. 10.
    11. 11. Firmware está em todo lugar!<br />Acredite, em todo lugar MESMO.<br />
    12. 12. E quem desenvolve isso?<br />Engenheiros e técnicos eletrônicos<br />Analistas de sistemas e afins<br />
    13. 13. E isso dá dinheiro?<br />Sim. Segundo diversas pesquisas um desenvolvedor Sênior de firmware possui um salário superior a desenvolvedores Sênior em outras especialidades.<br />
    14. 14. www.itjobswatch.co.uk<br />
    15. 15. www.indeed.com<br />
    16. 16. E por que pagam mais?<br />Lei da oferta e da procura<br />
    17. 17.
    18. 18.
    19. 19.
    20. 20.
    21. 21. Mas é tão complicado assim?<br />Não é fácil, mas o que é fácil quando o assunto é desenvolvimento de software?<br />Existem boas IDEs e ferramentas que facilitam a vida<br />A maior parte dasIDEspagas possuem assistentes e ferramentas que facilitam muito a vida do desenvolver<br />
    22. 22. Configurador TCP/IP µVision<br />
    23. 23. Simulador de HW do µVision<br />
    24. 24. JTAGs<br />
    25. 25. Debug <br />
    26. 26. Ok, e agora?<br />O Que fazer?<br />
    27. 27. Primeiro: hardware<br />
    28. 28. Segundo: ambiente<br />
    29. 29. Terceiro: escrever o FW<br />
    30. 30. Conceitos básicos<br />Todo 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())<br />Geralmente os firmwares possuem um “loader”, ou seja, um código independente capaz de atualizar o código principal. <br />
    31. 31. Loader<br />Loader<br />Firmware<br />
    32. 32. Conceitos<br />Um 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)<br />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?<br />
    33. 33. Conceitos<br />Hardware possui pouca memória e recursos limitados. Otimização é uma palavra chave.<br />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.<br />Ler datasheets de componentes é importante. Conhecer o ambiente que irá trabalhar sempre é fundamental. <br />
    34. 34. Mão na massa?<br />Não, não vamos escrever um firmware agora, mas sim entender melhor tudo isso, na prática.<br />
    35. 35.
    36. 36. Atmega328p<br />
    37. 37.
    38. 38.
    39. 39. Aplicação<br />
    40. 40. Sem firmware o hardware não é e não faz nada.<br />Ok, pode ser um peso de papel, ou um enfeite, ou uma obra de arte futurista... Coisas mil....<br />
    41. 41.
    42. 42. Resumão<br />Se você gosta de desenvolver hardware deve considerar ser um desenvolvedor de firmware;<br />Existe um mercado grande por aí, com salários interessantes;<br />C, um pouco de Assembly e eletrônica são conhecimentos importantes;<br />Cada vez mais empresas desenvolverão hardware, e cada vez mais desenvolvedores de firmware serão necessários.<br />
    43. 43.
    44. 44. Obrigado!<br />marcelo@mindaslab.com<br />@mfcastellani<br />

    ×