www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Nested Interrupts mit Keil µVision mit RealView?


Autor: Dietmar (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo ARM-Gemeinde,

im Laufe der Woche gab es im Thread

Beitrag "Interrupts"

eine Frage zum Compiler-Umstieg bei Keil von komfortablen CARM (der im
Dezember 2005 von Keil eingestellt wurde) auf RealView für ARM (der neue
bei Keil, von ARM übernommen, Keil hat sich Ende 2005 bei ARM eingekauft
bzw. wurde von ARM gekauft), der ab diesem Zeitpunkt unter Keil µVision
verwendet wird.

Dort hatte ich eine Lösung gepostet, wie man die
Nested-Interrupt-Technik unter RealView weiterhin anwenden kann, da
unter RealView die Inline-Assembler-Makros aus den bekannten
Hitex-Examples zum Umschalten nicht mehr funktionieren. RealView
verhindert zuverlässig den Zugriff auf die dafür wichtigen Register R13
(SP), R14 (LR) und R15 (PC) aus C-Sourcefiles, auch unter
Inline-Assembler. Unter RealView geht sowas nur noch in reiner
Assemblerprogrammierung in so genanntem Embedded Assembler. Aber, das
ist nicht mehr das Problem, da gelöst.

Diese Sache betrifft also nach wie vor anscheinend nicht nur mich, der
bereits ein Software-Projekt in tagelanger Arbeit von CARM nach RealView
umgebaut hat.

Bis heute habe ich im Internet keine Ersatzlösung für die Makros
gefunden, und bin nach einigen Überlegungen darauf gekommen, diese
letztendlich in Assembler selbst zu schreiben. Dazu habe ich die Makros
genommen und sie zu Funktionen umgebaut, die natürlich nicht mehr ganz
so komfortabel sind wie die Makros, da sie zwangsläufig etwas mehr Code
und Laufzeit haben (Funktionsaufruf, zusätzliche Verwendung und
Sicherung eines Registers, denn die Returnadresse der Funktionen muß
über die Prozessor-Mode-Umschaltung hinweg erhalten bleiben).

Das Assembler-File ist hier direkt downloadbar und in die µVision
einbindbar, damit die Funktionen aus einem Interrupt heraus sofort
aufrufbar. Eingesetzt in das Nested Interrupt Example von Hitex,
funktioniert das auf meinem Keil-Demo-Board MCB2100 wunderbar.

Wer möchte mit mir mal verifizieren, ob das alles so in Ordnung ist?
Und, wie weit arbeitet der VIC-Controller in den LPC21xx und LPC22xx
(PL190 von ARM) mit Nested Interrupts zusammen?

Hat mal jemand einen Interrupt-Prioritäts-Handler in Software
geschrieben, der verschiedene Interrupt-Prioritäts-Ebenen behandeln
kann, wie sie in anderen Mikrocontrollern als Hardware (z.B. 80C515,
80C517, C166) implementiert sind?

Wenn nicht, weiß noch jemand ein gutes ARM-Forum auch für ARM7, außer
'YAHOO LPC2000' oder 'Keil'?

Gruß

Dietmar

Autor: Dietmar (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry, ich wollte eigentlich ins ARM-Forum. Habe dort "Neuer Beitrag" 
angeklickt, und lande jedoch hier.

Autor: Dietmar (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Weiß jemand, wie ich einen neuen Thread im ARM-Forum eröffnen kann? Ich 
lande bei dem Versuch immer wieder hier im allgemeinen Forum. Dadurch 
geht die Info den ARM-Interessierten natürlich schnell verloren.

Danke.

Dietmar

Autor: Dietmar (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
AAAchhhhh!!! Die Betreff-Zeile ist irgendwie sensitiv für das Wort ARM. 
Gerade versucht!!! Also, versuchen wir das ganze noch mal:-)

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dietmar wrote:
> AAAchhhhh!!! Die Betreff-Zeile ist irgendwie sensitiv für das Wort ARM.
> Gerade versucht!!! Also, versuchen wir das ganze noch mal:-)

Kleine Frage, ähm. Welches ARM-Forum? Meinst du den einfachen 
Betreff-Filter?

edit: Habs schon gesehen, du hast ja das ganze µC&Elektronik-Forum 
vollgeschrieben...

Autor: fnah (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
lol, ich hab mich auch schon gewundert, was er mit ARM-forum meint :)

es gibt zwar das hier, aber ich konnte mir nicht vorstellen, wie es dann 
hier im "normalen" forum landen sollte:
http://en.mikrocontroller.net/forum/17

Autor: fnah (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
btw, wenn dir der thread so wichtig ist, dann pack ihn ins wiki!
http://www.mikrocontroller.net/articles/ARM
http://www.mikrocontroller.net/articles/LPC2000
(http://www.mikrocontroller.net/articles/ARM-elf-GC...)

such dir was aus.
evtl. waere ein crosspost im keil-forum, falls es eins gibt, auch 
angebracht.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.