Reset Interrupt Vektor

#847681
Lesenswert?
• ▲
▼
@ ovt (Gast)

>was hat es eignetlch mit diesen Vektoren auf sich? Gibt ja jede menge:
>Reset Vektor, Interrupt vektor usw.

Das sind Zeiger auf Interruptserviceroutinen.

>Ist in diesem Speicherelement (also wo der vektor ist) die Sprung
>Adresse, des entsprechenden events gespeichert?

Praktisch ja. Wobei es da zwei Arten gibt, abhängig vom Prozessor.
Beim AVR stehen an der Stelle Sprungbefehle in die Routinen. Bei anderen 
Prozessoren stehen dort nur die Adressen, die der Prozessor erst 
auslesen muss und dann dorthin springt.

> Also eigentlch nur ein Pointer?

Ja.

MFG
Falk
Gast #847695
Lesenswert?
• ▲
▼
Genau das wollte ich wissen - Danke

Ach ja und wie geht das mit dem Reset Vektor? Ist das nur ein Pointer 
auf eine std Funktion welche die Peripherie des uC (Xscale) zurücksetzt, 
oder wird der ganze conntroller zurückgesetzt (also PC = 0)?
Gast #847703
Lesenswert?
• ▲
▼
Das Zurücksetzen eines µCs geschieht normalerweise durch den Resetimpuls 
(Leitung auf LOW ziehen). Die Adresse die im Resetvektor steht zeigt auf 
den Code, der zuerst ausgeführt wird (z.B. Variablen initialisieren) und 
deine Main-Funktion aufruft.
Damit kannst du (je nach Typ) den µC (komplett) neu initialisieren. 
Teilweise haben µCs aber auch "Write-Once" Register, die nur einmalig 
nach dem Reset verändert werden können. Diese sind doch einen 
Softwarereset (Sprung auf den Interruptvektor) dann natürlich nicht mehr 
veränderbar.
#847709
Lesenswert?
• ▲
▼
Hallo,

Das zuvor gesagt geht zwar in die richtige Richtung und meint auch das 
richtige, ist aber genau genommen falsch!

Bei AVR sind das KEINE Vektoren im eigentlichen Sinn, sondern 
Befehlsspeicherstellen.

Ein Vektor wäre es dann, wenn dort lediglich eine Adresse stehen würde, 
die der AVR dann intern in einen Sprung "umwandeln" würde.

Beim  AVR wird dort aber keine reine Adresse plaziert, sondern ein 
kompletter Befehl, z.B. kann in der Vektortabelle ja ein einfaches RETI 
stehen, wenn dieser Int. nicht benötigt wird.
Die Aussage, dass es sich um reine Pointer handelt ist also so nicht 
richtig.

Jochen Müller

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren