mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Was heißt "Protected instruction" beim C166?


Autor: Peter Muthesius (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!
Was bedeutet "protected instruction" beim C166-Mikrocontroller?
Leider habe ich in den Manuals dazu nicht gefunden.
Danke für Eure Hinweise - Ciao - Peter

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

> Was bedeutet "protected instruction" beim C166-Mikrocontroller?

normalerweise ist das ein Befehl, der nur vom Betriebssystem ausgeführt 
werden darf, nicht vom Anwendungsprogramm. Kann allerdings sein, dass es 
in diesem Zusammenhang was anderes bedeutet...

MfG
Andreas

Autor: BQ (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eine Protected Instruction ist ein 32-Bit Befehl der im ersten Byte 
seines Opcodes das Komplement des 0 Byte bildet und dessen Opcode im 2. 
Befehlwort wiederholt wird.

Dazu zählen beim C166 Befehle wie EINIT, DISWT , SRVWDT und SRST.

Autor: Jan B. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Genau das steht im Manual dazu und das ist mir so auch einigermaßen
klar. Aber wie benutze ich derartige Befehle jetzt unter µVision in C?
IDLE fällt auch unter die Kategorie, aber µVision kennt diesen Befehl
gar nicht, obwohl im Manual eben nichts weiter dazu steht, als dass der
Befehl "protected" ist. Mir is klar, dass der Befehl vermutlich
Assemblersprache und kein C ist, aber der µC muss doch auch mit C in
den IDLE-Modus bewegen zu sein, oder?

Link zum Manual:

http://www.keil.com/dd/docs/datashts/infineon/c164...
Punkt 21.1 bzw. Seite 414

Kann mir also jemand erklären, wei man diesen Befehl in C
implementiert?

Danke, Jan

Autor: Mike (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich kenne mich nicht mit dem Keil-Compiler aus, doch bei Tasking gibt es
mehrere Möglichkeiten:

- Instrinct-Funktionen z.B.  _idle()
- Inline Assembler bzw. pragma-Anweisung
- main() verlassen, geht dann automatisch in den Idel-Mode, ist so
programmiert im Start-Code (C-Initialisierung).

Autor: Jan B. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Super! Das mit den inline assembler Anweisungen funktioniert und ist
ganz einfach. Danke,

Für alle, die das Problem mit uVision vielleicht auch mal bekomen
sollten:
http://www.keil.com/support/man/docs/c166/c166_le_...

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.