Hola a todos.
Me encuentro realizando un trabajo para la universidad que consistiría en algo así como realizar un sistema operativo para una sistema empotrado consistente en un pic18f452, una tarjeta mmc, puerto serie y tarjeta ethernet por ahora.
La idea así a grandes rasgos consiste en lo siguiente:
La tarjeta mmc será como el disco duro y se encuentra formateada en FAT16.
La "instalacion del sistema operativo" consiste en un programa que debe ir en el directorio raíz de la tarjeta llamado "COMMAND.HEX". El pic tendrá programado un bootloader (programa cargador). Este cargador es el que se encarga de cargar en la memoria del pic el programa que se ejecute.
Cada vez que se resetea la tarjeta se ejecuta el programa cargador, que a su vez programa en el pic el "COMMAND.HEX" (si lo encuentra en el directorio raíz de la tarjeta).
El COMMAND.HEX es un interprete de comandos que sirve para movernos por los directorios de la tarjeta, es decir para interpretar la "FAT". Este se encarga de buscar los archivos que el usuario le mande a programar y una vez encontrado devuelve el control al cargador que será quien cargue el programa que el usuario a solicitado.
Creo que mas o menos con esto os hareis una idea.
Por ahora tengo casi todo funcionando por partes, pero a la hora de integrarlo tengo algun que otro problema. Así es que os iré planteando mis dudas por partes a ver si me podeis echar una mano.
Mi gran duda es cómo comunicar el COMMAND.HEX con el cargador, para ello, el primero debe pasarle al segundo el número de clúster de la fat donde está el archivo del programa a cargar.
Consigo pasarle el control al cargador pero no donde guardar el valor del cluster para que el cargador lo lea.
Es decir ¿cómo creo una variable para poder ser accedida por los dos programas?
(el command.hex y el cargador).
A ver si podeis ayudarme. Un saludo.