-
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
- Dziwne zachowanie magistrali adresowej w 8085
- Współczesne mierniki zniekształceń nieliniowych THD audio, produkują jakieś?
- Jaki silikon lub może klej?
- Smar do video
- Litowe baterie AA Li/FeS2 a alkaliczne
- "ogrodowa linia napowietrzna"
- jaki zasilacz laboratoryjny
- jaki zasilacz laboratoryjny
- Puszka w ziemię
- T-1000 was here
- Ś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
Najnowsze wątki
- 2025-02-12 Warszawa => Expert Recruiter 360 <=
- 2025-02-12 Ostrów Wielkopolski => Area Sales Manager OZE <=
- 2025-02-12 Bieruń => Regionalny Kierownik Sprzedaży (OZE) <=
- 2025-02-12 Dęblin => Node.js / Fullstack Developer <=
- 2025-02-12 Kraków => PHP Full Stack Developer <=
- 2025-02-12 Karta dźwiękowa stereo
- 2025-02-12 Dęblin => JavaScript / Node / Fullstack Developer <=
- 2025-02-12 Gdańsk => Specjalista ds. Sprzedaży <=
- 2025-02-12 Łódź => NodeJS Developer <=
- 2025-02-12 Błonie => Sales Specialist <=
- 2025-02-12 Dziwne zachowanie magistrali adresowej w 8085
- 2025-02-11 Mini pecet
- 2025-02-10 Spalił się spaliniak
- 2025-02-10 zarowka wifi - z sensowna apka lub lepiej albo lokalnie lub przez web. I zeby harmonogram miala
- 2025-02-10 Chrzanów => Programista NodeJS <=