Voltei, agora vamos falar de
firmware para Linux mais especificamente
OpenFirmware.
(promessa é divida
niquel )
Hoje existe 2 formas de se trabalhar com
firmware:
1 - Carregando este
firmware em um dispositivo físico, ROM,
PROM,
EPROM ou ainda
EEPROM , integrados ao hardware.
2 - Carregando o
firmware para dispositivos externos, por exemplo uma placa
wirelles , uma placa de
tv, apartir de um arquivo contendo as instruções para o dispositivo.
O firmware na
realidade é um software, mas geralmente destina-se ao controle de determinadas funções, para dispositivos
fisicos, como nos exemplos citados acima.
Firmware 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.
Exemplos de Firmware: 1) - A
Bios (
Basic Input/Output
System ) do seu computador é um
firmware.
2) - O seu aparelho de
DVD tem um
firmware.
3) - Seu micro ondas também tem um
firmware.
4) - Seu
video game também tem um, e as vezes é necessário a troca ou
atualização do mesmo para poder jogar certos games, mas isto é papo pra outro
post.
rs ...
OpenFirmwareÉ uma variação de
firmware criada originalmente em compatibilidade com a norma *
IEEE *
IEEE 1275-1994.
Sua principal
característica é ser compilada em
FCode, o que lhe
proporciona independência de
arquitetura.
Hoje no mundo Linux os
desenvolvedores se beneficiaram desta tecnologia para poder criar uma engenhoca fantástica, a sacada ai foi não gravar a
firmware mais em uma memoria como uma ROM etc ... E sim criar um arquivo com o conteúdo da
firmware.
Bom vamos lá, sabemos que o Linux é um sistema modular correto ?
O
kernel carrega os
modulos sob demanda para poder conversar com o
hardwarer etc ...
Então foi ai que um santo teve a seguinte ideia, ao invés de colocar o drive da minha placa
wirelles todo dentro de um modulo no
kernel, vou colocar só a parte de comunicação em um modulo no
kernel e carregar um
firmware com todas as instruções necessárias para
utilizar devidamente o dispositivo
wirelles, pois ai posso carrega-la na memoria e conversar com o hardware, e quando eu tiver que
atualizar algo só preciso manipular a
firmware pois o modulo de comunicação com o dispositivo
será o mesmo no
kernel.
Com esta evolução os fabricantes de hardware e periféricos, poderão facilmente criar
firmware que irão funcionar
independente do S.O.
Driver usando conceito OpenFirmware.1) - Dispositivos
Wirelles da Intel e
Ralink2) - Algumas placas de TV
3) - Algumas placas de Som
Obs: Quando você instala os drivers para estes dispositivos na verdade o programa de instalação esta colocando uma
firmware em sua maquina e o modulo/driver para conversar com este
firmware.
O Conceito de
OpenFirmware é fantástico principalmente para sistemas dinâmicos e evolutivos como o Linux, que seu
kernel sofre a cada semana centenas de mudanças.
Um simples exemplo de funcionamento no Linux. O (
KERNEL) carrega (MODULO) que faz o
probe do hardware e chama o (
FIRMWARE) que esta em /
lib/
firmware/
my_
firmware.
bin que carrega e manipula minha placa
wirelles.
Quando eu trocar o (
KERNEL) só preciso continuar tendo o (
FIRMWARE) para que minha placa funcione
corretamente.
Pois o (
KERNEL_NOVO) continuará a carregar o (MODULO) que continuará a fazer o
probe do hardware e chama o (
FIRMWARE) que esta em /
lib/
firmware/
my_
firmware.
bin , que irá carregar
indepente de versão de
kernel,
glib,
gcc, etc ...
Resumo:Esta é uma opção para a criação de drivers
independente do S.O.
Dispositivos baseados em
firmware são a grande sacada do momento, pois o
usuário não precisará temer
atualizações em seu sistema, com receio de após a
atualização a placa de som não funcionar ou o drive de sua placa de
video não funcionar
corretamente.
Agradecimento
Wikpedia Google etc ... Links:
*http://playground.sun.com/1275/home.html*http://www.openfirmware.info/IEEE_1275-1994http://www.kernel.org/
http://www.firmworks.com/