logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Zastosowanie obsługi z kart MMC dla kart SD

slawek55 17 Kwi 2009 05:52 3228 6
REKLAMA
  • #1 6423876
    slawek55
    Poziom 23  
    Chciałbym się Was poradzić o karty SD i MMC.

    Mam procedury obsługi karty MMC napisane w C dla AVR, zwykły zapis i odczyt bez systemu plików.
    Są to procedury do obsługi czysto kart MMC.

    Co należy zrobić, aby móc podłączyć karty SD?
    Czym od strony obsługi różnią się one? Czy jest jakiś inny zestaw komend, inna inicjacja karty?

    Nie mogę też doszukać się informacji dlaczego dla kart SD blok danych do zapisu i odczytu wynosi 512bajtów skoro w opisie tych kart jest podane, że wielkość ta może by od 1 bajta nawet?
  • REKLAMA
  • #2 6427230
    HIOB
    Poziom 17  
    Witam,

    Zacznę od wrzucenia opisu kart MMC i SD.

    Obie karty wykorzystywane w trybie SPI (domyślam się, że taki tryb wykorzystujesz), fizycznie się nie różnią. Tzn. ich rozmieszczenie wyprowadzeń oraz komunikacja z nimi są identyczne/odbywa się tak samo.
    Różnice uwidaczniają się dopiero w zestawie komend sterujących... o ile komendy CMD praktycznie pozostały takie same (w kartach SD zrezygnowano z: CMD34 - CMD37 i CMD42) o tyle rozkazów ACMD w kartach MMC w ogóle nie ma. Wynika z tego, że w programie będziesz musiał wprowadzić "kosmetyczne" zmiany.

    Jeżeli zaś chodzi o zablokowane bloki danych 512 b, to ich rozmiar może wynikać np. z rozmiaru klastera systemu plików FAT32 - ale to tylko domysły...

    Pozdrawiam,
    Piotr.
  • REKLAMA
  • #3 6433894
    slawek55
    Poziom 23  
    Czy jest jeszcze dostępna inna specyfikacja kart SD i MMC?
    Kiedyś słyszałem, że te opisy są tajemnicą i nie są publikowane?
  • REKLAMA
  • #4 6434264
    HIOB
    Poziom 17  
    ... może kiedyś były.

    Specyfikację udostępnia większość firm, każda dla danej serii kard.

    Podobny post: Link

    Pozdrawiam,
    Piotr.
  • REKLAMA
  • #5 6449482
    rpal
    Poziom 27  
    Kolego Hiob a czy wpadła Tobie w ręce jakaś procedura formatowania karty albo przynajmniej jej algorytm w formie np. grafu ?
  • #6 6464169
    HIOB
    Poziom 17  
    Niestety nie.

    Jednak mogę podpowiedzieć, że formatowanie to nic innego jak czyszczenie tablicy alokacji plików. Dane fizycznie pozostają na karcie, jednak kasowana jest informacja o przestrzeni jaką znajdowały one w pamięci.
    Gdybyś jednak z jakiegoś powodu chciał wyczyścić całą kartę SD, to musisz nadpisać lub wykasować wszystkie jej bloki pamięci. Pomogą Ci w tym polecenia CMD32, CMD33, CMD38.
    Z resztą polecenia te także mogą posłużyć do wyczyszczenia tablicy alokacji plików.

    Pozdrawiam,
    Piotr.
  • #7 6464622
    rpal
    Poziom 27  
    Generalnie masz rację, tylko trzeba wiedzieć jak :) Kiedyś moja zabawa w kasowanie skończyła się tym że karta mimo że formatowała się w PC-cie nie chciał się zgłaszać w interface. Pomogło dopiero formatowanie komórką lub aparatem fotograficznym. Kiedyś jednak trzeba będzie do tego zagadnienia wrócić.
REKLAMA