Herunterladen Inhalt Inhalt Diese Seite drucken

Cut Funktionen; Com-User-Callback-Funktionen; Com-User-Library-Funktionen; Header-Files - HIMA HI 800 328 CDA Handbuch

Inhaltsverzeichnis

Werbung

HI 800 328
3

CUT Funktionen

3.1

COM-User-Callback-Funktionen

Die COM-User-Callback Funktionen haben alle den Prefix „CUCB_" und werden bei
Ereignissen direkt von der COM aufgerufen.
Alle COM-User-Callback Funktionen müssen im C-Code des Anwenders
Hinweis
definiert werden!
Die COM-User-Callback (CUCB) und die COM-User-Library (CUL) Funktionen teilen sich
den gleichen Code- und Datenspeicher sowie den Stack. Diese Funktionen stellen
gegenseitig die Konsistenz der gemeinsam verwendeten Daten (Variablen) sicher.
Die einzige Ausnahme stellt die Funktion CUCB_IrqService() dar, die einen eigenen
Stack besitzt. Die Daten (Variablen) die gemeinsam von den CUCB-/CUL-Funktionen mit der
Funktion CUCB_IrqService() genutzt werden, müssen über Semaphoren geschützt
werden.
3.2

COM-User-Library-Funktionen

Alle COM-User-Library-Funktionen und Variablen haben den Prefix „CUL_" und werden in
der CUT aufgerufen.
Diese CUL Funktionen sind alle über das Objekt-File libcut.a verfügbar.
3.3

Header-Files

Die beiden Header Files cut.h und cut_types.h enthalten alle Funktionsprototypen für
CUL/CUCB und die zugehörigen Datentypen und Konstanten.
Zur verkürzenden Schreibweise werden die folgenden Datentypen im Header-File
cut_types.h definiert:
typedef unsigned long
typedef unsigned short uword;
typedef unsigned char
typedef signed long
typedef signed short
typedef signed char
#ifndef HAS_BOOL
typedef unsigned char
#endif
3.4
Code-/Datenbereich und Stack für die CUT
Der Code-/Datenbereich ist ein zusammenhängender Speicherbereich, der mit dem Code-
Segment und dem Initialdaten-Segment beginnt und mit den Datensegmenten fortgesetzt
wird. Im HIMA Linkersteuerfile (makeinc.inc.app und section.dld) ist die beschriebene
Reihenfolge der Segmente und die verfügbare Speichermenge festgelegt.
Die COM User Task teilt mithilfe des HIMA Linkersteuerfiles den verfügbaren
Speicherbereich optimal zwischen dem Code und den Daten auf.
Startadresse
Länge
udword;
ubyte;
dword;
word;
sbyte;
bool; // mit 0=FALSE, sonst TRUE
0x790000
448kByte
12 von 52
HIMatrix COM User Task

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis