-
Data: 2020-05-20 20:05:15
Temat: Re: karta SD na SPI zawiesza AtXmega128A3U
Od: jacek <j...@f...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Atlantis <m...@w...pl> wrote:
> Wróciłem ostatnio do jednego ze swoich projektów na Xmega128A3U.
> Postanowiłem dodać do niego funkcję związaną z zapisem danych na karcie
> microSD. Hardware był już do tego przygotowany - na płytce znajduje się
> gniazdko, podłączone do SPI na PORTE.
>
> Przekopiowałem pliki związane z biblioteką FatFS z mojego innego
> projektu (na PIC24), modyfikując jedynie niskopoziomowe funkcje,
> odpowiedzialne za komunikację z kartą i konfigurując odpowiednie linie
> sygnałowe. W pętli głównej dodałem funkcję odpowiedzialną za zapisywanie
> danych na karcie. Wszystko się skompilowało i uruchomiło, aż nagle
> pojawił się problem, którego nie potrafię zdiagnozować...
>
> Za każdym razem, gdy FatFS próbuje rozmawiać z kartą, urządzenie się
> zawiesza (jakby wpadło w nieskończoną pętlę) i po chwili zostaje
> zresetowane przez WDT. W moim przypadku problem pojawia się w momencie
> wykonania f_open().
>
> Problem musi występować raczej gdzieś blisko sprzętu, bo:
> - Dokładnie te same pliki źródłowe FatFS działały prawidłowo po
> skompilowaniu na PIC24, jedyną różnicą były niskopoziomowe funkcje I/O.
> - Problem nie występuje, jeśli w slocie nie ma karty i biblioteka nie
> podejmuje próby komunikacji przez SPI.
>
> Pomyślałem, że pewnie popełniłem jakiś błąd podczas pisania funkcji
> odpowiedzialnych za komunikację po SPI. Obejrzałem je jeden raz, drugi i
> trzeci, nie widząc żadnego problemu. Uprzedzając możliwe komentarze -
> nie, to nie jest wina pętli while, w której sprawdzana jest flaga
> zajętości po transferze SPI. Sprawdziłem ją wielokrotnie, poza tym po
> jej zakomentowaniu zawieszenie ciągle występowało.
>
> W akcie desperacji postanowiłem sprawdzić inny sterownik SD, pożyczony z
> przykładów dołączonych do jednej z książek Tomasza Francuza, podpinając
> go do FatFS. Projekt się skompilował, a po jego ponownym uruchomieniu...
> Problem wystąpił ponownie.
>
> Na chwilę obecną nie mam już pomysłów odnośnie tego, co mogło pójść nie
> tak. Pomyłka w montażu albo konfiguracji mogłaby powodować nieudaną
> transmisję, ale tutaj mam do czynienia z zawieszeniem układu. Nie jest
> to też problem ze stosem, bo wolnej pamięci mam pod dostatkiem, a po
> wyłączeniu WDT restarty ustają, choć oczywiście układ pozostaje zawieszony.
>
Sprawdź wyrównywanie pół w strukturach. Miałem podobny problem aczkolwiek
portowalem z czego innego na STM32 (tez fakt na SD). Po wpisaniu czegoś w
rodzaju #pragma pack(1) zadziałało. Problem brał się z tego ze oba
kompilatory inaczej budowały struktury.
jp
Następne wpisy z tego wątku
- 20.05.20 20:35 Atlantis
- 20.05.20 20:48 Atlantis
- 20.05.20 21:31 Atlantis
- 21.05.20 11:13 Piotr Gałka
Najnowsze wątki z tej grupy
- Lustra w maszynie ASML
- DC blocker i buczące toroidy
- Problemy TSMC cd
- Detektor
- Może tutaj się uda: [NTG] Elewacja / dziurawa Churka
- Falownik jednofazowy a żarówka
- Agregat i "legalność" instalacji
- Uziom
- (Ponownie) odkryto, że ładowanie pulsacyjne robi dobrze
- driver led ?
- Długość wtyku zasilającego ?5.5mm
- Szukam przetwornicy 55-40V>8-8.2V 3-4A
- Kindle - pierwsze wrażenia
- Transformator TS90/16, uzwojenia połączone szeregowo na stałe, z asymetrycznym odczepem, napięcia 16V i 39V a prostowanie pełnookresowe
- regulacja prądu ?
Najnowsze wątki
- 2024-04-29 Warszawa => Staż w dziale Sprzedaży B2B (2 miejsca) <=
- 2024-04-29 Gdańsk => Kierownik Działu Spedycji Międzynarodowej <=
- 2024-04-29 Ulm => IT Network Engineer <=
- 2024-04-29 Gdańsk => UX/UI Designer <=
- 2024-04-29 Gdańsk => AI Specialist <=
- 2024-04-29 frankowicze odcinek NNN
- 2024-04-29 Warszawa => Specjalista ds. Cyberbezpieczeństwa <=
- 2024-04-29 Kraków => MS Dynamics 365BC/NAV Developer <=
- 2024-04-29 Zielona Góra => Inżynier R&D Energoelektronik <=
- 2024-04-29 Warszawa => Google Ads Freelancer <=
- 2024-04-28 wymiana przewodu od licznika do mieszkania
- 2024-04-28 Lustra w maszynie ASML
- 2024-04-28 Elektryk przytarł podłogę
- 2024-04-27 Nowy, "szybki "komputer AsRock nie posiada modułu TPM
- 2024-04-27 Nowy, "szybki "komputer AsRock nie posiada modułu TPM