Raramente en algun desarrollo realizado principalmente en lo que es software libre, encontraras que alguien desarrolla hasta el nivel del firmware, por ejemplo los drivers acx100/111, ndiswrapper, usan el firmware desarrollado por el fabricante para windows XP, precisamente por que la informacion especifica de los chips, no es puesta al alcance de los desarrolladores, que prefieren mantener codigo cerrado y mantener en secreto las especificaciones de hardware. El firmaware que se ejecuta a mas bajo nivel que el sistema operativo y de los driver inclusive, es bastante comun en la actualidad encontrar tarjetas de audio, video, red, que se cargan desde el disco durante la carga del respectivo driver, teniendo este una etapa de inicializacion, etapa en la que cargan el firmware. De hecho la programacion de firmware esta dentro de la categoria de lo que se denomina software de sistemas, y ciertamente requiere de conocimientos muy especificos, los fabricantes de los chips proveen los "development kits" para poder desarrollar dichos programas para un chip especifico tipicamente en assembler, dados requerimientos de tiempo de respuesta y tamaño del codigo.
Saludos. FMAQ El sáb, 01-04-2006 a las 10:01 -0500, Justino Quispe Calderon escribió: > Victor Paceña, como es que se llamaba el pata que hizo esto para un > Router y que expuso en el Flisoo en la UTP ....no sé es que le puedes > decir que se una ha este foro..?? > > Tino > > -----Mensaje original----- > De: nestor ruiz [mailto:[EMAIL PROTECTED] > Enviado el: Viernes, 31 de Marzo de 2006 11:06 a.m. > Para: [email protected] > Asunto: Re: [l-plug] hacer un firmware > > > Firmware no es otra cosa que un software grabado en hardware, > ya sea éste una memoria rom, flash, etc. > > 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 > > > -- > No virus found in this incoming message. > Checked by AVG Free Edition. > Version: 7.1.385 / Virus Database: 268.3.4/299 - Release Date: > 31/03/2006 > > > > > > -- > No virus found in this outgoing message. > Checked by AVG Free Edition. > Version: 7.1.385 / Virus Database: 268.3.4/299 - Release Date: > 31/03/2006 > > > _______________________________________________ > Linux-plug mailing list > [email protected] > http://www.linux.org.pe/cgi-bin/mailman/listinfo/linux-plug
_______________________________________________ Linux-plug mailing list [email protected] http://www.linux.org.pe/cgi-bin/mailman/listinfo/linux-plug
