-
Data: 2024-03-30 07:29:46
Temat: Karta microSD na SDHOST
Od: Marek <f...@f...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Mam problem dość niszowy, w niepopularnej tutaj architekturze
(pic32mz) ale może ktoś mądry skojarzy z opisu problemu coś z
własnego doświadczenia z SDHOST na innym mcu bo SDHOST jest pewnym
standardem sprzętowym i jego rejestry (oraz inicjalizacja) są
analogiczne bez względu na architekturę.
W jednym projekcie potrzebuję napisać driver do SDHOST, posiłkuję
się sterownikiem z Harmony 2.06 ale niestety on ma jakiś problem z
działaniem. Sterownik napisany na jego podstawie inicjuje kartę
prawidłowo ale tylko do momentu przełączenia jej na szynę 4-bit. Od
tego momentu DMA przestaje zwracać dane z dalszego procesu
inicjalizacji karty (timeoutuje). Jak się wyłączy przełączanie i
zostawi kartę w trybie 1-bit to inicjacja przebiega do końca
prawidłowo ale za to próba odczytu bloku 0 nie działa, tzn. DMA nie
wypełnia wskazanego bufora zawartością sektora 0. Nie zwraca też
żadnych błędów, wywoływane jest przerwanie DMA sygnalizujące koniec
transferu (oczywiście kwestie d-cache i DMA są ogarnięte).
Cały proces inicjalizacji wygląda prawidłowo od strony kodu, jest z
godny z tym co zaleca SD Association w swojej dokumentacji do SDHOST.
Przyjrzałem się też kodu z Harmony 3 ale (pomijając zaciemnianie tego
kodu przez wstawki do konfiguratora) jest on podobny do tego z
Harmony 2.x choć ma już rozszerzenia dla protokołu MMC a kod dot. SD
jest analogiczny do tego z Harmony 2.x.
Jaka może być przyczyna, że przełączanie karty w tryb 4-bit psuje
DMA? Karta zwraca zgodność w trybie 4-bit. U-boot prawidłowo czyta tą
kartę na tej konkretnej płytce uruchomieniowej , więc to nie problem
sprzętowy... Kod U-Boota jest też analogiczny (co do sekwencji
inicjalizacji) ale akurat na tej platformie nie korzysta z DMA tylko
z pio.
--
Marek
Najnowsze wątki z tej grupy
- odzysk z panela PV
- tuner i silnik od rolety
- Przednia lampka rowerowa Basta / AXA pod dynamo w piaście
- Boję siię capa...
- Efekt gitarowy koda kd-30 trash metal
- Re: Efekt gitarowy koda kd-30 trash metal
- Wykrywanie przerwy w długim przewodzie zakopanym w ziemi.
- PT500
- supercap
- Procesor NMOS i karta CF
- Jak sprawdzic uC
- radyjko znalazłem
- Telewizor przestał widzieć sygnał z anteny
- LED
- System operacyjny dla 6800?
Najnowsze wątki
- 2024-06-04 Kraków => Spedytor międzynarodowy <=
- 2024-06-04 Re: Mało? Dużo?
- 2024-06-04 Re: Mało? Dużo?
- 2024-06-03 dziękuję nie tankuję
- 2024-06-03 Bo konie to ...
- 2024-06-03 narząd nieużywany zanika
- 2024-06-02 Restart PC-ta
- 2024-06-03 polskie miasta są małe
- 2024-06-04 Wrocław => Senior React Native Developer <=
- 2024-06-04 Warszawa => Sales Executive <=
- 2024-06-04 Białystok => ERP Implementer <=
- 2024-06-03 Zielona Góra => Engineer R&D Mechanic <=
- 2024-06-03 Kielce => UX/UI Designer <=
- 2024-06-03 Białystok => Inżynier DevOps Conexa First (Kontraktor) <=
- 2024-06-03 Warszawa => Technical Leader (Java Background) <=