Betriebssystem

 

 

 

 

SC12 / SC13 und SC23 IPC@CHIP

 

 

 

 

 

Hardware API

 

 

 

 

 

Hardware API -Bemerkungen

 

 

Zustand der SC1x-Pins nach einem System-RESET

 

 

         Link: RTOS-Betriebssystem original, englisch

 

 


 

 

 

 

 

        

  INT  

  AH  

  Kurzbeschreibung                                                                                                 

 

 

 

0xA1

 

ok

 

 

 

 

0xA1

0x10

HAL: IRQ, Setze einen Zeiger auf den IRQ0 Handler

 

 

0xA1

0x80

HAL: I/O-Bus, Lese den Datenbus             AD0..7

 

 

0xA1

0x81

HAL: I/O-Bus, Schreibe zum Datenbus       AD0..7

 

 

0xA1

0x82

HAL: PIO, Lese       alle PIO-Pins        PIO   0..15

 

 

0xA1

0x83

HAL: PIO, Schreibe alle PIO-Pins        PIO   0..15

 

 

0xA1

0x84

HAL: IRQ, Installiere eine Interrupt Service Funktion

 

 

0xA1

0x85

HAL: Timer, Voreinstellung der Timer 0 oder 1

 

 

0xA1

0x86

HAL: Timer, Starte   Timer 0 oder 1

 

 

0xA1

0x87

HAL: Timer, Stoppe Timer 0 oder 1

 

 

0xA1

0x88

HAL: Timer, Lese den Zählwert von Timer 0 oder 1

 

 

0xA1

0x89

HAL: Timer, Schreibe einen Zählwert zum Timer 0 oder 1

 

 

0xA1

0x8A

HAL: System, Hole die Systemfrequenzen

 

 

0xA1

0x8B

HAL: Timer, Setze das High-Low Verhältnis am Timer

 

 

0xA1

0x8C

HAL: PIO, Lese       einen PIO-Pin       PIO  0..31

 

 

0xA1

0x8D

HAL: PIO, Schreibe einen PIO-Pin       PIO  0..31

 

 

0xA1

0x8E

HAL: IRQ, Sende EndOfInterrupt EOI

 

 

0xA1

0x8F

HAL: Timer, erweiterte Voreinstellung der Timer 0 oder 1

 

 

0xA1

0x90

HAL: Timer, Wähle den Watchdog-Modus

 

 

0xA1

0x91

HAL: Timer, Setze den Watchdog-Timer zurück

 

 

0xA1

0x92

HAL: IRQ, Ein-/Ausschalten beliebiger IRQs

 

 

0xA1

0xA0

HAL: I/O-Bus, Lese       einen Datenblock vom Datenbus

 

 

0xA1

0xA1

HAL: I/O-Bus, Schreibe einen Datenblock zum Datenbus

 

 

0xA1

0xB0

HAL: DMA, Starte   den DMA Modus

 

 

0xA1

0xB1

HAL: DMA, Stoppe den DMA Übertragung

 

 

0xA1

0xB2

HAL: DMA, Hole DMA Informationen

 

 

0xA1

0xC0

HAL: System, Initialis./Zurückholen von remanenten Daten

 

 

0xA1

0xC1

HAL: System, Sichere die remanenten Daten

 

 

0xA1

0xC2

HAL: System, Hole den Grund für einen Neustart

 

 

0xA1

0xC3

HAL: System, Installiere eine PowerfailDone Rückruffunktion

 

 

 

0xA2

 

 

 

 

 

 

0xA2

0x80

PFE: I/O-Bus, Freigabe des Datenbus   AD0..7

 

 

0xA2

0x81

PFE: I/O-Bus, Freigabe des nicht gemultiplexten Adressbus

 

 

0xA2

0x82

PFE: PIO, Freigabe von PIO-Pins        PIO   0..31

 

 

0xA2

0x83

PFE: I/O-Bus, Freigabe der PCS-Signale

 

 

0xA2

0x84

PFE: IRQ, Freigabe einer externen IRQ-Leitung

 

 

0xA2

0x85

PFE:  Timer, Freigabe der externen Signale TMRin / TMRout

 

 

0xA2

0x86

PFE: IRQ, Setze den IRQ Auslösezustand

 

 

0xA2

0x87

PFE: PWD, Freigabe der Pulsweitendemodulation

 

 

0xA2

0x88

PFE: DMA, Freigabe des externen DMA Modus

 

 

0xA2

0x89

PFE: IRQ, Freigabe des INT0 INTA Kaskaden-Modus

 

 

0xA2

0x8A

PFE: I/O-Bus, Setze Wartezyklen für PCS 0-3

 

 

0xA2

0x8B

PFE: I/O-Bus, Setze Wartezyklen für PCS 5-6   (nur SC13)

 

 

0xA2

0x90

PFE: System, Hole Adresse einer Hardware API-Funktionen

 

 

 

 

 


Bei allen Aufrufen eines Softwareinterrupts stellt die mit INT gekennzeichnete hexadezimale Zahl die Nummer des Softwareinterrupts dar, der aufgerufen werden muss.
Die mit AH gekennzeichnete Zahl muss vor dem Aufruf des Interrupts in das AH-Register der CPU-geladen werden. Sie kennzeichnet ein Unterprogramm des Programms, das durch den Softwareinterrupt aufgerufen wird
[siehe z.B. die C-Funktion:int86()]

 

 

 

 

 

 

 

 

nach oben

 

 

  Hardware API -Bemerkungen
Das Hardware API stellt Funktionen bereit, welche die aus dem IPC@CHIP herausgeführten Signale an den Pins betreffen. Mit seinen Unterprogrammen kann die Verwendung der mehrfach belegten Pins bestimmt werden, und es können Signale an diesen Pins ausgegeben oder empfangen werden. Ausgenommen hiervon sind die Signale des Ethernet-Anschlusses.

Die Hardware-API stellt zwei Typen von Unterprogrammen bereit. Die PFE-Funktionen stellen die, an den IPC@CHIP-Pins heraustretenden Signaltypen auf eine ihrer Alternativfunktionen ein. Mit den HAL-Funktionen ist es möglich, diesen Pins konkrete Hardwaresignale zu verpassen oder die anliegenden Signale zu lesen.


Die Pins des IPC@CHIP sind teilweise mehrfach belegt. So kann an Pin 1 beispielsweise das Signal RxD der seriellen Schnittstelle 0 heraustreten oder aber das Ein-/Ausgabetorbit 7. Beide haben nichts miteinander gemein. Mit einer PFE API-Funktion kann eingestellt werden, welche von beiden Signalfunktionen letztendlich vom Benutzer gewünscht wird. Nachdem dies festgelegt ist, muss es Funktionen geben, die an dem Pin, in Abhängigkeit von seiner Signalfunktion, ein logisches 0 oder 1 Signal erzeugen. Dies tun die HAL API-Funktionen.

 

 


 

 

 

 

 

 

 

 
Signalausgänge des SC12 /SC13 IPC@CHIP
 

 

 

 

 

 

 
Signalausgänge des SC23 IPC@CHIP
 

 

 

 


 

 

 

 

 

Das Schichten-Modell der Harware API

 

 

 

 

 

 

 

 

 

 

Die PFE -Funktionen
PFE bedeutet Pin Function Enabler, und meint Unterprogramme im RTOS Betriebssystem, welche die gewünschte Funktionalität von einem der Pins einstellen kann, die mit alternativen Eigenschaften belegt sind.
Die HAL-Funktionen
Ein zweiter Satz Unterprogramme sind die sogenannten HAL-Funktionen, deren Name leitet sich von Hardware Abstraction Layer ab. Diese Unterprogramme machen es möglich, die verfeinerten Eigenschaften der jeweils ausgesuchten Pin-Funktionalität zu bestimmen, oder sie ganz trivial zu benutzen. Wurde beispielsweise ein gemultiplexter Pin durch die PFE-Funktion zu einem PIO Torbit mit Ausgabeeigenschaft gemacht, so kann mit einer HAL-Funktion nun eine 1 oder eine 0 an dem Pin ausgegeben werden.

Der besondere Trick beider Unterprogrammgruppen ist es, dass der Anwendungsprogrammierer nichts über die Steuer-, Torregister und Controller, sowie deren interne I/O-Adressen wissen muss, die letztendlich die Arbeitsweise der Pins hervorrufen. Er benutzt die Unterprogramme der PFE um 'anzusagen', welchen Pin er benutzen will und 'verpasst' diesem mit den HAL-Unterprogrammen die gewünschten Eigenschaften.

 

 

 

 

 

INT 6Fh (Service interrupt handler)
Der Service Interrupt 6Fh bewahrt die Softwarekompatibilität mit der Beck FEC Produktlinie. Er wird nur in Beck Produkten, die auf dem IPC@Chip basieren, benutzt Er ist nicht Teil der hier vorliegenden RTOS-Beschreibung.

 

www.GoBlack.de