2010-06-22 5 views
2

J'ai le DSP tms320vc5509a et le flash NOR AT26DF321 sur la carte et je vais stocker les données nommées sur le flash. Je n'ai pas besoin de hiérarchie de répertoires, de niveaux d'usure (j'espère que le système écrira à clignoter très peu de fois), mais le CRC est fortement nécessaire. MerciQuel système de fichiers flash gratuit le plus petit pourrait vous conseiller pour le système embarqué?

+0

FAT12 n'est pas si mauvais pour des applications comme celle-ci. Mais pas de CRC intégré autant que je sache. Vous pourriez en ajouter un. – Artelius

+2

Pourquoi avez-vous besoin d'un système de fichiers? – Robert

+0

Notez que FAT est un peu anti-usure car il doit mettre à jour le FAT à chaque changement de fichier significatif. Cela dit, c'est souvent un choix facile, et pour une activité essentiellement en lecture seule, ce n'est pas un mauvais choix. – RBerteig

Répondre

2

Vous pouvez consulter le ELM-Petit FAT File System Module pour une bonne implémentation de petit système de fichiers. Pas sûr qu'il a CRC mais vous pouvez ajouter cela à vos pilotes matériels de bas niveau.

2

Sur un flash NOR, en particulier un qui contient également mon code de démarrage et mon application, j'évite généralement le surcoût d'un système de fichiers formel. Au lieu de cela, je stocke chaque objet "intéressant" en commençant à une limite de bloc d'effacement, et en commençant par une structure d'en-tête qui contient au minimum la taille de l'objet et une somme de contrôle. L'ajout d'un nom ou d'un ID de ressource à l'en-tête est une extension naturelle.

Le chargeur de démarrage recherche une application valide en vérifiant la somme de contrôle avant d'utiliser le bloc. De même, d'autres ressources peuvent être confirmées pour être valides avant utilisation.

Il est également facile pour un utilitaire de mise à jour de firmware de valider l'objet avant de l'effacer et de le programmer sur le FLASH.

Un pool de ressources limitées peut être mieux géré en l'enveloppant dans un conteneur pour le clignotement. Si les ressources d'exécution le supportent, je serais tenté d'utiliser ZIP pour envelopper les fichiers, en enveloppant l'image de l'archive ZIP dans un en-tête de taille et de somme de contrôle et en la stockant à une limite de bloc d'effacement. Si vous ne pouvez pas vous permettre l'exécution de décompression, il est toujours possible d'utiliser ZIP avec des fichiers non compressés ou d'utiliser un format plus simple tel que tar.

Naturellement, la situation est très différente pour un flash NAND. Là, je recommande fortement de choisir un système de fichiers établi (commercial ou open source) conçu pour les bizarreries de flash NAND.

Questions connexes