Skocz do zawartości

FAT32 na karcie SDHC ATMega32


davidpi

Pomocna odpowiedź

Witam.

Zakładam ten temat gdyż próbuje obsłużyć kartę SDHC z systemem FAT32 i mam problem. Prawdopodobnie nie będzie to ostatni problem więc dobrze by było pytać w jednym temacie.

Mam kartę SDHC 4GB. Ściągnąłem biblioteki do obsługi FAT 32 z tej strony http://www.roland-riegel.de/sd-reader/

Analizowałem je przez 2 dni i już większość funkcji rozumiem.

Próbuje zatem uruchomić to wszystko. Funkcja sd_raw_init() inicjuje prawidłowo kartę. Mogę do niej zapisywać dane w formacie raw i odczytywać je.

Po inicjacji karty używam funkcji

struct partition_struct* partition = partition_open(sd_raw_read, sd_raw_read_interval, sd_raw_write, sd_raw_write_interval, 0);

zwraca ona strukturę z parametrami partycji. Jednak dane które zwraca są nieprawidłowe. Typ partycji, jej początkowy offset oraz ilość sektorów są wzięte z kosmosu. Podejrzałem zatem kartę w WinHex i w miejscu gdzie powinny być te informacje znalazłem coś takiego jak na zdjęciu. Obok wyświetliłem parametry odczytywane z karty z tych pól. Informacje o partycji są zapisane na 16 bajtach począwszy od 0x01BE

Mimo formatowania zawartość się nie zmienia i cały czas piszę o błędzie.

Co z tym zrobić?? Pomóżcie bo już się zaczynam gubić.

Kupiłem nową kartę SDHC 4GB Kingston. Włożyłem i podejrzałem w WinHex i były tam same zera. Sformatowałem i od tej pory w tej nowej karcie również jest napis taki jak w starej. Czy tak ma być?? Czy ktoś z Was mógłby podejrzeć jakąś swoją kartę w WinHex i powiedzieć i czy macie taki sam pierwszy sektor??

A może te informacje o partycji są zapisane pod jakimś innym adresem??

Link do komentarza
Share on other sites

Dzięki za odpowiedź.

Ściągnąłem program test disk. Potraktowałem nim tą nową kartę (sam nie wiem co zrobiłem bo nie pamiętam) i o dziwo działa ona dobrze. Wkładam ją do urządzenia i poprawnie odczytuje typ partycji i inne rzeczy. Jednak w podglądzie w WinHex wygląda pierwszy sektor identycznie jak w starej niedziałającej.

Tak to wygląda:

Podsumowując:

Karta działa w urządzeniu. Chyba poprawnie jest odczytywany typ partycji, offset i rozmiar w sektorach. Zastanawia mnie tylko jedna rzecz?? Skąd te dane są odczytywane, skoro w pierwszym sektorze zamiast tych informacji jest tamten napis??

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.