2016-05-15 1 views
1

Le titre peut être trompeur, mais je me suis senti incapable d'en écrire un précis. Mes excuses. Je travaille sur un pilote FAT32 "partiel" pour les AVR, écrit en C. J'essaye d'écrire une fonction qui lirait fondamentalement 4 entrées valides (sauter les LFN et les entrées vides) d'un répertoire dans un tampon. La fonction conserve la trace du cluster actuel et le décalage actuel (incréments de 32, en tant qu'entrées de 32 octets) dans le cluster. Maintenant, mon problème est, j'ai besoin de la fonction pour pouvoir lire quatre entrées vers l'avant (comme dans, les 4 prochaines entrées du décalage actuel), ou quatre entrées vers l'arrière (avant le décalage actuel). Mon problème en ce moment est le cas-limite en relisant en arrière, vous pourriez avoir quelques entrées sur le groupe actuel, et quelques entrées sur le précédent. Dois-je garder une trace de tous les numéros de grappe déjà lus dans un tableau pour les parcourir en arrière? Je cherche juste quelques indications sur ce qui serait une solution élégante.AVR FAT-pilote design

Merci d'avance!

Répondre

0

Cela dépend de votre RAM disponible, mais quand vous n'avez pas besoin d'obtenir le résultat très rapidement, je vous recommande de ne pas mettre en cache le contenu.

Btw. Pourquoi vous essayez de réinventer la roue? Vous pouvez simplement utiliser quelque chose comme le système de fichiers gros d'orme.

+0

Le pilote petitfs ne peut pas non plus le faire. – carazh