Ver Mensaje Individual
Antiguo 10/12/2005, 15:08   #6
ferix
Usuario Activo
 
Fecha de ingreso: 12/jul/2005
Mensajes: 82
ferix está en el buen camino
Vamos a ver... os cuento:

Yo dispongo de 2 decos ITD4430, los dos con bong4003 y flash Intel E28F640 (solo una).
Esta flash, tanto para leerla, como para programarla, no hay problema por jtag... o por lo menos, yo no lo he tenido (bueno, salvo windows, pero ese es otro tema).
Partiendo de ahí, he obtenido el firm del deco, y lo he desensamblado en el Ida v4.80 (Interactive DisAssembler de Datarescue). Por otro lado, me he consegido el source del kernel linux de montavista, que es para un stb02500, hermano 'mayor' (por caracteristicas, no por viejo :P) de nuestro stb01001. Tiene algunas diferencias, pero al menos me ha dado pistas sobre la función de algún DCR (registros especiales del core ppc para configurar cosas... explicado a lo bruto, claro), con lo que he podido aislar la parte de inicialización del sistema básico (dram, flash, puerto serie...).
Ahora tengo que analizarlo un poco más profundamente, para poder entender porque hace algunas cosas.
Por ejemplo, hay una parte del código que realiza varias escrituras sobre la dram, despues de inicializarla, y luego parece que en función de los datos obtenidos, la reconfigura de nuevo. Imagino que será una forma de determinar el tamaño de la ram, pero hasta que descubra el significado exacto de cada bit del DCR que controla el sistema de ram, no lo puedo asegurar...
Bien, eso es lo que tengo hasta ahora... que parece poco y no lo es tanto (me he chapao los ppc en 2 días... ozú que jartá).
Luego vendría la fase dos... un bootloader decente. Básicamente, lo que hay que hacer es coger un bootloader existente ya para ppc, como u-boot o ppcboot, y portarlo.
El port de un bootloader de este tipo, por lo general, consiste en modificar el código de inicialización para que se adapte a lo que nosotros tenemos, y proporcionarle algún medio de i/o básico. En resumidas cuentas, hacer que inicialice la ram, la flash (más que inicializarla, mapearla) y el puerto serie. A partir de ahí, toma el control el programa.
Una vez obtenido el dicho bootloader, el resto es mandarle cosas para hacer pruebas, y más adelante, cuando ya tengamos algo 'arrancable', por ejemplo linux, arrancarlo directamente desde la flash...
Por cierto, lo de programar/leer las flash es relativamente fácil. Solo hay que crear las macros necesarias para enviarlas a traves del jtag...
Para mi no es fácil, porque apenas me defiendo con los ppc de momento, pero ya lo he hecho con otros procesadores como los derivados del 68k (68332, 68328, etc...) y casí lo mismo.

Bufff... valla tocho :P

Espero vuestras opiniones/consejos/animos/loqueseteocurra...

Saludos.
ferix está desconectado
Respuesta rápida a este mensaje
Responder Citando Subir