TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: chuibert en 28 de Marzo de 2009, 15:39:59
-
saludos a todos! tengo una sd card, la he abierto con un editor hex y le he encontrado 3 conjuntos de instrucciones BS y BPB como las que describe el moderador aitopes en este post:
guia fat al desnudo (http://www.todopic.com.ar/foros/index.php?topic=15741.0)
Dos de ese conjunto de instrucciones BS y BPB las creó windows en las direcciones 0000126464 y 0000129536, mientras ke la otra la creo la libreria FAT.C del CCS compiler y esta en la dirección 0000000000, quisiera borrar las 2 de windows y dejar la que utiliza la libreria de PICC, para que windows reconozca lo que hace el pic con el ejemplo ex_fat.c en la tarjeta SD, pero no lo puedo hacer con un editor hexadecimal y aparte no estoy seguro de que sea buena idea.
Cualquier comentario o sugerencia se les agrade.
PD he probado con los editores hexadecimales WINHEX Y HxD y al momento de guardar los cambios me dan errores
PD2 no se como subir imagenes en aqui
-
stoy revisando la libreria FAT de forma mas minuciosa y he encontrado una función ke no es descrita en la cabecera de la librería, pero sin embargo existe y funciona correctamente, se manda a llamar como: disp_fat_stats();
y me arroja lo siguiente:
First FAT stars at: 0x4000
Data Starts At: 0x000ED000
Root Directory Is At: 0x000EC000
Bytes Per Cluster: 0x1000
y viendo con un editor hex en la direccion 0x4000 hay pura basura
F8 FF FF FF FF FF FF FF FF... al parecer no formatea bien el ejemplo ex_fat.c
saludos
-
Amigo chuibert,
Vai em portugues mesmo, então se alguma palavra for mau compreendida me desculpe.
Neste momento tambem me encontro em um projeto com sd card e uso a lib. mmcsd.c e fat.c de CCS.
Te conto que 2 coisas acontecem.
1ª - se eu formato o SD com a lib. fat.c de ccs, tenho um erro em fechar o arquivo e não consigo gravar nada dentro dele. No entanto se formato o SD com o windows consigo ler e escrever no arquivo, esta lib. deve ter algum bug na função format(), então te aconcelho a formatar com o windows que tudo fica bem. :D
2ª - por algum motivo não consigo ler nada usando as funções mmcsd_print_cid() e mmcsd_print_csd(), não sei se porque a lib mmcsd.c foi feita especialmente para mmc.
Agora seguirei tentando usar o hardware spi em vez do soft spi.
Saludo
Ivan
-
Hola Ivan, el portugues se parece mucho al español y creo haber entendido tu mensaje al 90%.
Tu problema con las funciones
mmcsd_print_cid();
mmcsd_print_csd();
yo no lo tengo, a mi me van perfectamente, asi como tambien el ejemplo ex_mmcsd.c, logro escribir en los registros
de inicio, reviso la sdcard en un editor hexadecimal (hexedit) y veo que se mantienen los cambios que hice antes en la sdcard.
Todo lo anterior, sin ninguna modificacion y sin usar resistencias de pullup aunque he probado con estas y los resultados son los mismos.
Por otra parte contestandome a mi mismo, las dos FAT que he encontrado son totalmente normales, una es un respaldo de la otra por si existe algun fallo al leer un byte.
Saludos