Könnte mir bitte jemand sagen, was sizeof(uint8_t *) auf einem AVR mit 128KB Flash-Speicher ist?
In einem Byte kann man keinen Pointer aus dem Bereich 0 .... 128K ablegen. Es müssten 3 (24 bit) oder 4 (32 bit) sein.
sizeof (uint8_t *) sollte exakt dasselbe ergeben wie sizeof(void *) , nämlich 2. Derartige Pointer zeigen nämlich ins (kleine) RAM. Bernhard
Dachte es ist hier besser aufgehoben. Jetzt hoffe ich mal, dass trotz 16-bit-Pointern das Hantieren mit Funktionspointern im ganzen Adressraum einwandfrei funktionieren wird, z.B. void (*ptr)(void); ptr = Funktionsname; (*ptr)();
Dietmar schrieb: > Jetzt hoffe ich mal, dass trotz > 16-bit-Pointern das Hantieren mit Funktionspointern im ganzen Adressraum > einwandfrei funktionieren wird Mit ein wenig Glück schon. ;-) Wichtig: beim Linken --relax benutzen.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.