NAND 360 bloques y offsets

Bueno abro este hilo a ver si alguien q domine mas y mejor los hexadecimales o pueda hacer o tenga alguna aplicacion para entender mejor las nand del 360
Muchas veces se habla de bloques y de offsets y muchos se pierden dentro de numeros hexadecimales gigantes.
La nand de 16 Mb posee 1024 bloques empezando por el bloque 0, y tiene un area reservada de 32 bloques para remapear los bloques malos empezando por el bloque 992=0x3E0 y terminando en el bloque 1024=0x400. Como ven son muchos bloques cada uno esta contado en hexadecimal. Pero cada uno representa una posicion dentro de la nand.
en el caso de las nand de 16mb cada bloque es de 16kb. Por lo q del bloque 0 al bloque 1 habra 16kb de informacion, pero a la ves representa distintas posiciones de offset en hexadecimal, lo cual es engorroso de calcular.
Ahora mi inquietud es q alguien hicera un programita sencillo q uno diera el dato del bloque y le devolviera el offset donde esta y viceversa asi uno cuando usara un editor hexadecimal fuera directo al bloque.
Si alguien tiene algo parecido ayudaria mucho. Y se podria remapear usando un editor hexa, para mas seguridad.
Los bloques malos se conocen enseguida pues estan rellenos con 0. Los bloques vacios estan rellenos con F.
bueno espero una ayuda
alex out
haber si te lee alguien que entienda jajaj,yo lo que me gustaria saber es como puedo extraer un fichero y reemplazarlo por otro,en la nandme lian esas posiciones tambien
Guardado en Favoritos.
Gracias!
Aprovecho el hilo para preguntar:

Hoy me encontrado con un BAD BLOCK extrayendo la NAND de una FALCON, el bloque 206 para ser exacto, bueno lo e remapeado con el nandpro y ahora al pasarle el BAD BLOCK MOVER me dice que no hay BAD BLOCK's en la NAND pero también dice esto:

Warning skipped Block ID 0x0000 at offset 0x0107BE00

Esta bien o no debería de usar esta NAND?????

Es que no se si es normal que diga eso aun estando ya el BAD BLOCK remapeado.saludos
titiyo como explique arriba las nand tienen un area reservada para mover sus bloques malos.Estos bloques malos son rellenados con 0 por lo tanto son faciles de ver dentro de la NAND pues veras muchos 0 seguidos dentro de la informacion de la NAND y es muy facil marcar donde empieza y donde termina un bloque malo. El programa BAD BLOCK MOVER q solo fnciona en NAND de 16mb solo te ha dicho q se esta saltando ese bloque malo q se encuentra en el bloque 0 y en ese offset lo q encuentro raro es como ese bloque q es el primero tenga ese offset tan grande. Veo mas logico ese offset para el bloque 206. Ahi es donde entra a jugar lo q pido en el primer post mio una especie de calculadora hexadecimal q introduciendole el dato de tu nand si es de 16mb(1024 bloques), 256mb(2048 bloques) o 512mb(4096 bloques) nos traduzca un bloque a offset...ejemplo q yo le diga el bloque 206 y el me diga empieza en el offset 0x0107BE00 y termina en el offset 0x0107BEF7 (esto es un ejemplo no quiere decir q sea asi)..y tamb podria ser viceversa dando el offset q nos diga el bloque. Tamb el programa pudiera especializarse mejor y traer y apor defecto marcar, extraer y sustituir bloques ya sabidos como el kv y el config. Se q muchos programas lo hacen pero todos lo hacen sin mostrar el contenido.Yo hablo de algo mas parecido a un editor hexa pero solo para nand de 360 algo mas aplicado a las 360..con opciones muy especificas.
Titiyo volviendo a tu caso la mejor solucion de todas y vas muy al seguro es q uses linux para q te remapee ese sector malo. Ahi se ve muy bien cuando linux escanea el area reservada de tu nand para ver si tienes sectores malos y automaticamente tu mueve cualquier informacion q supuestamente deberia caer en ese sector malo al final de tu nand en esa area reservada. Yo debido a mi epxeriencia con el jtag en lo unico q realmente confio es en el XBRFLASH de linux. A no ser q alguien haga una aplicacion como la q planteo aqui q realmente yo vea en hexadecimal q las cosas se hicieron bien
alex out
jaja entiendo lo que decis a mi tambien me gustaria un progra igual lo necesito para saber cual es la info de cada bloque
Bueno ahora solo faltaq un buen programador haga algo parecido, estuve mirando el nand healer y trae algo muy parecido y es muy esclarecedor ver como cada bloque trae 32 paginas. Por lo tanto se hace mucho mas engorroso aun moverse. El de nandhealer solo sirev para visualizar asi como el de el flashtool. Se pueden imaginar una nand de 512mb con 4096 bloques y cada bloque con 32 paginas eso da un numero bastante grande de posiciones. Si el programa q se hiciese ademas de dejarnos mover por los bloques tuviese colores para marcarlos como el kv...el config el area reservada y otros de interes seria una interfaz mucho mas amigable..lastima q yo no se programar pero puede q le de el proyecto a alguien q si sepa y tratar de hacer algo asi. Si alguien se embulla q me lo diga y le dar ela informacion necesaria de las nand y como seria mas o menos el programa y q haria
alex out
El offset 0x0107BE00 corresponde en una nand 16Mb al bloque 0x3FF, y se calcula asi.

0107BE00h / 4200h = 3FFh

El 4200 es porque los bloques no son 16Kb solo (4000h), son los 16Kb de info real (4000h) mas los 512 bytes de control y marcas de estado del sector (200h). Supongo que en las bignand todos los numeros se multiplican por 4, ya que los sectores son de 64Kb en vez de 16Kb si no recuerdo mal.
Interesante explicacion de RastaMan creo q eso ayudaria a calcular los bloques. Entonces solo haria falta un buen progrmador para q hicera una aplicacion. Seria especie de un heditor hexa..solo q para ser usado en nand de 360 y facilitar su comprension y manejo a bajo nivel. Seria ideal q tuviese los bloques mas importantes en distintos colores, y q sea muy intuitivo, de solo decirle extraer automatico o manual. Ir al bloque, ir al offset o ir a la pagina X del Bloque X. Sustituir el bloque x por el fichero X..y asi
Quien se anima
alex out
RastaMan escribió:El offset 0x0107BE00 corresponde en una nand 16Mb al bloque 0x3FF, y se calcula asi.

0107BE00h / 4200h = 3FFh

El 4200 es porque los bloques no son 16Kb solo (4000h), son los 16Kb de info real (4000h) mas los 512 bytes de control y marcas de estado del sector (200h). Supongo que en las bignand todos los numeros se multiplican por 4, ya que los sectores son de 64Kb en vez de 16Kb si no recuerdo mal.



Ya tenia el JTAG echo pero me quedo tranquilo sabiendo que el offset 0x0107BE00 corresponde al bloque 0x3FF, pos eso mas tranquilo sabiendo que bloque malo al final se remapeo al ultimo bloque.saludos
9 respuestas