Bonjour
J'utilise des Arm cortex M3 et M4 (kinetis ou STM32) avec des cartes SD et la lib FatFS pour stocker des données dans des fichiers CSV avec l’écriture dans plusieurs fichiers toutes les secondes (voir quelquefois encore plus souvent genre 100ms déjà)
J'ai déjà eu des décès de carte SD et je m'interroge sur ma technique pour écrire sur la SD et son influence sur la durée de vie.
Aujourd'hui, à chaque écriture (disons toutes les secondes), je vais ouvrir tous les fichiers un par un (il peut y en avoir une trentaine) puis j'écris une ligne puis je valide mon écriture en fermant les fichiers.
Est ce la bonne manière de procéder ? Comment moins solliciter la SD ? Je me demandais notamment s'il serait plus gentil pour la SD d'ouvrir tous les fichiers, écrire dedans sans les fermer et une fois de temps en temps (toutes les 1 ou 10 minutes ? ou sur coupure d'alimentation) fermer les fichiers. En gros est ce que écrire moins souvent sur la table d'allocation de la SD en fermant le fichier (ou en faisant un flush) l'userait moins ? Quelle autre solution ?
PS : j'ai des cas avec low power (mais j'enregistre alors beaucoup beaucoup moins souvent) et des cas sans low power où la SD est beaucoup sollicitée ; tous ces cas sont gérés pareil aujourd'hui.
Merci par avance pour vos conseils
Partager