O que é firmware?
Firmware ou software embarcado é um programa gravado em uma memoria não volátil, resumidamente é um software destinado a um hardware.
O termo "embarcado" se refere justamente a um firmware embutido em um dispositivo de hardware, como por exemplo:
- Smartphone
- Televisores
- Computadores
- Relógio digital
- Entre outros ...
Podemos deduzir que o firmware é a parte lógica de um dispositivo, é o "cérebro" da placa, uma inteligência programada que define as ações e controla todo o conjunto de hardware atribuído a ele.
Como desenvolver um firmware
Para desenvolver um firmware, primeiramente deve-se ter conhecimento em alguma linguagem de programação com suporte a sistemas embarcados, como por exemplo:
- C
- C++
- Verilog
- Entre outros ...
Após dominar uma linguagem de programação, é fundamental ter conhecimento sobre o hardware onde deseja embarcar o software, seja ele um microcontrolador, microprocessador, FPGA ...
Iniciante em sistemas embarcados
A área de sistemas embarcados é muito complexa, requer conhecimento diversos em programação e analises de hardware, para quem deseja iniciar na área de desenvolvimento de sistemas embarcados segue um guia dos principais tópicos que devem ser estudados.
- Linguagem de programação com suporte a sistemas embarcados.
- Compiladores (sistema de compilação, diferença compiladores, ...).
- Sistemas operacionais (Conceitos de SO, FreeRTOS e outros SO).
- Ferramentas de controle de versões (git).
- Ferramentas de depuração.
- Habituar-se a ler datasheet.
- Entendimento de Hardware.
O estudo e a pratica constante te levarão a ser um profissional capacitado na área.