Istnieje problem zaniżania pojemności kart SD.
Tematów na ten temat jest sporo w działach zajmujących się PC tabletami telefonami, ale tutaj nie znalazłem
Napotkałem taki problem i w gruncie rzeczy jestem blisko wyjaśnienia problemu.
Wygląda na to że wszystko rozchodzi się o prawidłowy odczyt i prawidłowe przetworzenie "rejestru" CSD ma on 16 bajtów a w nim pole C_SIZE.
Biblioteka na podstawie informacji o pojemności karty wybiera odpowiedni FAT może to być:
FAT12
FAT16
FAT32
Mój problem wygląda tak że urządzenie STM32F103 instaluje FAT na karcie, jednak błędnie, samo może zapisać dane i korzystać z karty, pojemność karty jest zaniżona a na komputerze PC karta ma niepoprawny format i wymaga formatowania. WindowsExplorer nie korzysta z rejestrów karty SD do wyznaczenia jej pojemności tylko z MBR i FAT i tu się pojawia zdziwienie po otwarci karty na kompie ze ma o wiele mniejszą pojemność .
Jakie Wy forumowicze macie z tym doświadczenia?
Jak rozwiązaliście podobny problem?
Pozdro
Dodano po 4 [godziny] 49 [minuty]:
Zrobiłem testy wyniki w tabeli.
Na czerwono zaznaczyłem ewidentnie niepoprawne wyniki
Na pomarańczowo ostrzeżenia
Zielone - OK
żółte to coś nietypowego ale niesie pewna praktyczna informację - teraz nie bede opisywał tego.
Odczytane rejestry przedstawione w tabeli realizowane w czasie inicjalizacji karty
Z kartami 2GB jest mniejszy problem one nawet działają.
Nie mam problemu w ogóle z kartą 64MB. wszystko działa jak trzeba na urządzeniu i na komputerze
Z kartami 4GB jest problem bo sformatowanie ich pod windows w FAT32 powoduje ze urządzenie nie czyta tych kart.
A sformatowanie karty 4GB przez urządzenie powoduje redukcję pojemność do 435MB i zależnie od ustawień to Windows nie rozpoznaje systemu plików ale rozmiar 435MB widzi poprawnie.
Zauważyłem też przy kartach 4GB problem w sektorze MBR ale to jeszcze raz muszę zbadać,
Inicjalizacja karty i odczyt CSD CID OCR dla SPI CLK <400kHz
Oto funkcja do odczytu CSD, co z nią nie tak że błędnie czyta karty ?
Tematów na ten temat jest sporo w działach zajmujących się PC tabletami telefonami, ale tutaj nie znalazłem
Napotkałem taki problem i w gruncie rzeczy jestem blisko wyjaśnienia problemu.
Wygląda na to że wszystko rozchodzi się o prawidłowy odczyt i prawidłowe przetworzenie "rejestru" CSD ma on 16 bajtów a w nim pole C_SIZE.
Biblioteka na podstawie informacji o pojemności karty wybiera odpowiedni FAT może to być:
FAT12
FAT16
FAT32
Mój problem wygląda tak że urządzenie STM32F103 instaluje FAT na karcie, jednak błędnie, samo może zapisać dane i korzystać z karty, pojemność karty jest zaniżona a na komputerze PC karta ma niepoprawny format i wymaga formatowania. WindowsExplorer nie korzysta z rejestrów karty SD do wyznaczenia jej pojemności tylko z MBR i FAT i tu się pojawia zdziwienie po otwarci karty na kompie ze ma o wiele mniejszą pojemność .
Jakie Wy forumowicze macie z tym doświadczenia?
Jak rozwiązaliście podobny problem?
Pozdro
Dodano po 4 [godziny] 49 [minuty]:
Zrobiłem testy wyniki w tabeli.
Na czerwono zaznaczyłem ewidentnie niepoprawne wyniki
Na pomarańczowo ostrzeżenia
Zielone - OK
żółte to coś nietypowego ale niesie pewna praktyczna informację - teraz nie bede opisywał tego.
Odczytane rejestry przedstawione w tabeli realizowane w czasie inicjalizacji karty
Z kartami 2GB jest mniejszy problem one nawet działają.
Nie mam problemu w ogóle z kartą 64MB. wszystko działa jak trzeba na urządzeniu i na komputerze
Z kartami 4GB jest problem bo sformatowanie ich pod windows w FAT32 powoduje ze urządzenie nie czyta tych kart.
A sformatowanie karty 4GB przez urządzenie powoduje redukcję pojemność do 435MB i zależnie od ustawień to Windows nie rozpoznaje systemu plików ale rozmiar 435MB widzi poprawnie.
Zauważyłem też przy kartach 4GB problem w sektorze MBR ale to jeszcze raz muszę zbadać,
Inicjalizacja karty i odczyt CSD CID OCR dla SPI CLK <400kHz
Oto funkcja do odczytu CSD, co z nią nie tak że błędnie czyta karty ?
Kod: C / C++