-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!news.samoylyk.n
et!aioe.org!peer03.ams4!peer.am4.highwinds-media.com!news.highwinds-media.com!n
ewsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!unt-spo-b-01.news.neostrada.p
l!news.neostrada.pl.POSTED!not-for-mail
Newsgroups: pl.misc.elektronika
X-Mozilla-News-Host: news://news.tpi.pl:119
From: Atlantis <m...@w...pl>
Subject: karta SD na SPI zawiesza AtXmega128A3U
Date: Wed, 20 May 2020 17:09:50 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
Thunderbird/68.8.0
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Language: pl
Content-Transfer-Encoding: 8bit
Lines: 40
Message-ID: <5ec5483f$0$546$65785112@news.neostrada.pl>
Organization: Telekomunikacja Polska
NNTP-Posting-Host: 83.27.168.12
X-Trace: 1589987391 unt-rea-a-02.news.neostrada.pl 546 83.27.168.12:40420
X-Complaints-To: a...@n...neostrada.pl
X-Received-Bytes: 3149
X-Received-Body-CRC: 3513785290
Xref: news-archive.icm.edu.pl pl.misc.elektronika:753486
[ ukryj nagłówki ]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.
Następne wpisy z tego wątku
- 20.05.20 18:43 a...@m...uni.wroc.pl
- 20.05.20 20:01 Atlantis
- 20.05.20 20:05 jacek
- 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
- Ściąganie hasła frezem
- Koszyk okrągły, walec 3x AA, na duże paluszki R6
- Brak bolca ochronnego ładowarki oznacza pożar
- AMS spalony szybkim zasilaczem USB
- stalowe bezpieczniki
- Wyświtlacz ramki cyfrowej
- bateria na żądanie
- pradnica krokowa
- Nieustający podziw...
- Coś dusi.
- akumulator napięcie 12.0v
- Podłączenie DMA 8257 do 8085
- pozew za naprawę sprzętu na youtube
- gasik
- Zbieranie danych przez www
Najnowsze wątki
- 2025-02-01 Śmierć mózgu a narządy do pobrania
- 2025-01-31 A niektórym to naprawdę zależy na ekologi w miastach LPG POWRACA ;-)
- 2025-01-31 Lublin => Programista Delphi <=
- 2025-01-31 Łódź => Programista NodeJS <=
- 2025-01-31 Wrocław => Senior SAP Support Consultant (SD) <=
- 2025-01-31 Warszawa => Full Stack web developer (obszar .Net Core, Angular6+) <=
- 2025-01-31 Gdańsk => iOS Developer (Swift experience) <=
- 2025-01-31 Kraków => UX Designer <=
- 2025-01-31 Warszawa => Data Engineer (Tech Leader) <=
- 2025-01-31 Gliwice => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2025-01-31 Gliwice => Business Development Manager - Network and Network Security
- 2025-01-31 Warszawa => Architekt rozwiązań (doświadczenie w obszarze Java, AWS
- 2025-01-31 Warszawa => Full Stack .Net Engineer <=
- 2025-01-31 Warszawa => Programista Full Stack (.Net Core) <=
- 2025-01-31 Gdańsk => Programista Full Stack .Net <=