-
Data: 2010-06-28 19:35:01
Temat: Re: XMega, DMA i sygnał strobe
Od: "Marcin Wasilewski" <j...@a...pewnie.je.st> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Użytkownik "newxmega" <m...@m...mm> napisał w wiadomości
news:i0aogk$sd1$1@opal.futuro.pl...
>> Atmel jest niestety bardzo powściągliwy w swojej dokumentacji,
>> niemniej DMA ma także dostęp do przestrzeni I/O i EEPROM. Więc tak do
>> końca nie
> Właśnie. Ale czy widzisz jednak pomocną dłoń ze strony tego DMA?
Jest o tyle pomocna, że gdy potrzebujesz skopiować jakiś obszar pamięci
(również z EEPROM do RAM), to inicjujesz proces i o nim "zapominasz". Jest
też na pewno bardziej wydajne niż kopiowanie danych w pętli raz, że nie
zajmujemy wtedy procesora, dwa, że odpada sprawdzanie warunku pętli, na co
normalnie odpada trochę cykli.
> Gdyby pamięć była wieloportowa, rejestry też z możliwością odczytu
Tego nie możesz wykluczyć. To że w AT(X)MEGACH dostęp do rejestrów
procesora i pewnej przestrzeni I/O jest dualny (wszystkie rejestry procesora
oraz pewna część I/O widziana jest zarówno jako rejestry, jak też zarówno
jako zwykła pamięć), tzn. że i "mov R17,R16" i "lds R17,16" i "sts 17,R16"
da nam taki sam efekt:
Proponuję obejrzeć w debugerze wykonanie poniższego kodu:
ldi R16,$55
mov R17,R16
clr R17
lds R17,16
clr R17
sts 17,R16
To że dostęp do przestrzni I/O można zrobić poprzez instrukcje IN, OUT, czy
też odwołać się do tego jak do zwykłej pamięci SRAM (z inną adresacją)
oznacza raczej, że są jakieś mechanizmy dublujące dostęp do tego obszaru, co
więcej instrukcje IN/OUT/MOV są szybsze, tak więc być może istnieje jakaś
druga magistrala systemowa o np. szynie adresowej szerokości 7 bitów
wspomagająca dostęp do tego obszaru. Kłopot w tym, że ATMEL nic szerzej na
temat nie pisze, wspominając jedynie o podwójnym bycie tego obszaru.
Zastanawiające jest, że nawet rejestry typu SPL/SPH, SR są umieszczone w
przestrzeni I/O, a przecież wydawało by się, że są to rejestry bardzo silnie
związane z jądra procesora.
Chociaż teraz gdy w procku istnieje DMA łatwo to sprawdzić - zrobić
procedurkę która cały czas mielić będzie po tym obszarze i liczyć po ilu
taktach skończy się kopiować inny obszar po DMA.
> równoczesnego z innymi to by coś to DMA dało ale jeżeli piszesz między
> dwoma SPI po DMA wielkimi burstami to czy możesz korzystać z z
> trzeciego SPI przez procesor i jak to wpływa jedno na drugie?
No to pozostaje sprawdzić w realu niestety.
Następne wpisy z tego wątku
- 28.06.10 20:30 newxmega
- 28.06.10 21:20 Marcin Wasilewski
- 28.06.10 23:56 newxmega
- 29.06.10 05:39 Marcin Wasilewski
Najnowsze wątki z tej grupy
- DS1813-10 się psuje
- Taki tam szkolny problem...
- LIR2032 a ML2032
- SmartWatch Multimetr bezprzewodowy
- olej psuje?
- Internet w lesie - Starlink
- Opis produktu z Aliexpress
- No proszę, a śmialiście się z hindusów.
- Zewnętrzne napięcie referencyjne LM385 1,2V -> 100mV dla ICL7106, Metex M-3800
- karta parkingowa
- Wl/Wyl (On/Off) bialy/niebieski
- I3C
- Pytanie o transformator do dzwonka
- międzymordzie USB 3.2 jako 2.0
- elektronicy powinni pomysleć o karierze elektryka
Najnowsze wątki
- 2024-11-24 Czy Sejm RP zahamuje proceder zabijania dla organów?
- 2024-11-24 Aby WKOOOORWIĆ ekofaszystów ;-)
- 2024-11-22 OC - podwyżka
- 2024-11-22 wyszedł z domu bez buta
- 2024-11-22 Bieda hud.
- 2024-11-24 DS1813-10 się psuje
- 2024-11-23 Białystok => Inżynier bezpieczeństwa aplikacji <=
- 2024-11-23 Szczecin => QA Engineer <=
- 2024-11-23 Warszawa => SEO Specialist (15-20h tygodniowo) <=
- 2024-11-22 Warszawa => Kierownik Działu Spedycji Międzynarodowej <=
- 2024-11-22 Warszawa => Senior Account Manager <=
- 2024-11-22 Warszawa => Key Account Manager <=
- 2024-11-22 Warszawa => DevOps Specialist <=
- 2024-11-22 Kraków => IT Expert (Network Systems area) <=
- 2024-11-22 Warszawa => Infrastructure Automation Engineer <=