Przepraszam, że moje pytanie nie dotyczy platformy AVR, ale zaczynam podejrzewać, że źródło kłopotów nie jest bezpośrednio związane z rodziną mikrokontrolerów.
Jak niektórzy wiedzą, od jakiegoś czasu eksperymentuję z rodziną trzydziestodwubitowych mikrokontrolerów od Microchipa. Przeportowałem już kilka bibliotek wykorzystywanych przeze mnie na AVR-ach, teraz zabrałem się za FatFS. Do tej pory korzystałem ze starszej wersji - tej, która kilka lat temu została przez pana Mirka dołączona do "Blue Booka". Wszystko działało jak powinno, więc nie czułem potrzeby upgrade'u. Tym razem jednak ściągnąłem inną wersję z Sieci.
1) Najpierw zacząłem od
TEGO portu czyjegoś autorstwa, również opartego na starszej wersji. Pojawiły się jednak problemy (o których za chwilę), więc sięgnąłem po najnowszą wersję kodu z oficjalnej strony projektu.
2) Na wspomnianej stronie zamieszczone zostały przykłady dla kilku różnych platform. Nie było wśród nich PIC32, ale znalazł się szesnastobitowy PIC24. W oparciu o sterownik mm.c z poprzedniego podpunktu zmodyfikowałem go nieco. Niestety, problemy ciągle występowały.
3) Zastosowałem kompletnie inny sterownik, napisany przez znajomego z Usenetu. Problem ciągle występował.
Na czym polega problem? Układ najwyraźniej komunikuje się z kartą, gdyż potrafi rozpoznać jej wyjęcie (zgłasza wtedy kod błedu odpowiadający problemowi z fizycznym nośnikiem) oraz przeprowadza bez problemu funkcję disk_initialize(), zwracając FR_OK.
Jednak próba wykonania jakiejkolwiek operacji, zaczynając od f_mount kończy się błędem 13, oznaczającym brak prawidłowego systemu plików. Karty były formatowane za pomocą standardowego narzędzia z Windowsa 7.
Co może być nie takk?