mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ARM9 Pipeline und Interrupts


Autor: Mars (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich bin gerade dabei mich in die ARM-Architektur einzuarbeiten und habe 
einige Fragen zu den Interrupts:
Wie werden Interrupts in die Pipeline hinzugefügt? Werden diese an 
letzter Stelle hinzugefügt, oder wird ein Interrupt sofort ausgeführt?
Die Frage stellt sich mir, da ich einige Stellen im Code habe, die auf 
gemeinsame Variablen zugreifen und ich hier die Interrupts kurzzeitig 
deaktivieren will. Auf was muss ich hier achten?
Und kennt jemand eine C bzw. Header-Datei um auf den CP-15 
zuzugreifen(Enable/Disable ICache,DCache & MMU, Invalidate Cache, TLB, 
Instruction Memory Barrier, ...)

Danke

Autor: Marcus Harnisch (mharnisch) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mars schrieb:
> Wie werden Interrupts in die Pipeline hinzugefügt? Werden diese an
> letzter Stelle hinzugefügt, oder wird ein Interrupt sofort ausgeführt?

Ein Interrupt wird immer dann ausgeführt, wenn ein Befehl die
Execution Stage der Pipeline verlässt.

> Die Frage stellt sich mir, da ich einige Stellen im Code habe, die auf
> gemeinsame Variablen zugreifen und ich hier die Interrupts kurzzeitig
> deaktivieren will. Auf was muss ich hier achten?

Auf nichts. Beim ARM7 gibt es da Besonderheiten, vom ARM9 ist mir
nichts dergleichen bekannt.

> Und kennt jemand eine C bzw. Header-Datei um auf den CP-15
> zuzugreifen(Enable/Disable ICache,DCache & MMU, Invalidate Cache,
> TLB, Instruction Memory Barrier, ...)

Leider nicht.

Gruß
Marcus
http://www.doulos.com/arm

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mars schrieb:

> Und kennt jemand eine C bzw. Header-Datei um auf den CP-15
> zuzugreifen(Enable/Disable ICache,DCache & MMU, Invalidate Cache, TLB,
> Instruction Memory Barrier, ...)

Ist bei jedem Compiler anders.

Autor: Mars (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Marcus,

danke für deine Antwort. Rein aus Interesse, wie sieht dies beim ARM7 
aus?

@A. K.
Aber auch nur wie Inline-Assembler eingebettet wird (ob jetzt asm() oder 
__asm { } oder ...).

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, aber nur darum geht es dabei doch, zumal das grad bei GCC einerseits 
ausserordentlich flexibel und leistungsfähig andererseits etwas 
gewöhnungsbedürftig ist.

Ausserdem kann's ja sein, dass sich in einer Entwicklungsumgebung sowas 
schon fertig findet.

Autor: Mars (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Natürlich hast du bei den ASM-Einzeilern Recht, allerdings sollte es 
nicht so schwer sein per define für gcc, IAR und Keil angepasste 
ASM-Statements zu erzeugen.
Abgesehen davon gibt es ja auch kompliziertere Funktionen um zB. eine VA 
in eine PA umzurechenn oder für eine Instruction Memory Barrier.

Autor: Marcus Harnisch (mharnisch) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mars schrieb:
> danke für deine Antwort. Rein aus Interesse, wie sieht dies beim ARM7
> aus?

http://infocenter.arm.com/help/topic/com.arm.doc.f...
http://infocenter.arm.com/help/topic/com.arm.doc.f...

Gruß
Marcus
http://www.doulos.com/arm/

Autor: Mars (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank

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.