Probleme mit Funktionspointer

Gast #2352505
Lesenswert?

Guten Morgen,

ich verwende einen 16Bit Mikrocontroller. Das Speichermodell steht auf 
Huge. Bei der Verwendung dieses Funktionspointers bekomme ich nicht die 
Adresse 0xB42000, sondern die Adresse 0x002000. Was könnte ich tun, 
damit ich die Adresse 0xB42000 bekomme?
Ich habe auch huge verwendet bei der Deklaration, leider ohne erfolg.
1
#define ADRESSE 0xB42000
2

3
void (*Test)(ulong,uword); // Deklaration eines Funktionspointers
4

5
Test = (void (*)(ulong,uword))((ulong)(ADRESSE));

Für jede Hilfe bin ich sehr dankbar.
Gast #2352539
Lesenswert?

Leon schrieb:
> Im Compilerhandbuch von TASKING habe ich entdeckt,

Nutzt du denn den Tasking-Compiler? Wenn nicht, was sagt denn das 
Handbuch zu deinem Compiler zu dem Thema?

Wenn doch, solltest du dir das Konzept mit Segment und Offset der 
einzelnen Memorymodelle genauer anschauen.

Bleibt nur die übliche Frage. Warum willst du überhaupt eine Funktion an 
dieser "komischen" Adresse aufrufen?

Oliver

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