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


von Peter Muthesius (Gast)


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

von Andreas S. (andreas) (Admin) Benutzerseite


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

von BQ (Gast)


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.

von Jan B. (Gast)


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/c164ciclsisl_um.pdf
Punkt 21.1 bzw. Seite 414

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

Danke, Jan

von Mike (Gast)


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).

von Jan B. (Gast)


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_extinline.htm

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.