Forum: Compiler & IDEs AVR: Portierung ICCAVR => AVR-GCC


von Jürgen Mayer (Gast)


Lesenswert?

hallo,

ich darf ein C-Projekt für ATMEGA 128 das mit dem ICCAVR erstellt wurde
auf den AVR-GCC portieren.

Gibts da bekannte Fallstricke?

Tipps?

hat jemand schon mal mit so einer Umstellung Erfahrungen gesammelt?

Gruss
Jürgen

von MasterFX (Gast)


Lesenswert?

Ich kenne jetzt zwar nicht den ICCAVR, aber den ICC für HC11/12
(Motorola). Der ICC arbeitet ganz anders mit Interrupts. Beim ICC wird
das mit #pragma interrupt_handler deine_ISR
beim GCC ist es halt sowas wie
1
ISR(Vectorname){
2
    /* Interrupt Code */
3
}
Das finde ich ehrlich gesagt besser gelöst. Und ICC hat auch einige
seltsame Angewohnheiten, die GCC nicht hat. Ansonsten ist es eigentlich
relativ gleich.

von mthomas (Gast)


Lesenswert?

Auf jeden Fall die Zugriffe auf Variablen mit Flash-Speicher genau
nachvollziehen. Ist bei den "kommerziellen" Compilern anders und
lesen aus dem Programmspeicher muss bei avr-gcc/avr-libc "von Hand"
implementiert werden. Vielleicht gibt mein gcc-Port der
Butterfly-Beispielanwendung ein paar Hinweise, der Ursprungscode ist
fuer den IAR-Compiler, aber Imagecraft und IAR unterscheiden sich in
dieser Hinsicht nicht sehr. Habe einiges vom Original-Code als
Kommentar im Code gelassen, zeigt also hoffentlich ganz gut die
Unterschiede.
( http://www.siwawi.arubi.uni-kl.de/avr_projects/index.html#bf_app )

Martin Thomas

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.