Eine dumme Frage eines absoluten GNU Neulings. Was bedeutet bitte beim GCC error: invalid type argument of 'unary *' Das kenne ich von meinem bisherigen Compiler nicht. Er compiliert das ohne zu meckern. Hier die Zusammenhänge die den Fehler verursachen. .... #define PCB_PINSEL0 (*(REG32 (0xE002C000))) .... PCB_PINSEL0=0xB0C51505; // hier wird Fehler gemeldet. Danke
unary operator ist doch ein operator mit einem operand in dem Fall ist Operand ein Zeiger int i = 0, * p = &i; // *p = 1; // hier Operator angewendet was ich mir in deinem Fall vorstellen kann ist, dass Compiler es nicht mag wenn du ihm anstelle vom Zeiger eine Konstante gibst. Und was macht REG32 makro?
Danke für deine Mühe mir das zu erklären. #define REG32 (volatile unsigned int*) Hatte ich vergessen mitzuliefern.
Müsste eigentlich compilieren. Schicke das Ganze mal nur durch den Präprozessor: alle normalen Compileroptionen (insbesondere alle -D, -U und -I-Optionen, die du sonst auch nimmst), aber statt des -c nimmst du ein -E, und hinter -o gibst du einen Ausgabedateinamen an, der per Konvention auf .i (preprocessed C source) enden sollte. Dann pick mal die Stelle raus und sieh sie dir genau an. Wenn du's nicht selbst erkennen kannst, poste die entsprechende Zeile hier.
Habe die Ursache gefunden. Die REG32 Definition war dummerweise in einem falschen def Zweig und nicht aktiv. Dummer Fehler, aber es ist mein allererste Projekt mit GNUARM und die Fehlermeldungen sind mir noch völlig ungeläufig. Ich bedanke mich bei euch für die Unterstützung. Grüße
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.