Forum: Mikrocontroller und Digitale Elektronik Portierung IAR WinAVR


von Marcus Maul (Gast)


Lesenswert?

allo Leute,

mir macht folgender Aufruf des IAR-Compilers Kopzerbrechen:

__no_init __regvar static unsigned char USI_UART_TxData @ 15;   //
Tells the compiler to store the byte to be transmitted in registry.

Ich habe daraus folgenden Code "verwurschtel"
register unsigned char USI_UART_TxData asm ("r15");

Ich war der Auffassung, das @15 die Adresse des Registers 0x15 ist und
dieses mit r15 identisch ist. Tatsächlich wird hierbei die Adresse
0x15
angegeben. Nun bin ich mit meinem Latein etwas am Ende. Wie kann ich
der Variable mit Hilfe von WinAVR / gcc den Speicherplatz 0x15
permanent zuweisen?

Gruß Marcus

PS: Gibts irgendwelche includes um dem GCC IAR kompatibel zu machen?

PSS: Sorry, dass das hier etas OT ist!

von Jörg Wunsch (Gast)


Lesenswert?

Adresse 0x15 ist das Register 0x15 (also dezimal 21).  Das kannst Du
im AVR-GCC nicht permanent belegen, da es nicht zu dem Bereich gehört,
der frei belegbar ist.  Dieser Bereich beginnt bei 0x2 (und endet
spätestens bei 0x12).

von Marcus Maul (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Jörg,

auch in diesem Form nochmals Sorry fürs doppelte Posting.

Ich benutze den Tiny26 und verzweifel im Moment gerade an der USI.
Ich habe mir die Appnotes von Atmel angeschaut, diese funktionieren
natürlich unter IAR, nur meine Portierung will einfach nicht
funktionieren.

Wäre jemand, dem der IAR sehr vertraut ist, so nett und würde mal kurz
über den portierten Code schauen?

Wo gibts ne gute Doku zum portieren?

Gruß Marcus

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.