Gast
#3849550
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