- Como o firmware e o driver de dispositivo são diferentes e relacionados? Eu acho que os dois dispositivos de controle?
- O firmware é sempre auto-inicializável, enquanto o driver deve ser executado / inicializado pelo sistema operacional?
Firmware é o software que roda no dispositivo. Um driver é o software que informa ao sistema operacional como se comunicar com o dispositivo. Nem todos os dispositivos possuem firmware - apenas dispositivos com algum nível de inteligência.
Não sei exatamente o que você quer dizer ... de um modo geral, o firmware não tem nada a ver com "inicializar" ... acho que talvez você esteja perguntando: os dispositivos com firmware sempre têm o firmware instalado no dispositivo, ou é carregado após o tempo de inicialização. Se é isso que você está perguntando, a resposta é não ...
Geralmente, os dispositivos com firmware têm o firmware programado no dispositivo (com um chip ROM ou um chip ROM programável), mas há alguns dispositivos em que o firmware é carregado no dispositivo no momento da inicialização. Posso pensar em algumas placas de rede e webcams que funcionam dessa maneira, mas tenho certeza de que há outras também.
only devices with some level of intelligence have firmware
? Eu diria que é o contrário, dispositivos simples (eletrônicos) podem não ter sistemas operacionais, mas possuem firmware.O firmware implementa detalhes de baixo nível necessários para operar o hardware e fornece uma API / ABI para um nível superior. Um driver de dispositivo fornece um adaptador entre o sistema operacional e a API / ABI exposta pelo firmware.
fonte
A definição moderna ou o uso comum de firmware não tem nada a ver com uma funcionalidade específica de software. O firmware é simplesmente um software armazenado em chips de memória semicondutora não volátil (por exemplo, PROM, EEPROM ou flash), em vez de um dispositivo de armazenamento em massa, como um disco rígido. O software armazenado pode ser um binário vinculado monolítico ou consistir em carregador, kernel e módulos de aplicativos. (OTOH, vi algumas placas sintonizadoras de TV para PCs que exigem o carregamento de "firmware" pelo kernel do Linux para concluir a inicialização.)
A origem do termo tem a ver com lógica controlada por processador versus lógica conectada. O software armazenado nos discos rígidos pode ser facilmente modificado e atualizado. Revisões e atualizações da lógica conectada exigiam reformulação e substituição da placa ou módulo. O meio termo era um processador executando software para controlar o hardware. O software foi chamado empresa de utensílios para refletir o meio termo entre macio mercadoria contra duro lógica com fio. Originalmente, o firmware era armazenado em chips ROM, PROM ou EPROM, a fim de manter a modularidade da placa. O avanço da EEPROM e dos chips flash permitiu atualizações no circuito e a bordo do firmware.
À medida que os processadores (e periféricos) ficavam menores, mais baratos e com menos consumo de energia, as possibilidades de incorporá-los em todo tipo de dispositivo / dispositivo se expandiam. Para tornar o software para operar esses dispositivos robusto e seguro, o software é armazenado em chips de memória flash em vez de em um disco rígido; também torna o dispositivo menor e muito mais barato. O termo firmware foi expandido para abranger todo o software em dispositivos / dispositivos com processadores incorporados, mesmo que algumas partes do código armazenado não tenham relação com a substituição da lógica conectada.
fonte
Alguém postou esta pergunta recentemente , dizendo:
De fato, a
drivers
tag do SuperUser é definida:e a
firmware
tag é definida:Originalmente, eu pensava que
firmware
era instalado diretamente no chip ou na placa e morava lá, e é por isso que ele precisa "piscar", enquanto você instalava umdriver
em cima de um sistema operacional.Conclusão:
Firmware
permite que o hardware "faça" coisas edrivers
permite que o software interaja com o hardware.fonte