-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!3.eu.feeder.erj
e.net!2.eu.feeder.erje.net!feeder.erje.net!usenet.goja.nl.eu.org!aioe.org!peer0
2.ams4!peer.am4.highwinds-media.com!news.highwinds-media.com!newsfeed.neostrada
.pl!unt-exc-02.news.neostrada.pl!unt-spo-b-01.news.neostrada.pl!news.neostrada.
pl.POSTED!not-for-mail
User-Agent: NewsTap/5.3.5 (iPhone/iPod Touch)
Cancel-Lock: sha1:0FV7NFoTq4GViPu6Kp/BqBFKwVg=
Newsgroups: pl.misc.elektronika
Message-ID: <5ec5715b$0$17354$65785112@news.neostrada.pl>
Subject: Re: karta SD na SPI zawiesza AtXmega128A3U
Content-Type: text/plain; charset=UTF-8
Mime-Version: 1.0
Content-Transfer-Encoding: 8bit
From: jacek <j...@f...pl>
References: <5ec5483f$0$546$65785112@news.neostrada.pl>
Date: 20 May 2020 18:05:15 GMT
Lines: 49
Organization: Telekomunikacja Polska
NNTP-Posting-Host: 83.23.251.39
X-Trace: 1589997915 unt-rea-a-01.news.neostrada.pl 17354 83.23.251.39:10925
X-Complaints-To: a...@n...neostrada.pl
X-Received-Bytes: 3553
X-Received-Body-CRC: 1757024889
Xref: news-archive.icm.edu.pl pl.misc.elektronika:753492
[ ukryj 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
- Smukły, długi ściągacz izolacji do kynaru
- rezystor 3 omy 400W
- [newbie] Jaki multimetr za 2-4 stówy?
- szafka sieciowa
- Raspberry Pi 5 + dyski SATA
- lutownica na węgiel
- Znów czary (albo niewiedza) - tym razem fotowoltaika
- Chess
- Vitruvian Man - parts 7-11a
- przeźroczyste koszulki
- Re: Win 10/11 nie lubi OKI
- Programator czasowy TUYA.
- Dlaczego energia elektryczna jest droga i cały czas drożeje
- twardy dysk stuka
- Oclenie alkalicznych akumulatorów
Najnowsze wątki
- 2024-05-12 Metrologia
- 2024-05-12 app do udostepniania ekranu tel (obraz + audio) na ekran tv
- 2024-05-12 Smukły, długi ściągacz izolacji do kynaru
- 2024-05-12 Afera II LO w Nowym Sączu wypracowanie
- 2024-05-12 rezystor 3 omy 400W
- 2024-05-12 Dwukabinowy Citroen - dziwadło pod zabudowę spec
- 2024-05-12 Co oznacza Wi-Fi? - po prostu nic!
- 2024-05-11 Chess
- 2024-05-11 Chess
- 2024-05-11 Vitruvian Man - parts 7-11a
- 2024-05-11 Vitruvian Man - parts 7-11a
- 2024-05-11 Katowice => Administrator IT - Wirtualizacja i Konteneryzacja <=
- 2024-05-11 Poznań => Business Development Manager - obszar bezpieczeństwa IT <=
- 2024-05-11 Vitruvian Man - parts 1-6
- 2024-05-11 Vitruvian Man - parts 1-6