Hallo zusammen, ich arbeite mit dem LPC2468 auf einem Eval Board von Embedded Artists und habe folgende zwei Fragen. 1. Frage: Ich debugge mit Eclipce+OpenOCD+gdb. Da möchte ich mir den Speicherbereich der Special Function Register (0xE000 0000 - 0xFFFF FFFF) anschauen. Aber das funktioniert nicht. Wenn ich darauf zugreifen will, spielt der Debugger verrückt und stürzt ab. Wenn ich meinen Stack anschauen will (so um Adresse 0x4000 0000) funktioniert das problemlos. Ansosnsten ist mit dem Debugger auch alles supi. Kann es eventuell sein, dass der JTAG Controller nicht drauf zugreifen darf? Gibt es irgendeine Möglichkeit dass ich mir die SFRs anschauen kann, ohne sie in Variablen zu speichern? 2. Frage: Und die ist eigentlich viel interessanter! Ich möchte einen UART Interrupt verwenden. Ich habe alles nach den Codebeispielen von Keil eingerichtet. Außerdem habe ich selbstverständlich Funktionsaufrufe und ein paar einfache Anweisungen in meiner main-Endlosschleife. Nun zum Phänomen der Sache: Egal wann der Interrupt physikalisch eintritt, wird die ISR erst beim nächsten Funktionaufruf aufgerufen. Das habe ich mit Hilfe meines Debugegrs heraus bekommen. Wenn ich die Funktionsaufrufe herausnehme, muss erst zweimal ein Interrupt auftreten, bevor die ISR bedient wird. Die folgenden Interrupts werden dann einfach ignoriert. Wie bekomme ich die Interruptbehandlung sicher aaufgebaut? Fehlt eventuell noch was im StartUp Script (liegt im Anhang) oder welche Register müssen beschrieben werden? Vielen Dank schon mal für eure Hilfe im voraus Eric
Hallo nochmal, sieht ja etwas mau aus! Ich gebe mal noch ne kleine Hilfestellung. Ich habe mittlerweile herausgefunden, warum beim zweiten Interrupt nichts passiert. Und zwar wird beim Einsprung in die ISR das Global Interrupt disable Flag gesetzt, was auch soweit in Ordnung ist. Allerdings wird es beim verlassen nicht wieder gelöscht, so dass keine weiteren Interrupts auftreten können. Wie kann ich dass beeinflussen? Wo muss ich was hin schreiben, damit dieses Flag wieder gelöscht wird??? Eric
Da mir niemand helfen konnte, habe ich mir selber geholfen. Der Fehler lag tatsächlich im Startup Script am fehlenden / unkorrekten IRQ Handler. Eric
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.