Sistema embarcado
Um sistema embarcado (ou sistema embutido) é um sistema microprocessado no qual o computador é completamente encapsulado ou dedicado ao dispositivo ou sistema que ele controla. Diferente de computadores de propósito geral, como o computador pessoal, um sistema embarcado realiza um conjunto de tarefas predefinidas, geralmente com requisitos específicos. Já que o sistema é dedicado a tarefas específicas, através de engenharia pode-se otimizar o projeto reduzindo tamanho, recursos computacionais e custo do produto. A alma de um sistema embarcado é o seu microcontrolador, que é, o processador, a memória, as interfaces de entrada e saída todas dentro de um mesmo chip, tornando muito mais simples a confecção de um sistema. Os fabricantes mais comuns desses microcontroladores são a NXP, Texas Instrument, Atmel, entre outros.
Um exemplo de sistema embarcado: Computadores de bordo automotivo; Smartphones e PDAs;Sistemas de controle de acesso biométrico.
Por serem muito simples, muitas vezes esses sistemas não têm flexibilidade (de software e de hardware) que lhes permita fazer outras tarefas quaisquer que não sejam aquelas para as quais foram desenhados e desenvolvidos. A única flexibilidade permitida e desejada é no caso de um upgrade de novas versões, fazendo com que o sistema possa ser reprogramado, geralmente com correções ou novas funções que o tornem melhor. Mas isto é feito sempre pelos fabricantes e quase nunca pelos usuários finais.
No processo de desenvolvimento do software do sistema embarcado, ocorre que esta é desenvolvido em um computador pessoal comum sendo transferido para o sistema embarcado apenas nos estágios finais do desenvolvimento. Em alguns casos isso é feito através da porta USB (ou de uma porta serial), mas em outros é necessário gravar um chip de EPROM ou memória flash com a ajuda do gravador apropriado e transferir o chip para o sistema embarcado para poder testar o software.
Um grande responsável pelo expansão do uso e