Autor Tema: MMC Card : Hardware & Firmware  (Leído 52353 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 17506
    • MicroPIC
Re: MMC Card : Hardware & Firmware
« Respuesta #60 en: 27 de Enero de 2007, 12:33:01 »
Mmmmm, vosotros estáis liados con la FAT, Diego ya implementó la lectura y escritura del teclado PS2, yo hice lo propio con un ratón PS2, el maestro Sisco genera señal VGA ... ¿qué nos falta para meter un Linux en un PIC?
Un saludo desde Sevilla, España.
Visita MicroPIC                                                                                        ɔ!doɹɔ!ɯ ɐʇ!s!ʌ

Desconectado aitopes

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5102
    • uControl
Re: MMC Card : Hardware & Firmware
« Respuesta #61 en: 27 de Enero de 2007, 12:40:04 »
Hola Manolo!
Linux no creo....pero ¿no se podra hacer (como ejercicio nomas) una especie de microcomputadora, como las ZX81 o similares, basandose en un PIC?
Te dejo la idea...;)

Saludos!
Si cualquier habilidad que aprende un niño será obsoleta antes de que la use, entonces, ¿qué es lo que tiene que aprender? La respuesta es obvia:
La única habilidad competitiva a largo plazo es la habilidad para aprender
“. Seymour Papert

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 17506
    • MicroPIC
Re: MMC Card : Hardware & Firmware
« Respuesta #62 en: 27 de Enero de 2007, 12:42:02 »
¡Eh, eh!, a mí no me desafíes. ¡¡¡Además, yo lo he dicho antes!!!  :P
Un saludo desde Sevilla, España.
Visita MicroPIC                                                                                        ɔ!doɹɔ!ɯ ɐʇ!s!ʌ

Desconectado aitopes

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5102
    • uControl
Re: MMC Card : Hardware & Firmware
« Respuesta #63 en: 27 de Enero de 2007, 12:45:00 »
Ufa....ya me ilusionaba yo con una compu hecha en casa. En fin, fue un buen intento.  :mrgreen:

Si cualquier habilidad que aprende un niño será obsoleta antes de que la use, entonces, ¿qué es lo que tiene que aprender? La respuesta es obvia:
La única habilidad competitiva a largo plazo es la habilidad para aprender
“. Seymour Papert

Desconectado Duende_Azul

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 832
Re: MMC Card : Hardware & Firmware
« Respuesta #64 en: 27 de Enero de 2007, 13:01:13 »
PROXIMO POST DE NOCTURNO (o REDPIC)!!!!!!   Compu Hecha en casa con Linux y PIC16F84   :D  :D  :D

Desconectado LABmouse

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 3574
    • Juntos es mejor
Re: MMC Card : Hardware & Firmware
« Respuesta #65 en: 27 de Enero de 2007, 13:45:45 »
ya creo que si... estos trabajan en esto como si detras estubiera un tipo tirando latigo todo el dia. jajajaja :D es impresionante lo que hacen y mas la manera de compartirlo, mas explicado imposibe.!!

Desconectado RedPic

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 5416
    • Picmania by Redraven
Re: MMC Card : Hardware & Firmware
« Respuesta #66 en: 27 de Enero de 2007, 14:28:42 »
Hoy vamos a terminar lo de las FAT, mañana le meteremos mano al PicPC  :mrgreen:
Contra la estupidez los propios dioses luchan en vano. Schiller
Mi Güeb : Picmania

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 17506
    • MicroPIC
Re: MMC Card : Hardware & Firmware
« Respuesta #67 en: 27 de Enero de 2007, 14:33:31 »
Mi primer ordenata era un MSX con un Z80A a 3,57MHz.
Hoy estoy jugando con mi dsRRBOARD que calza un dsPIC33F a 50MIPS.
Un saludo desde Sevilla, España.
Visita MicroPIC                                                                                        ɔ!doɹɔ!ɯ ɐʇ!s!ʌ

Desconectado aitopes

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5102
    • uControl
Re: MMC Card : Hardware & Firmware
« Respuesta #68 en: 27 de Enero de 2007, 14:53:19 »
¿No te digo Manolo? Ya lo tienes, lo unico que te falta es ponerle huevos! :)
Si cualquier habilidad que aprende un niño será obsoleta antes de que la use, entonces, ¿qué es lo que tiene que aprender? La respuesta es obvia:
La única habilidad competitiva a largo plazo es la habilidad para aprender
“. Seymour Papert

Desconectado RedPic

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 5416
    • Picmania by Redraven
Re: MMC Card : Hardware & Firmware
« Respuesta #69 en: 29 de Enero de 2007, 19:53:39 »
Otro palito a la burra pa que camine.

Continúo, muy poco a poco, trabajando con el asunto MMC. Ahora le he implementado al proto-firmware la función de poder leer cualquier sector (de 512 bytes) de la MMC. Ahora ya podré "navegar" por la MMC para investigar y/o confirmar la estructura FAT16 que tan bien nos está describiendo y documentando el amigo Ariel / aitopes en GUIA: FAT al desnudo.

Como yo le escribo al PIC el comando "a hhhhhhhh" donde hhhhhhhh es la dirección en ascii-hex que quiero leer me he fabricado un par de funciones.

char *_extract_arghex_from_s(char* ptr) que extrae el string argumento en ascci donde le escribo la direccion y int32 _hexstoint32(char* ptr) que convierte el string extraído a un entero larguísimo (de 32 bytes) que es la dirección que voy a leer. Estas funciones usan la estándar strlen() para conocer la longitud del argumento extraído pero ... en lugar de hacer el include del <strings.h> que me carga y compila todas las funciones de strings me he implementado solo la que me hacía falta, renombrándola como int8 _strlen(char* ptr)

Las funciones han quedado así:

int8 _strlen(char* ptr){
   int8 i;
   int8 r=0;
   for(i=0; i<MaxLenRecBuffer; ++i) {
      if(ptr[ i ]=='\0'){
         r=i;
         i=MaxLenRecBuffer;
      }
   }
   return r;
}

char* _extract_arghex_from_s(char* ptr){
   char arg[]="00000000";
   char c='\0';
   int8 i,j,L;
   L = _strlen(ptr);
   for(i=L,j=7;i!=0,j!=0,c!=' ';i--){
      c=ptr[ i ];
      if(c!=0x20 AND isxdigit(c)) arg[j--]=c;
   }
   return (char*) arg;  
}

int32 _hexstoint32(char* ptr){
   int32 n=0;
   char  arg[]="00000000";
   char* arg_ptr;
   int8  i,d;
   char  c;
   arg_ptr = _extract_arghex_from_s(ptr);
   strcpy(arg,arg_ptr);
   for(i=7;i!=255;i--){
      c = arg[ i ];
      if(c<='9') d=(c-'0'); else d=(c-'A')+10;
      switch(i){
         case 7: n += (d * 0x00000001); break;
         case 6: n += (d * 0x00000010); break;
         case 5: n += (d * 0x00000100); break;
         case 4: n += (d * 0x00001000); break;
         case 3: n += (d * 0x00010000); break;
         case 2: n += (d * 0x00100000); break;
         case 1: n += (d * 0x01000000); break;
         case 0: n += (d * 0x10000000); break;
      }
   }
   return n;
}

y su uso en el programa es tan simple como:

address = _hexstoint32((char*) recbuffer);

Así que ahora puedo ya, por fin, ir directamente a ver cuál es el BMR de mi MMC  :mrgreen:








« Última modificación: 10 de Junio de 2013, 09:37:45 por RedPic »
Contra la estupidez los propios dioses luchan en vano. Schiller
Mi Güeb : Picmania

Desconectado aitopes

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5102
    • uControl
Re: MMC Card : Hardware & Firmware
« Respuesta #70 en: 29 de Enero de 2007, 19:56:38 »
Muy bien Diego!!!!!!! :-/

Yo sigo liado con la estructura de directorios....pero siento que le voy encontrando la vuelta. 8)
Si cualquier habilidad que aprende un niño será obsoleta antes de que la use, entonces, ¿qué es lo que tiene que aprender? La respuesta es obvia:
La única habilidad competitiva a largo plazo es la habilidad para aprender
“. Seymour Papert

Desconectado RedPic

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 5416
    • Picmania by Redraven
Re: MMC Card : Hardware & Firmware
« Respuesta #71 en: 31 de Enero de 2007, 18:48:57 »
 Del salón en el ángulo oscuro,
 de su dueña tal vez olvidada,
 silenciosa y cubierta de polvo
 veíase el arpa.

 Gustavo Adlofo Becquer (Poeta Sevillano 1836-1870)
 Primera estrofa de su Rima VII

Para que no digáis de mí como Becquer decía de la dueña del arpa os confirmo que sigo en la brecha, dándome de cabezazos con la MMC Card.  :mrgreen:

Y ahora ya tengo una herramienta para navegar por sus entrañas ... y debo decir que está siendo un pequeño-gran suplicio el penetrar en los secretos de la FAT16. Estos señores de Mocosoft deberían de dejar de fumar cosas prohibidas cuando se ponen a diseñar.

Leyendo, releyendo y volviendo a leer lo publicado por el amigo Ariel/Aitopes llego a la conclusión de que falta algo. Sobre todo en cuestión de direcciones.

Me explico:

En su documento habla del MBR, y como ejemplo utiliza un Diskette, en el que el MBR ocupa el primer sector, primeros 512 bytes del mismo, o sea a partir de la dirección 0x0000. Sin embargo en mi MMC éste comienza a partir de la posición 0x8000. Y en la posición 0x0000 tengo "otra" información de la que no habla su documento.

Sospecho que es la Tabla Maestra de Particiones MPT de la que no disponen los Disquetes pero sí los Discos Duros o asimilados. Sospecho asimismo que ahí está la información necesaria para, después de leerla, encontrar en función de ella, calculándola, la posición del MBR que nos describe Ariel.

Para comenzar todo desde una posición o estado conocido de la MMC Card he procedido a:

.- Formatear en XP la tarjeta, sin marcar la opción de formateo rápido, y colocándole la etiqueta de volúmen "RRMMCCARD"

.- Creé en mi PC dos ficheros de Texto con nombres "RRFILE1.TXT" y "RRFILE2.TXT" cuyos contenidos sólo difieren en un byte, un "1" en RRFILE1 y un "2" en RRFILE2. El contenido de ambos, salvo ese byte de diferencia, es:

RRFILE1AAAAAAAAA
0123456789ABCDEF
0123456789ABCDEF
0123456789ABCDEF
0123456789ABCDEF
0123456789ABCDEF
0123456789ABCDEF
0123456789ABCDEF
0123456789ABCDEF
0123456789ABCDEF
0123456789ABCDEF
0123456789ABCDEF
0123456789ABCDEF
0123456789ABCDEF
0123456789ABCDEF
0123456789ABCDEF
0123456789ABCDEF


Como véis es muy fácil de detectar su contenido dentro de la MMC Card.

.- Copié y pegué desde mi PC primero el fichero "RRFILE1.TXT" y después el fichero "RRFILE2.TXT"

y 4º.- Me puse al habla con el PIC para estudiar cúal era el contenido de la MMC Card, dónde y qué había colocado los ficheros y la estructura que había utilizado. Para ello hago uso de la nueva versión del Firmware hace unos días.

Resumiendo, hay cinco sectores de 512 bytes cada uno de ellos, cuyo contenido parece ser el adecuado. El resultado es el siguiente:

A.- Primer sector. Dirección 0x0000. Tabla Maestra de Particiones. MPT.



B.- Segundo sector. Dirección 0x8000. Sector de Arranque. MBR.



C.- Tercer sector. Dirección 0x45000. Tabla de Asignación FAT. ROOT.



D.- Cuarto sector. Dirección 0x49000. Sector de Datos de File 1. RRFILE1.TXT



E.- Quinto sector. Dirección 0x49200. Sector de Datos de File 2. RRFILE2.TXT



Ahora solo queda ver la relación que hay entre todos ellos y a su vez con lo documentado y creo que ya tenemos la estructura que debemos implementar.  :mrgreen:

Eso es todo por hoy, amigos. Mañana más.



« Última modificación: 10 de Junio de 2013, 09:40:20 por RedPic »
Contra la estupidez los propios dioses luchan en vano. Schiller
Mi Güeb : Picmania

Desconectado aitopes

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5102
    • uControl
Re: MMC Card : Hardware & Firmware
« Respuesta #72 en: 31 de Enero de 2007, 18:59:27 »
Hola Diego!!!

Que placer ver que seguis avanzando!

Respecto de lo que comentas sobre las direcciones de las extructuras, aun no lo he posteado en el foro (a veces me lleva mucho tiempo el formato del foro) pero si ya he puesto algo en mi web. Espero esta noche (si el bebe me lo permite) seguir agregando info.

Si no me equivoco, ya he publicado las formulas para encontrar el principio de la zona de datos, de la extructura de directorios,etc.

Tengo que hacerme tiempo para poder bucear un poco en el contenido de la tarjeta. Y ni hablar para empezar a escribir la libreria! :(

Saludos!
Si cualquier habilidad que aprende un niño será obsoleta antes de que la use, entonces, ¿qué es lo que tiene que aprender? La respuesta es obvia:
La única habilidad competitiva a largo plazo es la habilidad para aprender
“. Seymour Papert

Desconectado raus

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 121
Re: MMC Card : Hardware & Firmware
« Respuesta #73 en: 01 de Febrero de 2007, 07:00:48 »
Impresionante!!!

He estado siguiendo de cerca este post, y he de decir que la guia de aitopes es genial: perfectamente explicado y muy detallado todo.

Yo tengo mi hardware al 50% listo, me queda taladrar y soldar. Espero poder hacerlo el fin de semana, pero como tengo examenes, no prometo nada. De todos modos, tengo ganas de empezar a programar ya, a ver si termino mi proyecto fin de carrera a tiempo para mediados de marzo :S

De nuevo, enhorabuena a aitopes y RedPic!!!!  :-/
Visita mi blog sobre tecnología y marketing:
http://franciscobenito.es

Desconectado LABmouse

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 3574
    • Juntos es mejor
Re: MMC Card : Hardware & Firmware
« Respuesta #74 en: 01 de Febrero de 2007, 10:33:47 »
clap, clap, clap  :-/  Aplausos por tan buen trabajo que están realizando.

RedPic, todo un Maestro enseñando todo lo que sabes a todos nosotros los vírgenes en conocimiento.

Aitopes, es de guerreros atender la casa, el trabajo y este foro, de la manera en que lo haces.

Felicidades.

Saludos!


 

anything