Ver Mensaje Individual
Antiguo 03/02/2006, 13:06   #93
ferix
Usuario Activo
 
Fecha de ingreso: 12/jul/2005
Mensajes: 82
ferix está en el buen camino
Hola a todos...

Lo primero, pedir perdón por no postear desde hace casi una semana, pero estoy muuuuuy liado con 101.000 cosas...

Ahora vamos al grano.
Los dbox "originales", digamos dbox1, efectivamente estan basados en cpus de motorola, más concretamente en las 68340, correspondiente a la familia CPU32, derivada a su vez de la familia 68000. Para el que le interese, la familia CPU32 son unos microcontroladores con un core 68000 extendido. Básicamente es un 68000 al que se le han añadido instrucciones de salto relativo de 32 bits (como el 68020) y alguna instrucción extra en modo supervisor (las del 68010).
Estos, efectivamente, no nos valen de nada para entender a nuestro querido sagem.
Sin embargo, los dbox2 son los hermanos mayores (en prestaciones, no en edad) de nuestro querido STB01001. Estan basados en los procesadores STB02500, STB03000 y STB04000/04500. Estos si se parecen, y mucho, al de nuestro deco.
La principal diferencia está en el core ppc que integran. En nuestro caso, el STB01001 integra un core ppc401D2, a 50 Mhz (realmente 49.90 Mhz). En los dbox2 llevan desde el ppc403, al ppc440 pasando por el ppc405, con velocidades de hasta 450 Mhz.
A pesar de esto, siguen siendo compatibles, al menos en el modo usuario, ya que las principales diferencias estan en el modo supervisor, que es el modo en el que se configuran los dispositivos especiales (controlador/mapper de flash/sram, controlador de dram, controlador de bus, etc...) y la caché.
Además de esto, incorporan periféricos extra de los que carece nuestro core, como el puerto IDE (para discos duros, etc...), interfaces ethernet (red), y alguna cosilla más como un segundo controlador de DRAM...
¿Que quiere decir esto?, pues que por suerte, el soft que utilizan es libre (no se si GNU, pero al menos si free, y disponible) y se llama Neutrino (hay un par más, pero de momento nos vamos a quedar con este nombre).
Este soft es una aplicación que a su vez corre bajo linux, y que se encarga de controlar el deco, sintonizar canales, etc... y además vale tanto para satelite como para cable o dtt (tdt en inglés), ya que separa la parte del muxer DVB de la parte de recepción. Para cambiar entre satelite a cable o dtt es tan facil como cargar o descargar el módulo correspondiente.
Ahora viene la parte interesante... portar linux a nuestro core...
En principio puede parecer dificil, pero no lo es tanto si se tiene un poco de tiempo. Básicamente hay que coger el código que utilizan estos decos (que ya se encuentra integrado en el kernel 2.6) y eliminar 'lo que sobra', y añadir alguna cosilla tambien.
Por lo que he podido comprobar, hay muchas cosas que estan en el mismo sitio, pero otras no, así que toca investigar.
Pero antes de todo esto... ¿Como cargamos linux?.
Ahí es donde interviene el bootloader. En el caso de los dbox2 el bootloader es u-boot, un bootloader para ppc GNU. Aquí tambien nos podemos aprovechar de lo que ha hecho esta gente, ya que apenas tendremos que cambiar alguna cosa.
Las modificaciones básicas son las referentes a la incialización del procesador que he descrito antes, las cuales, en parte he averiguado analizando el firm de nuestro deco.
Para finalizar, solo comentar que aunque consigamos todo lo que he escrito, no quiere decir que funcione todo al 100%, ya que habra cosas que no son exactamente iguales.
En definitiva, que si queremos darle 'nueva vida' a nuestro deco, nos espera muuuuuuuucho curro.

Saludos.

P.D.: Mucha de la información que he utilizado para hacer el dumper/flasher la he sacado de este proyecto, y alguno más basado en cores ppc (no especialmente STB).
Ahh, tambien hay dbox2 basados en otros cores ppc, como los mpc8xx de motorola, o en cores génericos como el ppc403gx (el caso de los decos TiVo).
Edito de nuevo para comentar una cosa. Al meterle linux podemos convertir nuestro deco en prácticamente cualquier cosa... De hecho, hay un port de scummvm para los dbox2 ([URL="http://scummvm.sourceforge.net/"]http://scummvm.sourceforge.net/[/URL]), y muchas más cosas (aparte de emuladores CAM ). Imaginad... utilizar el deco, por ejemplo, para navegar por internet (vaya novedad ), controlar el pc desde el salón (con el VNC), escuchar MP3... etc...
Para algunas cosas necesitariamos echar a andar el puerto pcmcia para poder pinchar tarjetas wifi o convertidores CF/SD o lo que sea a pcmcia para utilizarlos como disco duro...
Bueno, voy a dejarlo de momento aquí, que me estoy emocionando

Edito de nuevo. Lo más importante en este momento es hacer funcionar correctamente el puerto serie.
Necesitamos un metodo de I/O con el que comunicarnos con el aparato, y el puerto serie es en principio el más fácil de utilizar... pero solo en principio

Última edición por ferix; 03/02/2006 a las 19:42.
ferix está desconectado
Respuesta rápida a este mensaje
Responder Citando Subir