-
1. Data: 2022-11-15 19:10:35
Temat: karta SDXC (128GB) na SPI - działa, ale nie do końca
Od: Atlantis <m...@w...pl>
Mam urządzenie zbudowane na STM32F107 (to samo, które opisywałem w kilku
poprzednich postach). Jest ono wyposażone w dwie możliwości podłączenia
pamięci masowych: slot kart microSD oraz gniazdo USB do podłaczenia
PenDrive'a. Karta micorSD pracuje na magistrali SPI.
FatFS jest skonfigurowany i do tej pory działał perfekcyjnie z
PenDrive'ami (dysk 0:). Przeprowadziłem też parę testów z różnymi
kartami microSD (dysk 1:), które też zdawały się pracować poprawnie.
Dzisiaj zainstalowałem w urządzeniu kartę SDXC 128GB SanDiska. Ma ona
pełnić podwójną funkcję: z jednej strony magazynu na media odtwarzane
przez urządzenie, z drugiej będą się na niej znajdowały pliki
konfiguracyjne.
Po włączeniu zasilania system plików na karcie SD został zamontowany.
Jednak przy próbie otwarcia pliku konfiguracyjnego został zwrócony błąd
FR_NO_FILE, chociaż ścieżka była poprawna i plik znajdował się na
karcie. Spróbowałem na próbę wyłączyć LFN i UTF w konfiguracji FatFS -
nie pomogło. Przywróciłem w kodzie działanie w oparciu o PenDrive i
momentalnie wszystko zaczęło działać.
Z ciekawości postanowiłem przeprowadzić eksperyment z inną kartą - starą
4GB, chyba nawet był to jakiś NoName. Ta karta nie tylko się
zamontowała, ale też urządzenie bez problemu zaczęło otwierać i czytać
zapisane na niej pliki konfiguracyjne.
Tak więc sytuacja jest dziwna, bo:
1. Karta SDXC przechodzi poprawnie inicjalizację.
2. Karta jest poprawnie montowana.
3. Przy próbie otwarcia pliku nie jest zwracany błąd wskazujący na jakiś
problem z komunikacją lub systemem plików (np. FR_DISK_ERR, FR_INT_ERR
albo FR_NOT_READY) ale błąd informujący, że pliku nie ma.
4. Przy innej (mniejszej i dużo starszej) karcie problem magicznie znika.
5. Nie chodzi też raczej o sam rozmiar nośnika albo konfigurację FatFS,
bo przy identycznej konfiguracji bez problemu obsługiwany jest PenDrive
250GB.
Ktoś kiedyś zetknął się z takim problemem?
-
2. Data: 2022-11-15 19:53:18
Temat: Re: karta SDXC (128GB) na SPI - działa, ale nie do końca
Od: "J.F" <j...@p...onet.pl>
On Tue, 15 Nov 2022 19:10:35 +0100, Atlantis wrote:
> Mam urządzenie zbudowane na STM32F107 (to samo, które opisywałem w kilku
> poprzednich postach). Jest ono wyposażone w dwie możliwości podłączenia
> pamięci masowych: slot kart microSD oraz gniazdo USB do podłaczenia
> PenDrive'a. Karta micorSD pracuje na magistrali SPI.
> FatFS jest skonfigurowany i do tej pory działał perfekcyjnie z
> PenDrive'ami (dysk 0:). Przeprowadziłem też parę testów z różnymi
> kartami microSD (dysk 1:), które też zdawały się pracować poprawnie.
>
> Dzisiaj zainstalowałem w urządzeniu kartę SDXC 128GB SanDiska. Ma ona
> pełnić podwójną funkcję: z jednej strony magazynu na media odtwarzane
> przez urządzenie, z drugiej będą się na niej znajdowały pliki
> konfiguracyjne.
>
> Po włączeniu zasilania system plików na karcie SD został zamontowany.
> Jednak przy próbie otwarcia pliku konfiguracyjnego został zwrócony błąd
> FR_NO_FILE, chociaż ścieżka była poprawna i plik znajdował się na
> karcie. Spróbowałem na próbę wyłączyć LFN i UTF w konfiguracji FatFS -
> nie pomogło. Przywróciłem w kodzie działanie w oparciu o PenDrive i
> momentalnie wszystko zaczęło działać.
Granicą dzialania FAT na kartach bylo 32GB. I to juz był nowy standard
SDHC. SDXC powinien uzywac exFAT.
Dziwna to granica, i nie bardzo wiadomo dlaczego ... ale moze masz cos
w bibliotekach zaszytego.
https://pl.easeus.com/manage-partitions/format-sd-ca
rd-windows-10.html
ponoc najlepiej dziala stare dobre polecenie FORMAT, z parametrami.
J.
-
3. Data: 2022-11-15 21:39:47
Temat: Re: karta SDXC (128GB) na SPI - działa, ale nie do końca
Od: Atlantis <m...@w...pl>
On 15.11.2022 19:53, J.F wrote:
> Granicą dzialania FAT na kartach bylo 32GB. I to juz był nowy standard
> SDHC. SDXC powinien uzywac exFAT.
Jedną z rzeczy których próbowałem było przeformatowanie karty z użyciem
exFAT - nic to nie zmieniło.
> https://pl.easeus.com/manage-partitions/format-sd-ca
rd-windows-10.html
>
> ponoc najlepiej dziala stare dobre polecenie FORMAT, z parametrami.
Formatowałem pod Debianem, przy pomocy domyślnego narzędzia dostępnego w
Gnome. Poza FAT pozwalało także wybrać linuksowe systemy plików oraz
NTSC, w opcjach zaawansowanych był jeszcze dostępny exFAT.
Zacząłem od normalnego FAT. Karta sformatowała się poprawnie, była
widoczna w systemie, przyjęła kilkadziesiąt GB danych. Jeśli faktycznie
maksymalnym rozmiarem jest 32GB, to być może exFAT został włączony w
tle. Potem - jak mówiłem - zaznaczyłem tę opcję przy kolejnym
formatowaniu i nic to nie dało.
PenDrive'y fomatowane w dokładnie taki sposób działają na tym samym
urządzeniu bez najmniejszego problemu.
-
4. Data: 2022-11-15 22:35:49
Temat: Re: karta SDXC (128GB) na SPI - działa, ale nie do końca
Od: Marek <f...@f...com>
On Tue, 15 Nov 2022 19:53:18 +0100, "J.F"
<j...@p...onet.pl> wrote:
> Granicą dzialania FAT na kartach bylo 32GB. I to juz był nowy
> standard
> SDHC. SDXC powinien uzywac exFAT.
Eh lame.. Wiesz co to jest fatfs w kontekście poruszanym przez
Atlantisa?
--
Marek
-
5. Data: 2022-11-17 14:01:33
Temat: Re: karta SDXC (128GB) na SPI - działa, ale nie do końca
Od: Adam Górski <gorskiamalpawpkropkapl@xx>
W dniu 15.11.2022 o 19:10, Atlantis pisze:
> Mam urządzenie zbudowane na STM32F107 (to samo, które opisywałem w kilku
> poprzednich postach). Jest ono wyposażone w dwie możliwości podłączenia
> pamięci masowych: slot kart microSD oraz gniazdo USB do podłaczenia
> PenDrive'a. Karta micorSD pracuje na magistrali SPI.
> FatFS jest skonfigurowany i do tej pory działał perfekcyjnie z
> PenDrive'ami (dysk 0:). Przeprowadziłem też parę testów z różnymi
> kartami microSD (dysk 1:), które też zdawały się pracować poprawnie.
>
> Dzisiaj zainstalowałem w urządzeniu kartę SDXC 128GB SanDiska. Ma ona
> pełnić podwójną funkcję: z jednej strony magazynu na media odtwarzane
> przez urządzenie, z drugiej będą się na niej znajdowały pliki
> konfiguracyjne.
>
> Po włączeniu zasilania system plików na karcie SD został zamontowany.
> Jednak przy próbie otwarcia pliku konfiguracyjnego został zwrócony błąd
> FR_NO_FILE, chociaż ścieżka była poprawna i plik znajdował się na
> karcie. Spróbowałem na próbę wyłączyć LFN i UTF w konfiguracji FatFS -
> nie pomogło. Przywróciłem w kodzie działanie w oparciu o PenDrive i
> momentalnie wszystko zaczęło działać.
>
> Z ciekawości postanowiłem przeprowadzić eksperyment z inną kartą - starą
> 4GB, chyba nawet był to jakiś NoName. Ta karta nie tylko się
> zamontowała, ale też urządzenie bez problemu zaczęło otwierać i czytać
> zapisane na niej pliki konfiguracyjne.
>
> Tak więc sytuacja jest dziwna, bo:
> 1. Karta SDXC przechodzi poprawnie inicjalizację.
> 2. Karta jest poprawnie montowana.
> 3. Przy próbie otwarcia pliku nie jest zwracany błąd wskazujący na jakiś
> problem z komunikacją lub systemem plików (np. FR_DISK_ERR, FR_INT_ERR
> albo FR_NOT_READY) ale błąd informujący, że pliku nie ma.
> 4. Przy innej (mniejszej i dużo starszej) karcie problem magicznie znika.
> 5. Nie chodzi też raczej o sam rozmiar nośnika albo konfigurację FatFS,
> bo przy identycznej konfiguracji bez problemu obsługiwany jest PenDrive
> 250GB.
>
> Ktoś kiedyś zetknął się z takim problemem?
>
https://community.st.com/s/question/0D50X00009XkY1LS
AV/specific-sd-card-returning-error-with-fatfs
Może to ?
Pozdrawiam
Adam Górski
-
6. Data: 2022-11-17 14:08:12
Temat: Re: karta SDXC (128GB) na SPI - działa, ale nie do końca
Od: "r...@k...pl" <r...@k...pl>
Tue, 15 Nov 2022 19:10:35 +0100, w <6373d61c$0$564$65785112@news.neostrada.pl>,
Atlantis <m...@w...pl> napisał(-a):
> Dzisiaj zainstalowałem w urządzeniu kartę SDXC 128GB SanDiska. Ma ona
> pełnić podwójną funkcję: z jednej strony magazynu na media odtwarzane
> przez urządzenie, z drugiej będą się na niej znajdowały pliki
> konfiguracyjne.
>
> Po włączeniu zasilania system plików na karcie SD został zamontowany.
> Jednak przy próbie otwarcia pliku konfiguracyjnego został zwrócony błąd
> FR_NO_FILE, chociaż ścieżka była poprawna i plik znajdował się na
> karcie. Spróbowałem na próbę wyłączyć LFN i UTF w konfiguracji FatFS -
> nie pomogło. Przywróciłem w kodzie działanie w oparciu o PenDrive i
> momentalnie wszystko zaczęło działać.
Może po prostu nie działa z SDXC? A próbowałeś z innymi SDXC?
-
7. Data: 2022-11-19 11:14:28
Temat: Re: karta SDXC (128GB) na SPI - działa, ale nie do końca
Od: Atlantis <m...@w...pl>
On 17.11.2022 14:08, r...@k...pl wrote:
> Może po prostu nie działa z SDXC? A próbowałeś z innymi SDXC?
Sęk w tym, że gdyby sterownik nie działał z kartami SDXC, to problem
wyszedłby na warstwie sprzętowej. Prawdopodobnie nie przeszłaby w ogóle
procedura inicjalizacji i nie udałoby się zamontować systemu plików.
Tymczasem te operacje przechodziły bez problemu i dopiero próba odczytu
pliku dawała błąd sugerujący, że taki plik nie istnieje.
W każdym razie udało mi się rozwiązać problem bez znalezienia jego
przyczyny. Wszystko zaczęło działać po sformatowaniu karty jeszcze raz w
FAT32, ale tym razem za pomogą gparted.
Formatowanie kart w exFat nie pomagało, ale z innego powodu -
STM32CubeMX dołącza do projektu starszą wersję FatFS-a, jeszcze
nieposiadającą obsługi tego systemu plików. Jednak nie chodziło tutaj o
jakieś ograniczenie rozmiaru, ponieważ PenDrive 250GB, sformatowany w
FAT32 działał bez najmniejszych problemów. To dziwne zachowanie było
widoczne tylko w przypadku karty SDXC.
-
8. Data: 2022-11-19 11:49:30
Temat: Re: karta SDXC (128GB) na SPI - działa, ale nie do końca
Od: "Grzegorz Niemirowski" <g...@g...net>
Atlantis <m...@w...pl> napisał(a):
> Jednak nie chodziło tutaj o jakieś ograniczenie rozmiaru, ponieważ
> PenDrive 250GB, sformatowany w FAT32 działał bez najmniejszych problemów.
To ciekawe, bo FAT32 nie obsługuje takich rozmiarów. Może została tam
założona partycja 32 GB?
--
Grzegorz Niemirowski
https://www.grzegorz.net/
-
9. Data: 2022-11-19 12:01:32
Temat: Re: karta SDXC (128GB) na SPI - działa, ale nie do końca
Od: "Grzegorz Niemirowski" <g...@g...net>
Grzegorz Niemirowski <g...@g...net> napisał(a):
> To ciekawe, bo FAT32 nie obsługuje takich rozmiarów. Może została tam
> założona partycja 32 GB?
Eh, moja pomyłka. FAT32 obsługuje partycje do 2 TB. Jedynie microsoftowe
narzędzia nie chciały formatować partycji >32 GB w FAT32 ze względu na słabą
wydajność tego systemu plików przy dużych partycjach.
--
Grzegorz Niemirowski
https://www.grzegorz.net/
-
10. Data: 2022-11-20 00:44:32
Temat: Re: karta SDXC (128GB) na SPI - działa, ale nie do końca
Od: Marek <f...@f...com>
On Sat, 19 Nov 2022 11:14:28 +0100, Atlantis <m...@w...pl>
wrote:
> Formatowanie kart w exFat nie pomagało, ale z innego powodu -
Ale czym formatowałeś? O ile dobrze kojarzę fatfs ma już w API f_mkfs
(fat/exfat). Próbowałeś tego?
--
Marek