Forum: Compiler & IDEs Frage zu GCC Funktion "memcpy"


von Udo (Gast)


Lesenswert?

Hallo,

ich suche die schnellste Methode um Datenblöcke (zB 100kB) von ROM nach 
RAM zu kopieren. Prozessor ist ein 32-Bit µC.
Compiler ist GCC.

Ich habe es bisher mit der
memcpy (void *restrict to, const void *restrict from, size t size)
getestet. Welchen typ hat dort das size_t - Ist bei 65535 Schluss?

Gibt es nicht auch eine memcpy32 die ich lieber verwenden sollte?
In meinem GCC scheint sie nicht vorhanden zu sein.

Danke!

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Udo schrieb:

> Welchen typ hat dort das size_t

Auf einer 32-bit-Plattform sollte das äquivalent zu einem uint32_t
sein.  Kannste doch einfach mit siezf(size_t) abfragen.

von Marcus H. (mharnisch) Benutzerseite


Lesenswert?

Jörg Wunsch schrieb:
> Auf einer 32-bit-Plattform sollte das äquivalent zu einem uint32_t
> sein.  Kannste doch einfach mit siezf(size_t) abfragen.

Hab's gerade mal nachgeschlagen: stdint.h definiert die Konstante 
SIZE_MAX, wodurch die obere Grenze festgelegt wird. Man kann aber davon 
ausgehen, dass diese Grenze auf einer 32bit CPU identisch mit einem 
"unsigned int" ist.

Gruß
Marcus
http://www.doulos.com/arm/

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.