Forum: Compiler & IDEs Atmel USB DFU Bootloader


von Rüd (Gast)


Lesenswert?

Hallo  alle miteinander,

ich versuche gerade das Beispiel Projekt für den DFU USB Bootloader von 
Atmel (AVR1916) auf meinem Xmega256A3u zum laufen zu bringen.
Ich nutze Atmel Studio 6.0.

In der conf_usb.h steht folgendes:
1
# if defined(__GNUC__)
2
#   error GCC no supported when interrupt vectors space is optimized
3
/*
4
#   undef USB_BUSEVENT_vect
5
#   undef USB_TRNCOMPL_vect
6
#   undef USB_BUSEVENT_vect_num
7
#   undef USB_TRNCOMPL_vect_num
8
#   define USB_BUSEVENT_vect_num  1
9
#   define USB_BUSEVENT_vect      _VECTOR(1)
10
#   define USB_TRNCOMPL_vect_num  2
11
#   define USB_TRNCOMPL_vect      _VECTOR(2)
12
*/
13
# elif defined(__ICCAVR__)
14
#   undef USB_BUSEVENT_vect
15
#   undef USB_TRNCOMPL_vect
16
#   define USB_BUSEVENT_vect 0x0
17
#   define USB_TRNCOMPL_vect 0x4
18
# endif
Die Fehlermeldung ist also standardmäßig bei mir drin. Ich verstehe nur 
nicht ganz, worauf sie mich hinweisen soll. Hat das was mit den 
Optimierungseinstellungen zu tun?

Wäre super, wenn mir das jemand erklären könnte.

Gruß

Rüd

von Timmo H. (masterfx)


Lesenswert?

Ich glaube Atmel versucht da die Interrupt Vektoren USB_BUSEVENT und 
USB_TRNCOMPL nach oben zu verschieben, damit der Speicher der 
größtenteils unbenutzten Interruptvektoren für Code verwendet wird.
Das wird wohl irgendwie nicht von GCC unterstützt.
Vermutlich macht ICC dann irgendwie einen Jump vom USB_BUSEVENT Vektor 
zur Adresse weiter oben im Interruptvektor oder so.

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.