2.6
Memory Protection Unit (MPU)
Die Memory-Protection-Unit erlaubt es dem Benutzer bestimmte Speicherbereiche (I-Cache, D-Cache oder D-
TCM) in verschiedene Regionen aufzuteilen und diese mit verschiedenen Attributen zu belegen.
Es können maximal 8 Regionen mit variabler Größe eingestellt werden. Bei Überlappung von Regionen sind die
Attribute der höheren Regionnummer wirksam.
Einstellungen je Region:
Basis-Adresse der Region
•
Größe der Region
•
Cache- und „Write-Buffer"- Konfiguration
•
Lese-/Schreib-Zugriffs-Freigabe für Privilegierte/User
•
Die Einstellungen werden in folgenden Registern des ARM946E-S durchgeführt:
Register 2
„Cache-Configuration-Register"
Register 3
„Write-Buffer-Control-Register"
Register 5
„Access-Permission-Register"
Register 6
„Protection-Region/Base-Size-Register"
Die Basis-Adresse definiert die Anfangsadresse der Region. Sie muss immer ein Vielfaches der Größe der
Region sein.
Beispiel: Die Region-Größe ist 4 kByte. Die Anfangsadresse ist dann immer ein Vielfaches von 4 kByte.
Bevor die MPU freigegeben wird, muss mindestens eine Region parametriert worden sein, sonst kann es zu
einem Zustand im ARM946E-S führen, der nur durch Reset wieder verlassen werden kann.
Durch Setzen von Bit 0 des CP15 – Control – Register kann die MPU freigegeben werden.
Wenn die MPU gesperrt ist, können keine I-Cache- oder D-Cache-Zugriffe durchgeführt werden, auch wenn diese
freigegeben sind.
Weitere Informationen zur MPU sind im Dokument /1/ Kapitel 4 nachzulesen.
Weitere Information zur Beschreibung der ARM946-Register sind im Kapitel 2.10 dieses Dokuments
nachzulesen.
2.7
Bus-Interface des ARM946E-S
Für Opcode-Fetches und Daten-Transfers benutzt der ARM946E-S ein AHB-Bus-Master-Interface zum Multi-
Layer AHB-Bus. Das Interface arbeitet fest mit einer Frequenz von 50 MHz. Die Datenbus- und Adressbusbreite
beträgt jeweils 32 Bit.
Weitere Informationen zum Bus-Interface und zu den verschiedenen Transfer-Typen sind im Dokument /1/
Kapitel 6 nachzulesen.
2.8
ARM946E-S Embedded Trace Macrocell (ETM9)
Am ARM946E-S ist ein ETM9-Modul angeschlossen, das eine Debugunterstützung für Daten- und Instruction-
Trace im ERTEC 400 zulässt. Das Modul enthält alle vom Prozessor für den Daten- und Instructiontrace
notwendigen Signale. Bedient wird das ETM9-Modul über das JTAG-Interface. Die Traceinformationen werden
über einen FIFO-Speicher an den Traceport nach außen gegeben. Eine genauere Beschreibung erfolgt im Kapitel
10.1.
2.9
ARM-Interrupt-Controller (ICU)
Der Interrupt-Controller unterstützt die beide Interruptebenen FIQ und IRQ des ARM946 Prozessors. Für FIQ ist
ein Interrupt-Controller mit 8 Interrupteingängen realisiert. Zwei Interrupteingänge (FIQ6-7) werden intern belegt
und 6 Interrupteingänge (FIQ0-5) stehen für externe Ereignisse zur Verfügung. Für IRQ ist ein Interrupt-
Controller für 16 Interrupteingänge realisiert. Von den 16 IRQ-Eingängen können zwei IRQ-Quellen zur
Verarbeitung als Fast-Interrupt_Requests (FIQ6-7) ausgewählt werden. Die Zuweisung erfolgt durch Angabe der
IRQ-Nummer des entsprechenden Interrupt-Eingangs im Register FIQ1REG / FIQ2REG.Die als FIQ
ausgewählten Interrupt-Eingänge müssen für die IRQ-Logik gesperrt werden. Alle übrigen Interrupt-Eingänge
können weiterhin als IRQ's verarbeitet werden.
Der Interrupt-Controller wird mit einer Taktfrequenz von 50 MHZ betrieben. Interrupt-Request-Signale, die mit
einer höheren Taktfrequenz generiert werden, müssen für eine fehlerfreie Erkennung entsprechend verlängert
werden.
Copyright © Siemens AG 2010. All rights reserved.
Änderungen vorbehalten
Seite
23
ERTEC 400 Handbuch
Version 1.2.2