STM32 Maximale DMA Transfer Größe

Gast #4985641
Lesenswert?

Ich bin gerade auf der Suche nach einer Lösung für mein Problem und 
stoße da gerade auf ein kleines Hindernis:

Wie groß darf der maximale DMA Transfer sein? Liegt der bei 1024 Byte? 
Wie kann ich diese "Limitierung" umgehen? Ich müsste ca. 8600 Byte 
übertragen.

µC ist ein STM32F1
Gast #4985758
Lesenswert?

DraconiX schrieb:
> Ich bin gerade auf der Suche nach einer Lösung für mein Problem
> und
> stoße da gerade auf ein kleines Hindernis:
>
> Wie groß darf der maximale DMA Transfer sein? Liegt der bei 1024 Byte?
> Wie kann ich diese "Limitierung" umgehen? Ich müsste ca. 8600 Byte
> übertragen.
>
> µC ist ein STM32F1


Schau ins Manual.
Alternativ Google. Dauert keine Minute.
Gast #4985830
Lesenswert?

Oberlehrer schrieb:
> DraconiX schrieb:
>> Ich bin gerade auf der Suche nach einer Lösung für mein Problem
>> und
>> stoße da gerade auf ein kleines Hindernis:
>>
>> Wie groß darf der maximale DMA Transfer sein? Liegt der bei 1024 Byte?
>> Wie kann ich diese "Limitierung" umgehen? Ich müsste ca. 8600 Byte
>> übertragen.
>>
>> µC ist ein STM32F1
>
> Schau ins Manual.
> Alternativ Google. Dauert keine Minute.

Google gibt mir da keine Hinweise, oder ich bin weißgott zu blöd zum 
suchen, aber unter "STM32 DMA transfer size" spuckt er nur müll aus der 
nicht zum Ziel führt. Unter einem der 5 verschiedenen Datenblaettern, 
dem Programming Reference Guide bin ich nun aber mit einem Einzeiler 
fündig geworden:

"Programmable number of data to be transferred: up to 65536"

Macht ja eigentlich auch Sinn, da der Bufferlength im DMA_SxNDTR 
Register 16 Bit breit ist. Ich hatte mich nur sehr gewundert, da ich 
hier ein Source vorliegen habe wo explizit darauf hingewiesen wurde das 
die Bufferlength für den DMA maximal 1023Byte lang sein darf.
Gast #4985849
Lesenswert?

DraconiX schrieb:
> Ich hatte mich nur sehr gewundert, da ich
> hier ein Source vorliegen habe wo explizit darauf hingewiesen wurde das
> die Bufferlength für den DMA maximal 1023Byte lang sein darf.

naja in irgend einem Buffer oder Speicher müssen die Daten liegen. Und 
DORT kann es solch ein Limit geben.
Aber solang du hier keinen Code zeigst, ist alles nur Spekulation.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren