Al margen de qué utilidades puntuales se puedan utilizar, si debes tener en consideración lo siguiente:
1) Memoria RAM: Al estar todo dentro de un medio de solo lectura, es indispensable saber de antemano la direcciones de memoria que vas a utilizar como variables, quizás el hardware para el que estés queriendo hacer este firmware tiene memoria ram que debe ser "mapeada" correctamente antes de poder ser utilizada.
2) Lenguaje de programación: Como el espacio es reducido, es poco probable que puedas utilizar algo más que ASM o C. Así que dominio en el manejo de punteros, estructuras y asm embebido, es más que deseable.
3) Formato del programa: Aqui no hay mucho de dónde escoger, si estamos hablando de x86, tu firmware debe ser una imagen leible y entendible por el BIOS de la máquina (y en este punto no hay forma de reconocer un A.OUT ni ELF, mucho menos un EXE, ISO, etc).
La cabecera de una imágen válida de BIOS no la tengo a la mano, la recuerdo vagamente y buscando un poco en internet, puedes encontrar algo más de información. Aquí te copio algo que encontré en menos de 2 minutos:
" a BIOS routine scans through special reserved memory locations looking for a special byte sequence that acts as the signature of add-in BIOS modules. This signature was called the preamble bytes of the module, and its format was precisely dictated. A special two-byte sequence indicated the beginning of an extension code section--055(Hex) followed by 0AA(Hex). Immediately following the two-byte preamble bytes was a third byte that quantified the length of the additional BIOS. The number indicated how many blocks 512 bytes long were needed to hold the extra code."
El resto lo encuentras en:
http://www.gen-x-pc.com/BIOS_info.htm
4) Conocimiento de la arquitectura: Si tu firmware va a ser invocado por algun controlador de dispositivo, tu firmware debe estar preparado para manejar interrupciones, transferencias DMA, soportar quizas PnP, PIO, MMIO, manejo de excepciones, recuperación de errores, etc.
Si el controlador va a hacer todo el trabajo, estos requerimientos de manejo de interrupciones, DMA y demás, se transfieren al controlador, pero no dejan de ser requisitos ^_^.
Espero haber disipado algunas dudas (y haber sembrado otras ^_^) y también espero que tengas suerte en tu búsqueda de información.
PD: Quizás hayan otros aspectos, que yo desconozco, que debas tener en cuenta, pero al menos con esto ya tienes por dónde empezar.
On 3/28/06, Walter Willis <[EMAIL PROTECTED]> wrote:
holas como estan, bueno mi pregunta es:
alguien sabe como hacer un firmware o tiene un par de paginas para que
me las pase?
_______________________________________________
Linux-plug mailing list
[email protected]
http://www.linux.org.pe/cgi-bin/mailman/listinfo/linux-plug
--
Nestor
_______________________________________________ Linux-plug mailing list [email protected] http://www.linux.org.pe/cgi-bin/mailman/listinfo/linux-plug
