Hallo Ich hab vor kurzem angefangen mit einem EVK1101 zu experimentieren. Das Board hat einen AT32UC3B0256. Da ich auf Ubuntu arbeite und das Atmel-Studio bei mir nicht zu laufen scheint verwende ich stattdessen ein makefile und habe mir die toolchain selbst aus den Fragmenten die man von ATMEL bekommt zusammengeschustert. Vieles scheint auch schon ganz gut zu laufen, allerdings bei den Interrupts scheint es noch zu haken. Ich habe versucht das Problem auf ein Minimalbeispiel einzugrenzen (main.c im Anhang). Ich verwende den USART-Interrupt um Zeichen vom PC zu empfangen und gleich wieder zurück zu senden. Das erste Zeichen wird auch empfangen und erfolgreich zurück gesendet, aber dann kein weiteres mehr. Außerdem scheint das Programm ab dann nicht mehr weiter zu laufen (das erkennt man daran, dass auch das LED-Blinken im Hauptprogramm nicht mehr funktioniert.) Ich vermute daher, dass irgendetwas beim Rücksprung aus dem Interrupt nicht richtig funktioniert und die CPU sich irgendwo "verrennt" statt beim Hauptprogramm fortzusetzen. Dann hilft wohl nur mehr ein Reset. Im Anhang noch das Makefile sowie die Dateien aus dem Ordner INTC, also aus der ATMEL-Bibliothek für den Interrupt-Controller. Die exception.S musste ich etwas modifizieren, da sie bei mir sonst nicht kompilieren wollte, aber im Wesentlichen hab ich nur ein paar Makros durch ihre tatsächlichen Werte ersetzt. Das Paradoxe ist, dass dieses Beispiel bei mir schon einmal funktioniert hat. Als ich dann ein größeres Projekt draus machen wollte funktionierte das aber nicht mehr und das Zurücksteigen auf das Minimalprogramm funktionierte dann auch nicht mehr. Ich weiß nicht was ich vorher anders gemacht habe... Vielen Dank schon mal, mfg Fritz
Standard-Fragen schon durch? (Fuses richtig gesetzt, Watchdog ist auch brav usw.)
Hmm an den Fuses hab ich nichts verändert. Soweit ich bis jetzt erkennen konnte haben die ja auch nichts mit den Interrupts zu tun. Watchdog sollte auch ausgeschaltet sein. Hab ihn zumindest nicht eingeschaltet. Und normales LED Blinken geht ja, nur der Interrupt nicht.
Könnte vielleicht mal jemand mit einem EVK1101 und AVR32-Studio den Code ausprobieren (main.c). Dann wüsste ich ob es an meiner Toolchain liegt oder nur an der main.c Vielen Dank, mfg Fritz
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.