Site ELEC344/ELEC381

Partie interactive du site pédagogique ELEC344/ELEC381 de Télécom ParisTech (occurrence 2010).

Catégories

carte SD en grève

aujourd’hui je me suis joint à Thibaut pour travailler sur la carte SD. On était partis pour essayer de lire et d’écrire en mode polling, ce qui est une mauvaise solution car trop gourmande en CPU. Samuel nous a aidé à mettre en place la lecture en mode DMA. Après nous avons passé le reste de l’après midi à comprendre pourquoi la carte ne voulait pas écrire, alors que la procédure (du moins les fonctions de la bibliothèque ST) pour écrire est très proche de celle pour lire.
Cependant nous nous sommes heurtés à des erreurs de validité du CRC sur les données émises. Nous avons cherché à désactiver la vérification du CRC sur les cartes (au moins histoire de voir si on pouvait réellement écrire), et d’après les datasheets, ca n’est pas possible. Ca m’étonnerait que les polynomes utilisés pour le CRC soient différents, car ils fonctionnent en lecture. Ce n’est pas non plus un problème d’horloge (la datasheet demande une horloge AHB égale à FCLK/2, mais les commentaires de la bibliothèque ST disent le contraire (FCLK), nous avons essayé les deux).
Après quelques recherches sur internet, les seules réponses que nous avons vues sur des problèmes similaires sont du type « ta carte est foutue, jette la et prends en une autre ». Ca m’étonnerait aussi qu’il faille faire calculer nous mêmes le CRC, car le module est interne au controleur SDIO, et on n’a pas du tout la main dessus.

A noter que sur une autre carte nous avons eu un problème de délai dépassé pour l’écriture des données, qui du coup a du masquer le problème d’erreur de CRC.

Au final, on s’est cassé les dents. A la rentrée, il faudra qu’on règle ce problème rapidement, ou bien on devra envisager d’autre moyens de faire passer des données vers la carte par ethernet (en streaming par exemple, ce qui avait été écarté jusqu’à présent)

Bonnes vacances à tous !

Commentaires fermés.