SlideShare a Scribd company logo
1 of 44
Firmware, esse ilustre desconhecido Marcelo Castellani – mindaslab.com
Sobre o que falaremos aqui Desenvolvimento 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? 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. 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
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 dasIDEspagas 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ásicos 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()) Geralmente os firmwares possuem um “loader”, ou seja, um código independente capaz de atualizar o código principal.
Loader Loader Firmware
Conceitos 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) 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?
Conceitos Hardware 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ão Se 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.
Obrigado! marcelo@mindaslab.com @mfcastellani

More Related Content

Similar to Firmware: um mercado em expansão

Apostila informatica para concursos robson aquila
Apostila informatica para concursos   robson aquilaApostila informatica para concursos   robson aquila
Apostila informatica para concursos robson aquilaJosé Antonio Almeida
 
Apostila 3000 questoes (testes) resolvidos banco do brasil (bb), cef, ibge,...
Apostila   3000 questoes (testes) resolvidos banco do brasil (bb), cef, ibge,...Apostila   3000 questoes (testes) resolvidos banco do brasil (bb), cef, ibge,...
Apostila 3000 questoes (testes) resolvidos banco do brasil (bb), cef, ibge,...Claudio Santos
 
3000 questoes de informatica resolvidos banco do brasil (bb), cef, ibge, tre...
3000 questoes de informatica  resolvidos banco do brasil (bb), cef, ibge, tre...3000 questoes de informatica  resolvidos banco do brasil (bb), cef, ibge, tre...
3000 questoes de informatica resolvidos banco do brasil (bb), cef, ibge, tre...Rafaella Botelho
 
3000 questoes de informatica resolvidos banco do brasil (bb), cef, ibge, tre...
3000 questoes de informatica  resolvidos banco do brasil (bb), cef, ibge, tre...3000 questoes de informatica  resolvidos banco do brasil (bb), cef, ibge, tre...
3000 questoes de informatica resolvidos banco do brasil (bb), cef, ibge, tre...Thiago Carvalho
 
Conhecimento Basico de Informatica - Parte II
Conhecimento Basico de Informatica - Parte IIConhecimento Basico de Informatica - Parte II
Conhecimento Basico de Informatica - Parte IIABCursos OnLine
 
Questões Comentadas - Informática para Concurso
Questões Comentadas - Informática para ConcursoQuestões Comentadas - Informática para Concurso
Questões Comentadas - Informática para ConcursoReinaldo Alves
 
Tecnicas de Detenção de Avaria
Tecnicas de Detenção de AvariaTecnicas de Detenção de Avaria
Tecnicas de Detenção de AvariaDiolene Sampaio
 
Primeiros passos com Nerves (Elixir para dispositivos embarcados)
Primeiros passos com Nerves (Elixir para dispositivos embarcados)Primeiros passos com Nerves (Elixir para dispositivos embarcados)
Primeiros passos com Nerves (Elixir para dispositivos embarcados)Donato Vianna
 
Aspectos basicos de hardware e software
Aspectos basicos de hardware e softwareAspectos basicos de hardware e software
Aspectos basicos de hardware e softwareMarcelle Guiné
 
Aspectos basicos de hardware e software
Aspectos basicos de hardware e softwareAspectos basicos de hardware e software
Aspectos basicos de hardware e softwareMarcelle Guiné
 
Manual Placa Mãe Phitronics - P7I45GC-M.pdf
Manual Placa Mãe Phitronics - P7I45GC-M.pdfManual Placa Mãe Phitronics - P7I45GC-M.pdf
Manual Placa Mãe Phitronics - P7I45GC-M.pdfADRIANOLAURENCEDASIL
 
Introdução a Lógica e Conceitos de Programação.ppt
Introdução a Lógica e Conceitos de Programação.pptIntrodução a Lógica e Conceitos de Programação.ppt
Introdução a Lógica e Conceitos de Programação.pptBrennoPimenta
 
Alfa con 1 -introducao-a-informatica
Alfa con 1 -introducao-a-informaticaAlfa con 1 -introducao-a-informatica
Alfa con 1 -introducao-a-informaticaJane Cesca
 
Arduino- Conceitos e Aplicações
Arduino- Conceitos e AplicaçõesArduino- Conceitos e Aplicações
Arduino- Conceitos e AplicaçõesCarlos Delfino
 
Equipamentos informaticos
Equipamentos informaticosEquipamentos informaticos
Equipamentos informaticosxXtmk4sXx
 
Aula 1 conhecimentos básicos - hardware
Aula 1    conhecimentos básicos - hardwareAula 1    conhecimentos básicos - hardware
Aula 1 conhecimentos básicos - hardwareCristiano Carvalho
 
Arquitectura Interna Do Computador
Arquitectura Interna Do ComputadorArquitectura Interna Do Computador
Arquitectura Interna Do Computadoraerc
 

Similar to Firmware: um mercado em expansão (20)

Apostila informatica para concursos robson aquila
Apostila informatica para concursos   robson aquilaApostila informatica para concursos   robson aquila
Apostila informatica para concursos robson aquila
 
Apostila 3000 questoes (testes) resolvidos banco do brasil (bb), cef, ibge,...
Apostila   3000 questoes (testes) resolvidos banco do brasil (bb), cef, ibge,...Apostila   3000 questoes (testes) resolvidos banco do brasil (bb), cef, ibge,...
Apostila 3000 questoes (testes) resolvidos banco do brasil (bb), cef, ibge,...
 
3000 questoes de informatica resolvidos banco do brasil (bb), cef, ibge, tre...
3000 questoes de informatica  resolvidos banco do brasil (bb), cef, ibge, tre...3000 questoes de informatica  resolvidos banco do brasil (bb), cef, ibge, tre...
3000 questoes de informatica resolvidos banco do brasil (bb), cef, ibge, tre...
 
3000 questoes de informatica resolvidos banco do brasil (bb), cef, ibge, tre...
3000 questoes de informatica  resolvidos banco do brasil (bb), cef, ibge, tre...3000 questoes de informatica  resolvidos banco do brasil (bb), cef, ibge, tre...
3000 questoes de informatica resolvidos banco do brasil (bb), cef, ibge, tre...
 
Conhecimento Basico de Informatica - Parte II
Conhecimento Basico de Informatica - Parte IIConhecimento Basico de Informatica - Parte II
Conhecimento Basico de Informatica - Parte II
 
Questões Comentadas - Informática para Concurso
Questões Comentadas - Informática para ConcursoQuestões Comentadas - Informática para Concurso
Questões Comentadas - Informática para Concurso
 
Tecnicas de Detenção de Avaria
Tecnicas de Detenção de AvariaTecnicas de Detenção de Avaria
Tecnicas de Detenção de Avaria
 
Primeiros passos com Nerves (Elixir para dispositivos embarcados)
Primeiros passos com Nerves (Elixir para dispositivos embarcados)Primeiros passos com Nerves (Elixir para dispositivos embarcados)
Primeiros passos com Nerves (Elixir para dispositivos embarcados)
 
Aspectos basicos de hardware e software
Aspectos basicos de hardware e softwareAspectos basicos de hardware e software
Aspectos basicos de hardware e software
 
Aspectos basicos de hardware e software
Aspectos basicos de hardware e softwareAspectos basicos de hardware e software
Aspectos basicos de hardware e software
 
aula_05.pdf
aula_05.pdfaula_05.pdf
aula_05.pdf
 
Manual Placa Mãe Phitronics - P7I45GC-M.pdf
Manual Placa Mãe Phitronics - P7I45GC-M.pdfManual Placa Mãe Phitronics - P7I45GC-M.pdf
Manual Placa Mãe Phitronics - P7I45GC-M.pdf
 
Introdução a Lógica e Conceitos de Programação.ppt
Introdução a Lógica e Conceitos de Programação.pptIntrodução a Lógica e Conceitos de Programação.ppt
Introdução a Lógica e Conceitos de Programação.ppt
 
Alfa con 1 -introducao-a-informatica
Alfa con 1 -introducao-a-informaticaAlfa con 1 -introducao-a-informatica
Alfa con 1 -introducao-a-informatica
 
Informática 1
Informática 1Informática 1
Informática 1
 
Arduino- Conceitos e Aplicações
Arduino- Conceitos e AplicaçõesArduino- Conceitos e Aplicações
Arduino- Conceitos e Aplicações
 
1
11
1
 
Equipamentos informaticos
Equipamentos informaticosEquipamentos informaticos
Equipamentos informaticos
 
Aula 1 conhecimentos básicos - hardware
Aula 1    conhecimentos básicos - hardwareAula 1    conhecimentos básicos - hardware
Aula 1 conhecimentos básicos - hardware
 
Arquitectura Interna Do Computador
Arquitectura Interna Do ComputadorArquitectura Interna Do Computador
Arquitectura Interna Do Computador
 

Firmware: um mercado em expansão

  • 1. Firmware, esse ilustre desconhecido Marcelo Castellani – mindaslab.com
  • 2. Sobre o que falaremos aqui Desenvolvimento 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”
  • 3. O que é um firmware? 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. http://pt.wikipedia.org/wiki/Firmware
  • 4. E onde encontro um firmware? (em todo lugar?)
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11. Firmware está em todo lugar! Acredite, em todo lugar MESMO.
  • 12. E quem desenvolve isso? Engenheiros e técnicos eletrônicos Analistas de sistemas e afins
  • 13. 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.
  • 16. E por que pagam mais? Lei da oferta e da procura
  • 17.
  • 18.
  • 19.
  • 20.
  • 21. 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 dasIDEspagas possuem assistentes e ferramentas que facilitam muito a vida do desenvolver
  • 23. Simulador de HW do µVision
  • 24. JTAGs
  • 25. Debug
  • 26. Ok, e agora? O Que fazer?
  • 30. Conceitos básicos 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()) Geralmente os firmwares possuem um “loader”, ou seja, um código independente capaz de atualizar o código principal.
  • 32. Conceitos 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) 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?
  • 33. Conceitos Hardware 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.
  • 34. Mão na massa? Não, não vamos escrever um firmware agora, mas sim entender melhor tudo isso, na prática.
  • 35.
  • 37.
  • 38.
  • 40. 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....
  • 41.
  • 42. Resumão Se 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.
  • 43.

Editor's Notes

  1. Freio ABS, Injeção Eletrônica
  2. Alimentador automático peixes, porta retrato digital