Arduino - TDC 2011

  • View
    639

  • Download
    5

  • Category

    Career

Preview:

Citation preview

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.

Obrigado!marcelo@mindaslab.com

@mfcastellani