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

Formatowanie karty SD z wykorzystaniem bibliotek FatFS

bimbor-87 03 Paź 2011 11:42 2256 5
REKLAMA
  • #1 9988228
    bimbor-87
    Poziom 9  
    Witam,
    Ile czasu zajmuje formatowanie karty SD? Ja wykorzystuję kartę 2GB firmy Sandisk, podłączoną do mikrokontrolera Atmega128 z zegarem 8MHz + biblioteki FatFS. Problem w tym ze obecnie u mnie wykonanie się funkcji f_mkfs(0,0,0) trwa ok 6min. Wydaje mi się że jest to za długo. Czy spotkał się ktoś z takim problemem wykorzystując podobny sprzęt? I czy jest jakiś sposób żeby przyspieszyć formatowanie?

    Pozdrawiam
  • REKLAMA
  • #2 9991715
    asembler
    Poziom 32  
    U mnie format karty trwa sekundy bo polega tylko na sprawdzeniu wiekosci i zaicjowaniu podstawowych parametrów.
  • REKLAMA
  • REKLAMA
  • #4 9991760
    asembler
    Poziom 32  
    Nie korzystam z zadnych bibliotek. Sprzet Atmega 162
    Przeważnie to wina kodu chyba że pusciłeś atmege na 32kHz.
  • REKLAMA
  • #5 9992595
    bimbor-87
    Poziom 9  
    No dobrze czyli jest tak jak przypuszczałem, formatowanie trwa zbyt długo. Jak przyśpieszyć ten proces? Najlepiej używając bibliotek FatFs? Dodam jeszcze ze w plikach bibliotek zmieniłem opóźnienia i obecnie nie wykorzystuje zmiennych Timer1 oraz Timer2.
  • #6 10081862
    bimbor-87
    Poziom 9  
    Witam,
    jakiś czas temu rozwiązałem ten problem, więc podzielę się, może komuś też się przyda. Polega ono na zapisaniu zerami pierwszego sektora na karcie SD.

    FATFS fs;
    uint32_t i;
    char buffer[512];

    memset(buffer, 0, 512);
    disk_initialize(0);
    f_mount(0, &fs);
    for (i = fs.fatbase; i < fs.database; i++) {
    disk_write(0, buffer, i, 1);
    }
REKLAMA