Hallo zusammen, ich arbeite zum ersten mal mit einem ARM7 (LPC2294) und teste mich nun heran. Als IDE benutze ich CrossWorks. Meine Frage: Ich habe ein Test-Programm geschrieben, welches den Timer1 Interrupt benutzt. Die Interrupts sind freigeschaltet, das Flag kommt, aber der Controller springt im startup-file immer zum default irq-handler. Was muß ich wo eintragen, damit der Sprung in den Interrupt funktioniert? Vielen Dank Michi
Hallo A. K. sicherlich hast du recht und ich bin nicht würdig. Ein kleines Beispiel wäre schon schön. Michi
Meine Antwort war so präzise wie deine Frage. Soll heissen: Ich habe ins Blaue geraten, dass du vielleicht den VIC nicht programmiert hast. Ins Blaue deshalb, weil du kein bischen deines Codes preisgegeben hast. Also spar dir den Zynismus bitte. Mit einem Beispiel für Crossworks kann ich nicht dienen, bin aber sicher, dass sich dort entsprechende Beispiele finden lassen.
Da der default-handler angesprungen wird, scheinen die grundlegenenden Einstellungen korrekt (Sprungaddresse im Excpetions-Vector), Aktivieren der INT-Excpetions und des Timer-Interrupts. Scheint eher, dass die Adresse des Interrupt-Handlers im VIC nicht inititalisiert. Könnte allerdings auch ein andere Fehler in der Initialisierierung sein. Detaillierte Analyse ohne Vorzeigen des Quellcodes kaum möglich. Vielleicht ist mein Beispiel hilfreich: http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/index.html#lpcio_irq Code sollte relativ leicht an die Crossworks-Umgebung und den LPC2294 anpassbar sein. Im Hintergrund arbeiten die gleichen Tools ("GNU arm-elf Toolchain") wie die bei der von mir genutzten WinARM und die VIC-Zelle ist bei LPC2106 und LPC2294 meines Wissens identisch (besitze selbst kein Board mit LPC2294). Martin Thomas
Martin, vielen Dank für Deine Mühen, aber mein Code war soweit in Ordnung, ich hatte lediglich vergessen in der Preprozessor Anweisung VECTORED_IRQ_INTERRUPTS einzutragen. Interrupts Funktionieren. CU Michi
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.