25.9.2009 Embedded Systems Seite 1 04EI 164C L XTAL C166- C166- Core Core Port 5 Port 3 CPU Dual Port RAM 2 KByte Interrupt Controller Watchdog Peripheral Data External Instr./Data Instr./Data USART ASC BRG GPT1 16 16 16 16 32 PEC 64 K ROM (C164 CI-8RM) or OTP (C164CI-8EM) Interrupt Bus Data Data Port 8 BRG SSC Sync. Channe l (SPI) PLL-Oscillator prog. Multiplier: 0.5; 1; 1.5; 2; 2.5; 3; 4; 5 XBUS (16-bit NON MUX Data / Addresses) T2 T4 T3 13 ext. IR Full-CAN Interface V2.0B active RTC 10-Bit ADC Timer 7 Timer 8 Port 1 Timer 13 1 Comp. Channel 3/6 CAPCOM Channels CAPCOM6 Unit for PWM Generation 8 9 4 16 6 16 Port 4 8-Channels External Bus 8/16 bit MUX only & XBUS Control CAPCOM 2 8-Channel C164CI Blockschaltbild P4.6/ CAN TxD P4.5/ CAN RxD Port 0
27
Embed
25.9.2009Embedded SystemsSeite 1 C166-Core Port 5 Port 3 CPU Dual Port RAM 2 KByte Interrupt Controller Watchdog Peripheral Data External Instr./Data Instr./Data.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
2592009Embedded Systems Seite 1
04EI
164CL
XTAL
C166-CoreC166-Core
Port 5 Port 3
CPU
Dua
l Por
t
RAM
2 KByte
Interrupt Controller
Watchdog
Peripheral Data
External InstrData
InstrData
USART
ASC
BRG
GPT1
16
16
16
1632
PEC
64 K ROM
(C164 CI-8RM)or
OTP(C164CI-8EM)
Interrupt Bus
Data
Data
Port 8
BRG
SSC
Sync Channel(SPI)
PLL-Oscillatorprog Multiplier
05 1 15 225 3 4 5
XB
US
(16-
bit N
ON
MU
X D
ata
Add
ress
es)
T2
T4
T3
13 ext IR
Full-CANInterfaceV20Bactive
RTC
10-BitADC
Tim
er 7
Tim
er 8
Port 1
Tim
er 1
3
1 CompChannel
36 CAPCOMChannels
CAPCOM6 Unit forPWM Generation
8 9 4 16
6
16
Port 4
8-Channels
External Bus816 bit
MUX onlyamp
XBUSControl
CAPCOM 2
8-Channel
C164CI Blockschaltbild
P46 CAN TxD
P45 CANRxD
Port
0
2592009Embedded Systems Seite 2
04EI
On-Chip(EP)ROM
SP
STK OV
STK UV
CPU - Blockschaltbild
CPUCPU
MDL
MDH
Barrel-Shifter
ALU
16-bit
MulDiv-HW
Bit-Mask Gen
Code SegPtr
On-ChipStaticRAM
R15
R0
STK OV
STK UV
4-StagePipeline
32
16
16
Exec Unit
Instr Ptr
Instr Reg
SYSCON
BUSCON 0
BUSCON 1
BUSCON 2
BUSCON 3
BUSCON 4
ADDRSEL 1
ADDRSEL 2
ADDRSEL 3
ADDRSEL 4
Context PtrData Page Pointer
SFR
PSW
General
R15
R0
Purpose
Registers
2592009Embedded Systems Seite 3
04EI
Fetch
Decode
Execute
Write Back
1 Instr 2 Instr 3 Instr 4 Instr
Time
1 Machine Cycle = 100 ns at 20 MHz CPU clock
Vierstufige Befehls-Pipeline
100ns effektive Befehlsausfuumlhrungszeit (20 MHz fCPU) Drei Pre-Fetch-Schritte in Wortbreite (Bus Controller) zur Unterstuumltzung
der Pipeline Optimierte Sprungausfuumlhrung
ndashFuumlr Sprungbefehle (Jump Cond Jump Call Return) wird normaler Weise nur ein zusaumltzlicher Maschinenzyklus benoumltigt um den Befehl an der Zieladresse zu holen
Jump Cache
ndashFuumlr die Ausfuumlhrung von Schleifen ist kein zusaumltzlicher Maschinenzyklus erforderlich
ndash 4 programmierbare ldquoChip Selectsrdquo und programierbare BUS-Kontrollsignale helfen externe Logik zu vermeiden
Adressraum
2592009Embedded Systems Seite 9
04EI
Interner und externer Adressplan des C164CI
Bit-adressierbarer Bereich
X-Bus Peripheral
Segment 0 beinhaltet den internen Speicher
Internes RAM
512 BytesSFRrsquos
2kInternes
RAM
ExternerSpeicher
InternesROM
Flash Esup2PROM(kann auf Segm 1 liegen)
512 BytesESFRrsquos
0x000000
0x008000
0x00FE00
0x00FA00
0x00F600
0x00F200
0x0100007 0
32k
05k
Reserviert
Bis zu 4 MBytes
Code Segmente Daten Pages
0
1
2
3
3
2
1
0
7
6
5
4
11
10
9
8
15
14
13
12
InternalROMFLAS
H232k0x010000
0x020000
0x030000
0x040000
Full -CANFull -CAN0x00F000
0x00E800Reserviert
05k
0x000000
2592009Embedded Systems Seite 10
04EI
Die Programmiersprache C fuumlr den Mikrocontroller C164
C166 ist die Realisierung von ANSI-C fuumlr die Mikrocontroller-Familie C166
Der C166-Compiler sieht eine Reihe von Erweiterungen des ANSI-C Standards vor Speziell solche die direkt der Unterstuumltzung der 166-Architektur dienen
C166-Bezeichnung Erlaumluterung
memory types Als Ergaumlnzung zur Speicherklasse kann zu jeder Variablenvereinbarung ein Speichertyp mit angegeben werden Dies erlaubt eine vom aktuellen Speichermodell unabhaumlngige Adressierung von Variablen in verschiedenen Adressraumlumen des 166-Systems Folgende Typen sind definiertnear idata bdata sdata far huge xhuge
sfr Dient der Deklaration von Special-Function-Register (SFR) der 166-Familie
sbit Deklaration von Bits innerhalb von SFRs
bit Datentyp bit Ruumlckgabewert Uumlbergabeparameter von Funktionen koumlnnen vom Typ bit sein
bit-addressable Variable im bitadressierbaren Bereich koumlnnen mittels bdata als Speichertyp vereinbart werden
2592009Embedded Systems Seite 11
04EI
Die Programmiersprache C fuumlr den Mikrocontroller C164
C166-Bezeichnung Erlaumluterung
registerbank (using) Jede Funktion kann eine Vereinbarung enthalten in der die zu benutzende Registerbank angegeben wird
interrupt Funktionen koumlnnen als Interrupt-Service-Routinen vereinbart werden durch Angabe des Interruptnamens bzw ndashvektors
register mask Der C166-Compiler erzeugt fuumlr jede C-Funktion eine Register-maske in der die durch die Funktion verwendeten Register aufgefuumlhrt werden Diese koumlnnen fuumlr Funktionsprototypen verwendet werden um die Registerausnutzung zu optimieren
RTX166 tasks Durch das Schluumlsselwort _task_ werden Funktionen als Tasks des Betriebssystems RTX166 spezifiziert
Neue Schluumlsselwoumlrter (Keywords)Speicherarten near idata bdata sdata far huge xhugeDatentypen bit sfr sbitFunktionen interrupt _task_ using
2592009Embedded Systems Seite 12
04EI
Speicherarten (Memory Types)
Auswahl Adressraum
near 16-Bit Adressen bis zu 64 kBytes
idata On-chip RAM (schnellster Zugriff)
bdata Bit-adressierbares On-chip-RAM
sdata System Page (0xC000-0xFFFF) inklusive SFRlsquos
far 32-Bit Pointer mit 16-Bit Adressberechnung die Objektgroumlszlige betraumlgt 16 kByte
huge 32-Bit Pointer mit 16-Bit Adressberechnung die Objektgroumlszlige betraumlgt 64 kByte
xhuge 32-Bit Pointer mit 32-Bit Adressberechnung die Objektgroumlszlige betraumlgt 16 MByte
Die Programmiersprache C fuumlr den Mikrocontroller C164
2592009Embedded Systems Seite 13
04EI
Entsprechend den Speicherarten koumlnnen Speichermodelle als Voreinstellungen vorgegeben werden die immer dann Anwendung finden wenn bei der Variablen- oder Funktionsdefinition keine Speicherart explizit angegeben wird
Dies erfolgt mittels der Preprozessordirektive pragma speichermodell
Die Programmiersprache C fuumlr den Mikrocontroller C164
TINY near near nein 64kSMALL near near ja 64kCOMPACT far near ja 64kHCOMPACT huge near ja 64kMEDIUM near far ja unbegrenztLARGE far far ja unbegrenztHLARGE huge far ja unbegrenzt
2592009Embedded Systems Seite 14
04EI
Datentypen Speicherumfang und Wertebereich
Datentyp Speicherumfang Wertebereich
bit 1 Bit 0 oder 1
signed char 1 Byte -128 bis +127
unsigned char 1 Byte 0 bis 255
signed int 2 Bytes -32768 to + 32767
unsigned int 2 Bytes 0 bis 65535
signed long 4 Bytes -2147483648 bis +2147483642
unsigned long 4 Bytes 0 bis 4294967295
float 4 Bytes 1176E-38 bis 340E+38
double 8 Bytes 17E-308 bis 17E+308
pointer 24 Bytes Adresse des Objects
Die Programmiersprache C fuumlr den Mikrocontroller C164
Datentypen fuumlr den Zugriff auf Special Function Registers (SFR)
sbit 1 Bit 0 or 1
sfr 2 Bytes 0 to 65535
spezielle Datentypen in C166 die in ANSI-C nicht definiert sind
Der Instruction Pointer (IP) wird nach jeder Befehlsholphase inkrementiert
Der Code Segment Pointer (CSP) wird nur durch absolute Spruumlnge bzw indirekt beim Ruumlcksprung aus Unterprogrammen vom Stack veraumlndert
2592009Embedded Systems Seite 17
04EI
Adressierung von Daten mittels Seitenauswahl (Paging) innerhalb des 4 MByte Adressraumes
Daten-Adressierung uumlber Data Page Pointer (DPP)
14-bit
013 16-bit Adresse1415
Auswahl einesData Page Pointer
10-bitSeiten-nummer
DPP3DPP2DPP1
DPP0
Physikalische 24-Bit Daten-Adresse
(bis zu 22 aussen verfuumlgbar beim C164)
SFR
2592009Embedded Systems Seite 18
04EI
External Bus Controller
Ermoumlglicht variables Timing von CPU-Steuersignalen mittels Software Realisiert bis zu 4 Chip-Select-Signale Auswahl von 4 Adressbereichen moumlglich
Special Function Register BUSCON04Programmierbare ZeitenFestlegung von CS - SignalenAuswahl der Breite des Daten-BUS 8 16 Bit
Special Function Register ADDRSEL14Programmierbare Ausschnitte aus dem Adressraum fuumlr den Zugriff auf externe Komponenten mit den Eigenschaften der zugeordneten BUSCONx- Register
2592009Embedded Systems Seite 19
04EI
Gemultiplexter Adress- und Daten-BUS
Address
Address
Address
Data
Data
A16A21
ALE
CS
A0A15D0D15 (7)
RD
A015D015 (7)
WR
Verlaumlngern des Adress-Setups
Speicher-zugriffszeit
Tri-State - Zeit
WR-Delay
RD-Delay
SFR
2592009Embedded Systems Seite 20
04EI
Integrierte Chip Select - Signale
Die Basisadresse ist stets ein Vielfaches des Adressbereiches(dh der Chip Select mit einem Adressbereich von 128kByte beginnt an einer 128kByte Grenze)
Interrupt hat den Prioritaumls- und Gruppen-Check erfuumlllt
Interrupt Prioritaumlt lt 14 Interrupt Prioritaumlt 14 oder 15und Data Counter gt 0Interrupt Prioritaumlt 14 oder 15und Data Counter gt 0
Interrupt Service PEC Service
8 PECKanaumlle
Data Counter
SRC Pointer
DEST Pointer
Contr Reg
Memory Segment 0
0xFFFF
0x0000
Byte bzwWordTransfer
INTR Service
RettenPSW CSP IP
Neue CPU-Prio im PSW
CSP und IP ausPeripherie-Vector oder Trap-Nummer
Interrupt falls Data Counter = 0
Prioritaumlts- amp Gruppen-
Check
Peripheral Events Controller (PEC)
Peripheral Events Contoller
SFR
Kein Folientitel
CPU - Blockschaltbild
Vierstufige Befehls-Pipeline
Arithmetic Logic Unit
Barrel Shifter
General Purpose Register (GPR)
2 kByte internes RAM - Plazierung der Registerbaumlnke und des Stack
Adressraum
Interner und externer Adressplan des C164CI
Die Programmiersprache C fuumlr den Mikrocontroller C164
Slide 11
Slide 12
Slide 13
Slide 14
Slide 15
Code-Adressierung mittels Segmentierung im 4 MByte Adressraum
Adressierung von Daten mittels Seitenauswahl (Paging) innerhalb des 4 MByte Adressraumes
External Bus Controller
Gemultiplexter Adress- und Daten-BUS
Integrierte Chip Select - Signale
Anschluszlig von externen Speicherbausteinen mit 8 Bit- Organisation
Anschluszlig von externen Speicherbausteinen mit 16 Bit- Organisation
Sich uumlberdeckende Adressbereiche
Interrupt System
Interrupts und PEC - Priorisierung
Interrupt Processing
Peripheral Events Controller (PEC)
2592009Embedded Systems Seite 2
04EI
On-Chip(EP)ROM
SP
STK OV
STK UV
CPU - Blockschaltbild
CPUCPU
MDL
MDH
Barrel-Shifter
ALU
16-bit
MulDiv-HW
Bit-Mask Gen
Code SegPtr
On-ChipStaticRAM
R15
R0
STK OV
STK UV
4-StagePipeline
32
16
16
Exec Unit
Instr Ptr
Instr Reg
SYSCON
BUSCON 0
BUSCON 1
BUSCON 2
BUSCON 3
BUSCON 4
ADDRSEL 1
ADDRSEL 2
ADDRSEL 3
ADDRSEL 4
Context PtrData Page Pointer
SFR
PSW
General
R15
R0
Purpose
Registers
2592009Embedded Systems Seite 3
04EI
Fetch
Decode
Execute
Write Back
1 Instr 2 Instr 3 Instr 4 Instr
Time
1 Machine Cycle = 100 ns at 20 MHz CPU clock
Vierstufige Befehls-Pipeline
100ns effektive Befehlsausfuumlhrungszeit (20 MHz fCPU) Drei Pre-Fetch-Schritte in Wortbreite (Bus Controller) zur Unterstuumltzung
der Pipeline Optimierte Sprungausfuumlhrung
ndashFuumlr Sprungbefehle (Jump Cond Jump Call Return) wird normaler Weise nur ein zusaumltzlicher Maschinenzyklus benoumltigt um den Befehl an der Zieladresse zu holen
Jump Cache
ndashFuumlr die Ausfuumlhrung von Schleifen ist kein zusaumltzlicher Maschinenzyklus erforderlich
ndash 4 programmierbare ldquoChip Selectsrdquo und programierbare BUS-Kontrollsignale helfen externe Logik zu vermeiden
Adressraum
2592009Embedded Systems Seite 9
04EI
Interner und externer Adressplan des C164CI
Bit-adressierbarer Bereich
X-Bus Peripheral
Segment 0 beinhaltet den internen Speicher
Internes RAM
512 BytesSFRrsquos
2kInternes
RAM
ExternerSpeicher
InternesROM
Flash Esup2PROM(kann auf Segm 1 liegen)
512 BytesESFRrsquos
0x000000
0x008000
0x00FE00
0x00FA00
0x00F600
0x00F200
0x0100007 0
32k
05k
Reserviert
Bis zu 4 MBytes
Code Segmente Daten Pages
0
1
2
3
3
2
1
0
7
6
5
4
11
10
9
8
15
14
13
12
InternalROMFLAS
H232k0x010000
0x020000
0x030000
0x040000
Full -CANFull -CAN0x00F000
0x00E800Reserviert
05k
0x000000
2592009Embedded Systems Seite 10
04EI
Die Programmiersprache C fuumlr den Mikrocontroller C164
C166 ist die Realisierung von ANSI-C fuumlr die Mikrocontroller-Familie C166
Der C166-Compiler sieht eine Reihe von Erweiterungen des ANSI-C Standards vor Speziell solche die direkt der Unterstuumltzung der 166-Architektur dienen
C166-Bezeichnung Erlaumluterung
memory types Als Ergaumlnzung zur Speicherklasse kann zu jeder Variablenvereinbarung ein Speichertyp mit angegeben werden Dies erlaubt eine vom aktuellen Speichermodell unabhaumlngige Adressierung von Variablen in verschiedenen Adressraumlumen des 166-Systems Folgende Typen sind definiertnear idata bdata sdata far huge xhuge
sfr Dient der Deklaration von Special-Function-Register (SFR) der 166-Familie
sbit Deklaration von Bits innerhalb von SFRs
bit Datentyp bit Ruumlckgabewert Uumlbergabeparameter von Funktionen koumlnnen vom Typ bit sein
bit-addressable Variable im bitadressierbaren Bereich koumlnnen mittels bdata als Speichertyp vereinbart werden
2592009Embedded Systems Seite 11
04EI
Die Programmiersprache C fuumlr den Mikrocontroller C164
C166-Bezeichnung Erlaumluterung
registerbank (using) Jede Funktion kann eine Vereinbarung enthalten in der die zu benutzende Registerbank angegeben wird
interrupt Funktionen koumlnnen als Interrupt-Service-Routinen vereinbart werden durch Angabe des Interruptnamens bzw ndashvektors
register mask Der C166-Compiler erzeugt fuumlr jede C-Funktion eine Register-maske in der die durch die Funktion verwendeten Register aufgefuumlhrt werden Diese koumlnnen fuumlr Funktionsprototypen verwendet werden um die Registerausnutzung zu optimieren
RTX166 tasks Durch das Schluumlsselwort _task_ werden Funktionen als Tasks des Betriebssystems RTX166 spezifiziert
Neue Schluumlsselwoumlrter (Keywords)Speicherarten near idata bdata sdata far huge xhugeDatentypen bit sfr sbitFunktionen interrupt _task_ using
2592009Embedded Systems Seite 12
04EI
Speicherarten (Memory Types)
Auswahl Adressraum
near 16-Bit Adressen bis zu 64 kBytes
idata On-chip RAM (schnellster Zugriff)
bdata Bit-adressierbares On-chip-RAM
sdata System Page (0xC000-0xFFFF) inklusive SFRlsquos
far 32-Bit Pointer mit 16-Bit Adressberechnung die Objektgroumlszlige betraumlgt 16 kByte
huge 32-Bit Pointer mit 16-Bit Adressberechnung die Objektgroumlszlige betraumlgt 64 kByte
xhuge 32-Bit Pointer mit 32-Bit Adressberechnung die Objektgroumlszlige betraumlgt 16 MByte
Die Programmiersprache C fuumlr den Mikrocontroller C164
2592009Embedded Systems Seite 13
04EI
Entsprechend den Speicherarten koumlnnen Speichermodelle als Voreinstellungen vorgegeben werden die immer dann Anwendung finden wenn bei der Variablen- oder Funktionsdefinition keine Speicherart explizit angegeben wird
Dies erfolgt mittels der Preprozessordirektive pragma speichermodell
Die Programmiersprache C fuumlr den Mikrocontroller C164
TINY near near nein 64kSMALL near near ja 64kCOMPACT far near ja 64kHCOMPACT huge near ja 64kMEDIUM near far ja unbegrenztLARGE far far ja unbegrenztHLARGE huge far ja unbegrenzt
2592009Embedded Systems Seite 14
04EI
Datentypen Speicherumfang und Wertebereich
Datentyp Speicherumfang Wertebereich
bit 1 Bit 0 oder 1
signed char 1 Byte -128 bis +127
unsigned char 1 Byte 0 bis 255
signed int 2 Bytes -32768 to + 32767
unsigned int 2 Bytes 0 bis 65535
signed long 4 Bytes -2147483648 bis +2147483642
unsigned long 4 Bytes 0 bis 4294967295
float 4 Bytes 1176E-38 bis 340E+38
double 8 Bytes 17E-308 bis 17E+308
pointer 24 Bytes Adresse des Objects
Die Programmiersprache C fuumlr den Mikrocontroller C164
Datentypen fuumlr den Zugriff auf Special Function Registers (SFR)
sbit 1 Bit 0 or 1
sfr 2 Bytes 0 to 65535
spezielle Datentypen in C166 die in ANSI-C nicht definiert sind
Der Instruction Pointer (IP) wird nach jeder Befehlsholphase inkrementiert
Der Code Segment Pointer (CSP) wird nur durch absolute Spruumlnge bzw indirekt beim Ruumlcksprung aus Unterprogrammen vom Stack veraumlndert
2592009Embedded Systems Seite 17
04EI
Adressierung von Daten mittels Seitenauswahl (Paging) innerhalb des 4 MByte Adressraumes
Daten-Adressierung uumlber Data Page Pointer (DPP)
14-bit
013 16-bit Adresse1415
Auswahl einesData Page Pointer
10-bitSeiten-nummer
DPP3DPP2DPP1
DPP0
Physikalische 24-Bit Daten-Adresse
(bis zu 22 aussen verfuumlgbar beim C164)
SFR
2592009Embedded Systems Seite 18
04EI
External Bus Controller
Ermoumlglicht variables Timing von CPU-Steuersignalen mittels Software Realisiert bis zu 4 Chip-Select-Signale Auswahl von 4 Adressbereichen moumlglich
Special Function Register BUSCON04Programmierbare ZeitenFestlegung von CS - SignalenAuswahl der Breite des Daten-BUS 8 16 Bit
Special Function Register ADDRSEL14Programmierbare Ausschnitte aus dem Adressraum fuumlr den Zugriff auf externe Komponenten mit den Eigenschaften der zugeordneten BUSCONx- Register
2592009Embedded Systems Seite 19
04EI
Gemultiplexter Adress- und Daten-BUS
Address
Address
Address
Data
Data
A16A21
ALE
CS
A0A15D0D15 (7)
RD
A015D015 (7)
WR
Verlaumlngern des Adress-Setups
Speicher-zugriffszeit
Tri-State - Zeit
WR-Delay
RD-Delay
SFR
2592009Embedded Systems Seite 20
04EI
Integrierte Chip Select - Signale
Die Basisadresse ist stets ein Vielfaches des Adressbereiches(dh der Chip Select mit einem Adressbereich von 128kByte beginnt an einer 128kByte Grenze)
Interrupt hat den Prioritaumls- und Gruppen-Check erfuumlllt
Interrupt Prioritaumlt lt 14 Interrupt Prioritaumlt 14 oder 15und Data Counter gt 0Interrupt Prioritaumlt 14 oder 15und Data Counter gt 0
Interrupt Service PEC Service
8 PECKanaumlle
Data Counter
SRC Pointer
DEST Pointer
Contr Reg
Memory Segment 0
0xFFFF
0x0000
Byte bzwWordTransfer
INTR Service
RettenPSW CSP IP
Neue CPU-Prio im PSW
CSP und IP ausPeripherie-Vector oder Trap-Nummer
Interrupt falls Data Counter = 0
Prioritaumlts- amp Gruppen-
Check
Peripheral Events Controller (PEC)
Peripheral Events Contoller
SFR
Kein Folientitel
CPU - Blockschaltbild
Vierstufige Befehls-Pipeline
Arithmetic Logic Unit
Barrel Shifter
General Purpose Register (GPR)
2 kByte internes RAM - Plazierung der Registerbaumlnke und des Stack
Adressraum
Interner und externer Adressplan des C164CI
Die Programmiersprache C fuumlr den Mikrocontroller C164
Slide 11
Slide 12
Slide 13
Slide 14
Slide 15
Code-Adressierung mittels Segmentierung im 4 MByte Adressraum
Adressierung von Daten mittels Seitenauswahl (Paging) innerhalb des 4 MByte Adressraumes
External Bus Controller
Gemultiplexter Adress- und Daten-BUS
Integrierte Chip Select - Signale
Anschluszlig von externen Speicherbausteinen mit 8 Bit- Organisation
Anschluszlig von externen Speicherbausteinen mit 16 Bit- Organisation
Sich uumlberdeckende Adressbereiche
Interrupt System
Interrupts und PEC - Priorisierung
Interrupt Processing
Peripheral Events Controller (PEC)
2592009Embedded Systems Seite 3
04EI
Fetch
Decode
Execute
Write Back
1 Instr 2 Instr 3 Instr 4 Instr
Time
1 Machine Cycle = 100 ns at 20 MHz CPU clock
Vierstufige Befehls-Pipeline
100ns effektive Befehlsausfuumlhrungszeit (20 MHz fCPU) Drei Pre-Fetch-Schritte in Wortbreite (Bus Controller) zur Unterstuumltzung
der Pipeline Optimierte Sprungausfuumlhrung
ndashFuumlr Sprungbefehle (Jump Cond Jump Call Return) wird normaler Weise nur ein zusaumltzlicher Maschinenzyklus benoumltigt um den Befehl an der Zieladresse zu holen
Jump Cache
ndashFuumlr die Ausfuumlhrung von Schleifen ist kein zusaumltzlicher Maschinenzyklus erforderlich
ndash 4 programmierbare ldquoChip Selectsrdquo und programierbare BUS-Kontrollsignale helfen externe Logik zu vermeiden
Adressraum
2592009Embedded Systems Seite 9
04EI
Interner und externer Adressplan des C164CI
Bit-adressierbarer Bereich
X-Bus Peripheral
Segment 0 beinhaltet den internen Speicher
Internes RAM
512 BytesSFRrsquos
2kInternes
RAM
ExternerSpeicher
InternesROM
Flash Esup2PROM(kann auf Segm 1 liegen)
512 BytesESFRrsquos
0x000000
0x008000
0x00FE00
0x00FA00
0x00F600
0x00F200
0x0100007 0
32k
05k
Reserviert
Bis zu 4 MBytes
Code Segmente Daten Pages
0
1
2
3
3
2
1
0
7
6
5
4
11
10
9
8
15
14
13
12
InternalROMFLAS
H232k0x010000
0x020000
0x030000
0x040000
Full -CANFull -CAN0x00F000
0x00E800Reserviert
05k
0x000000
2592009Embedded Systems Seite 10
04EI
Die Programmiersprache C fuumlr den Mikrocontroller C164
C166 ist die Realisierung von ANSI-C fuumlr die Mikrocontroller-Familie C166
Der C166-Compiler sieht eine Reihe von Erweiterungen des ANSI-C Standards vor Speziell solche die direkt der Unterstuumltzung der 166-Architektur dienen
C166-Bezeichnung Erlaumluterung
memory types Als Ergaumlnzung zur Speicherklasse kann zu jeder Variablenvereinbarung ein Speichertyp mit angegeben werden Dies erlaubt eine vom aktuellen Speichermodell unabhaumlngige Adressierung von Variablen in verschiedenen Adressraumlumen des 166-Systems Folgende Typen sind definiertnear idata bdata sdata far huge xhuge
sfr Dient der Deklaration von Special-Function-Register (SFR) der 166-Familie
sbit Deklaration von Bits innerhalb von SFRs
bit Datentyp bit Ruumlckgabewert Uumlbergabeparameter von Funktionen koumlnnen vom Typ bit sein
bit-addressable Variable im bitadressierbaren Bereich koumlnnen mittels bdata als Speichertyp vereinbart werden
2592009Embedded Systems Seite 11
04EI
Die Programmiersprache C fuumlr den Mikrocontroller C164
C166-Bezeichnung Erlaumluterung
registerbank (using) Jede Funktion kann eine Vereinbarung enthalten in der die zu benutzende Registerbank angegeben wird
interrupt Funktionen koumlnnen als Interrupt-Service-Routinen vereinbart werden durch Angabe des Interruptnamens bzw ndashvektors
register mask Der C166-Compiler erzeugt fuumlr jede C-Funktion eine Register-maske in der die durch die Funktion verwendeten Register aufgefuumlhrt werden Diese koumlnnen fuumlr Funktionsprototypen verwendet werden um die Registerausnutzung zu optimieren
RTX166 tasks Durch das Schluumlsselwort _task_ werden Funktionen als Tasks des Betriebssystems RTX166 spezifiziert
Neue Schluumlsselwoumlrter (Keywords)Speicherarten near idata bdata sdata far huge xhugeDatentypen bit sfr sbitFunktionen interrupt _task_ using
2592009Embedded Systems Seite 12
04EI
Speicherarten (Memory Types)
Auswahl Adressraum
near 16-Bit Adressen bis zu 64 kBytes
idata On-chip RAM (schnellster Zugriff)
bdata Bit-adressierbares On-chip-RAM
sdata System Page (0xC000-0xFFFF) inklusive SFRlsquos
far 32-Bit Pointer mit 16-Bit Adressberechnung die Objektgroumlszlige betraumlgt 16 kByte
huge 32-Bit Pointer mit 16-Bit Adressberechnung die Objektgroumlszlige betraumlgt 64 kByte
xhuge 32-Bit Pointer mit 32-Bit Adressberechnung die Objektgroumlszlige betraumlgt 16 MByte
Die Programmiersprache C fuumlr den Mikrocontroller C164
2592009Embedded Systems Seite 13
04EI
Entsprechend den Speicherarten koumlnnen Speichermodelle als Voreinstellungen vorgegeben werden die immer dann Anwendung finden wenn bei der Variablen- oder Funktionsdefinition keine Speicherart explizit angegeben wird
Dies erfolgt mittels der Preprozessordirektive pragma speichermodell
Die Programmiersprache C fuumlr den Mikrocontroller C164
TINY near near nein 64kSMALL near near ja 64kCOMPACT far near ja 64kHCOMPACT huge near ja 64kMEDIUM near far ja unbegrenztLARGE far far ja unbegrenztHLARGE huge far ja unbegrenzt
2592009Embedded Systems Seite 14
04EI
Datentypen Speicherumfang und Wertebereich
Datentyp Speicherumfang Wertebereich
bit 1 Bit 0 oder 1
signed char 1 Byte -128 bis +127
unsigned char 1 Byte 0 bis 255
signed int 2 Bytes -32768 to + 32767
unsigned int 2 Bytes 0 bis 65535
signed long 4 Bytes -2147483648 bis +2147483642
unsigned long 4 Bytes 0 bis 4294967295
float 4 Bytes 1176E-38 bis 340E+38
double 8 Bytes 17E-308 bis 17E+308
pointer 24 Bytes Adresse des Objects
Die Programmiersprache C fuumlr den Mikrocontroller C164
Datentypen fuumlr den Zugriff auf Special Function Registers (SFR)
sbit 1 Bit 0 or 1
sfr 2 Bytes 0 to 65535
spezielle Datentypen in C166 die in ANSI-C nicht definiert sind
Der Instruction Pointer (IP) wird nach jeder Befehlsholphase inkrementiert
Der Code Segment Pointer (CSP) wird nur durch absolute Spruumlnge bzw indirekt beim Ruumlcksprung aus Unterprogrammen vom Stack veraumlndert
2592009Embedded Systems Seite 17
04EI
Adressierung von Daten mittels Seitenauswahl (Paging) innerhalb des 4 MByte Adressraumes
Daten-Adressierung uumlber Data Page Pointer (DPP)
14-bit
013 16-bit Adresse1415
Auswahl einesData Page Pointer
10-bitSeiten-nummer
DPP3DPP2DPP1
DPP0
Physikalische 24-Bit Daten-Adresse
(bis zu 22 aussen verfuumlgbar beim C164)
SFR
2592009Embedded Systems Seite 18
04EI
External Bus Controller
Ermoumlglicht variables Timing von CPU-Steuersignalen mittels Software Realisiert bis zu 4 Chip-Select-Signale Auswahl von 4 Adressbereichen moumlglich
Special Function Register BUSCON04Programmierbare ZeitenFestlegung von CS - SignalenAuswahl der Breite des Daten-BUS 8 16 Bit
Special Function Register ADDRSEL14Programmierbare Ausschnitte aus dem Adressraum fuumlr den Zugriff auf externe Komponenten mit den Eigenschaften der zugeordneten BUSCONx- Register
2592009Embedded Systems Seite 19
04EI
Gemultiplexter Adress- und Daten-BUS
Address
Address
Address
Data
Data
A16A21
ALE
CS
A0A15D0D15 (7)
RD
A015D015 (7)
WR
Verlaumlngern des Adress-Setups
Speicher-zugriffszeit
Tri-State - Zeit
WR-Delay
RD-Delay
SFR
2592009Embedded Systems Seite 20
04EI
Integrierte Chip Select - Signale
Die Basisadresse ist stets ein Vielfaches des Adressbereiches(dh der Chip Select mit einem Adressbereich von 128kByte beginnt an einer 128kByte Grenze)
ndash 4 programmierbare ldquoChip Selectsrdquo und programierbare BUS-Kontrollsignale helfen externe Logik zu vermeiden
Adressraum
2592009Embedded Systems Seite 9
04EI
Interner und externer Adressplan des C164CI
Bit-adressierbarer Bereich
X-Bus Peripheral
Segment 0 beinhaltet den internen Speicher
Internes RAM
512 BytesSFRrsquos
2kInternes
RAM
ExternerSpeicher
InternesROM
Flash Esup2PROM(kann auf Segm 1 liegen)
512 BytesESFRrsquos
0x000000
0x008000
0x00FE00
0x00FA00
0x00F600
0x00F200
0x0100007 0
32k
05k
Reserviert
Bis zu 4 MBytes
Code Segmente Daten Pages
0
1
2
3
3
2
1
0
7
6
5
4
11
10
9
8
15
14
13
12
InternalROMFLAS
H232k0x010000
0x020000
0x030000
0x040000
Full -CANFull -CAN0x00F000
0x00E800Reserviert
05k
0x000000
2592009Embedded Systems Seite 10
04EI
Die Programmiersprache C fuumlr den Mikrocontroller C164
C166 ist die Realisierung von ANSI-C fuumlr die Mikrocontroller-Familie C166
Der C166-Compiler sieht eine Reihe von Erweiterungen des ANSI-C Standards vor Speziell solche die direkt der Unterstuumltzung der 166-Architektur dienen
C166-Bezeichnung Erlaumluterung
memory types Als Ergaumlnzung zur Speicherklasse kann zu jeder Variablenvereinbarung ein Speichertyp mit angegeben werden Dies erlaubt eine vom aktuellen Speichermodell unabhaumlngige Adressierung von Variablen in verschiedenen Adressraumlumen des 166-Systems Folgende Typen sind definiertnear idata bdata sdata far huge xhuge
sfr Dient der Deklaration von Special-Function-Register (SFR) der 166-Familie
sbit Deklaration von Bits innerhalb von SFRs
bit Datentyp bit Ruumlckgabewert Uumlbergabeparameter von Funktionen koumlnnen vom Typ bit sein
bit-addressable Variable im bitadressierbaren Bereich koumlnnen mittels bdata als Speichertyp vereinbart werden
2592009Embedded Systems Seite 11
04EI
Die Programmiersprache C fuumlr den Mikrocontroller C164
C166-Bezeichnung Erlaumluterung
registerbank (using) Jede Funktion kann eine Vereinbarung enthalten in der die zu benutzende Registerbank angegeben wird
interrupt Funktionen koumlnnen als Interrupt-Service-Routinen vereinbart werden durch Angabe des Interruptnamens bzw ndashvektors
register mask Der C166-Compiler erzeugt fuumlr jede C-Funktion eine Register-maske in der die durch die Funktion verwendeten Register aufgefuumlhrt werden Diese koumlnnen fuumlr Funktionsprototypen verwendet werden um die Registerausnutzung zu optimieren
RTX166 tasks Durch das Schluumlsselwort _task_ werden Funktionen als Tasks des Betriebssystems RTX166 spezifiziert
Neue Schluumlsselwoumlrter (Keywords)Speicherarten near idata bdata sdata far huge xhugeDatentypen bit sfr sbitFunktionen interrupt _task_ using
2592009Embedded Systems Seite 12
04EI
Speicherarten (Memory Types)
Auswahl Adressraum
near 16-Bit Adressen bis zu 64 kBytes
idata On-chip RAM (schnellster Zugriff)
bdata Bit-adressierbares On-chip-RAM
sdata System Page (0xC000-0xFFFF) inklusive SFRlsquos
far 32-Bit Pointer mit 16-Bit Adressberechnung die Objektgroumlszlige betraumlgt 16 kByte
huge 32-Bit Pointer mit 16-Bit Adressberechnung die Objektgroumlszlige betraumlgt 64 kByte
xhuge 32-Bit Pointer mit 32-Bit Adressberechnung die Objektgroumlszlige betraumlgt 16 MByte
Die Programmiersprache C fuumlr den Mikrocontroller C164
2592009Embedded Systems Seite 13
04EI
Entsprechend den Speicherarten koumlnnen Speichermodelle als Voreinstellungen vorgegeben werden die immer dann Anwendung finden wenn bei der Variablen- oder Funktionsdefinition keine Speicherart explizit angegeben wird
Dies erfolgt mittels der Preprozessordirektive pragma speichermodell
Die Programmiersprache C fuumlr den Mikrocontroller C164
TINY near near nein 64kSMALL near near ja 64kCOMPACT far near ja 64kHCOMPACT huge near ja 64kMEDIUM near far ja unbegrenztLARGE far far ja unbegrenztHLARGE huge far ja unbegrenzt
2592009Embedded Systems Seite 14
04EI
Datentypen Speicherumfang und Wertebereich
Datentyp Speicherumfang Wertebereich
bit 1 Bit 0 oder 1
signed char 1 Byte -128 bis +127
unsigned char 1 Byte 0 bis 255
signed int 2 Bytes -32768 to + 32767
unsigned int 2 Bytes 0 bis 65535
signed long 4 Bytes -2147483648 bis +2147483642
unsigned long 4 Bytes 0 bis 4294967295
float 4 Bytes 1176E-38 bis 340E+38
double 8 Bytes 17E-308 bis 17E+308
pointer 24 Bytes Adresse des Objects
Die Programmiersprache C fuumlr den Mikrocontroller C164
Datentypen fuumlr den Zugriff auf Special Function Registers (SFR)
sbit 1 Bit 0 or 1
sfr 2 Bytes 0 to 65535
spezielle Datentypen in C166 die in ANSI-C nicht definiert sind
Der Instruction Pointer (IP) wird nach jeder Befehlsholphase inkrementiert
Der Code Segment Pointer (CSP) wird nur durch absolute Spruumlnge bzw indirekt beim Ruumlcksprung aus Unterprogrammen vom Stack veraumlndert
2592009Embedded Systems Seite 17
04EI
Adressierung von Daten mittels Seitenauswahl (Paging) innerhalb des 4 MByte Adressraumes
Daten-Adressierung uumlber Data Page Pointer (DPP)
14-bit
013 16-bit Adresse1415
Auswahl einesData Page Pointer
10-bitSeiten-nummer
DPP3DPP2DPP1
DPP0
Physikalische 24-Bit Daten-Adresse
(bis zu 22 aussen verfuumlgbar beim C164)
SFR
2592009Embedded Systems Seite 18
04EI
External Bus Controller
Ermoumlglicht variables Timing von CPU-Steuersignalen mittels Software Realisiert bis zu 4 Chip-Select-Signale Auswahl von 4 Adressbereichen moumlglich
Special Function Register BUSCON04Programmierbare ZeitenFestlegung von CS - SignalenAuswahl der Breite des Daten-BUS 8 16 Bit
Special Function Register ADDRSEL14Programmierbare Ausschnitte aus dem Adressraum fuumlr den Zugriff auf externe Komponenten mit den Eigenschaften der zugeordneten BUSCONx- Register
2592009Embedded Systems Seite 19
04EI
Gemultiplexter Adress- und Daten-BUS
Address
Address
Address
Data
Data
A16A21
ALE
CS
A0A15D0D15 (7)
RD
A015D015 (7)
WR
Verlaumlngern des Adress-Setups
Speicher-zugriffszeit
Tri-State - Zeit
WR-Delay
RD-Delay
SFR
2592009Embedded Systems Seite 20
04EI
Integrierte Chip Select - Signale
Die Basisadresse ist stets ein Vielfaches des Adressbereiches(dh der Chip Select mit einem Adressbereich von 128kByte beginnt an einer 128kByte Grenze)
ndash 4 programmierbare ldquoChip Selectsrdquo und programierbare BUS-Kontrollsignale helfen externe Logik zu vermeiden
Adressraum
2592009Embedded Systems Seite 9
04EI
Interner und externer Adressplan des C164CI
Bit-adressierbarer Bereich
X-Bus Peripheral
Segment 0 beinhaltet den internen Speicher
Internes RAM
512 BytesSFRrsquos
2kInternes
RAM
ExternerSpeicher
InternesROM
Flash Esup2PROM(kann auf Segm 1 liegen)
512 BytesESFRrsquos
0x000000
0x008000
0x00FE00
0x00FA00
0x00F600
0x00F200
0x0100007 0
32k
05k
Reserviert
Bis zu 4 MBytes
Code Segmente Daten Pages
0
1
2
3
3
2
1
0
7
6
5
4
11
10
9
8
15
14
13
12
InternalROMFLAS
H232k0x010000
0x020000
0x030000
0x040000
Full -CANFull -CAN0x00F000
0x00E800Reserviert
05k
0x000000
2592009Embedded Systems Seite 10
04EI
Die Programmiersprache C fuumlr den Mikrocontroller C164
C166 ist die Realisierung von ANSI-C fuumlr die Mikrocontroller-Familie C166
Der C166-Compiler sieht eine Reihe von Erweiterungen des ANSI-C Standards vor Speziell solche die direkt der Unterstuumltzung der 166-Architektur dienen
C166-Bezeichnung Erlaumluterung
memory types Als Ergaumlnzung zur Speicherklasse kann zu jeder Variablenvereinbarung ein Speichertyp mit angegeben werden Dies erlaubt eine vom aktuellen Speichermodell unabhaumlngige Adressierung von Variablen in verschiedenen Adressraumlumen des 166-Systems Folgende Typen sind definiertnear idata bdata sdata far huge xhuge
sfr Dient der Deklaration von Special-Function-Register (SFR) der 166-Familie
sbit Deklaration von Bits innerhalb von SFRs
bit Datentyp bit Ruumlckgabewert Uumlbergabeparameter von Funktionen koumlnnen vom Typ bit sein
bit-addressable Variable im bitadressierbaren Bereich koumlnnen mittels bdata als Speichertyp vereinbart werden
2592009Embedded Systems Seite 11
04EI
Die Programmiersprache C fuumlr den Mikrocontroller C164
C166-Bezeichnung Erlaumluterung
registerbank (using) Jede Funktion kann eine Vereinbarung enthalten in der die zu benutzende Registerbank angegeben wird
interrupt Funktionen koumlnnen als Interrupt-Service-Routinen vereinbart werden durch Angabe des Interruptnamens bzw ndashvektors
register mask Der C166-Compiler erzeugt fuumlr jede C-Funktion eine Register-maske in der die durch die Funktion verwendeten Register aufgefuumlhrt werden Diese koumlnnen fuumlr Funktionsprototypen verwendet werden um die Registerausnutzung zu optimieren
RTX166 tasks Durch das Schluumlsselwort _task_ werden Funktionen als Tasks des Betriebssystems RTX166 spezifiziert
Neue Schluumlsselwoumlrter (Keywords)Speicherarten near idata bdata sdata far huge xhugeDatentypen bit sfr sbitFunktionen interrupt _task_ using
2592009Embedded Systems Seite 12
04EI
Speicherarten (Memory Types)
Auswahl Adressraum
near 16-Bit Adressen bis zu 64 kBytes
idata On-chip RAM (schnellster Zugriff)
bdata Bit-adressierbares On-chip-RAM
sdata System Page (0xC000-0xFFFF) inklusive SFRlsquos
far 32-Bit Pointer mit 16-Bit Adressberechnung die Objektgroumlszlige betraumlgt 16 kByte
huge 32-Bit Pointer mit 16-Bit Adressberechnung die Objektgroumlszlige betraumlgt 64 kByte
xhuge 32-Bit Pointer mit 32-Bit Adressberechnung die Objektgroumlszlige betraumlgt 16 MByte
Die Programmiersprache C fuumlr den Mikrocontroller C164
2592009Embedded Systems Seite 13
04EI
Entsprechend den Speicherarten koumlnnen Speichermodelle als Voreinstellungen vorgegeben werden die immer dann Anwendung finden wenn bei der Variablen- oder Funktionsdefinition keine Speicherart explizit angegeben wird
Dies erfolgt mittels der Preprozessordirektive pragma speichermodell
Die Programmiersprache C fuumlr den Mikrocontroller C164
TINY near near nein 64kSMALL near near ja 64kCOMPACT far near ja 64kHCOMPACT huge near ja 64kMEDIUM near far ja unbegrenztLARGE far far ja unbegrenztHLARGE huge far ja unbegrenzt
2592009Embedded Systems Seite 14
04EI
Datentypen Speicherumfang und Wertebereich
Datentyp Speicherumfang Wertebereich
bit 1 Bit 0 oder 1
signed char 1 Byte -128 bis +127
unsigned char 1 Byte 0 bis 255
signed int 2 Bytes -32768 to + 32767
unsigned int 2 Bytes 0 bis 65535
signed long 4 Bytes -2147483648 bis +2147483642
unsigned long 4 Bytes 0 bis 4294967295
float 4 Bytes 1176E-38 bis 340E+38
double 8 Bytes 17E-308 bis 17E+308
pointer 24 Bytes Adresse des Objects
Die Programmiersprache C fuumlr den Mikrocontroller C164
Datentypen fuumlr den Zugriff auf Special Function Registers (SFR)
sbit 1 Bit 0 or 1
sfr 2 Bytes 0 to 65535
spezielle Datentypen in C166 die in ANSI-C nicht definiert sind
Der Instruction Pointer (IP) wird nach jeder Befehlsholphase inkrementiert
Der Code Segment Pointer (CSP) wird nur durch absolute Spruumlnge bzw indirekt beim Ruumlcksprung aus Unterprogrammen vom Stack veraumlndert
2592009Embedded Systems Seite 17
04EI
Adressierung von Daten mittels Seitenauswahl (Paging) innerhalb des 4 MByte Adressraumes
Daten-Adressierung uumlber Data Page Pointer (DPP)
14-bit
013 16-bit Adresse1415
Auswahl einesData Page Pointer
10-bitSeiten-nummer
DPP3DPP2DPP1
DPP0
Physikalische 24-Bit Daten-Adresse
(bis zu 22 aussen verfuumlgbar beim C164)
SFR
2592009Embedded Systems Seite 18
04EI
External Bus Controller
Ermoumlglicht variables Timing von CPU-Steuersignalen mittels Software Realisiert bis zu 4 Chip-Select-Signale Auswahl von 4 Adressbereichen moumlglich
Special Function Register BUSCON04Programmierbare ZeitenFestlegung von CS - SignalenAuswahl der Breite des Daten-BUS 8 16 Bit
Special Function Register ADDRSEL14Programmierbare Ausschnitte aus dem Adressraum fuumlr den Zugriff auf externe Komponenten mit den Eigenschaften der zugeordneten BUSCONx- Register
2592009Embedded Systems Seite 19
04EI
Gemultiplexter Adress- und Daten-BUS
Address
Address
Address
Data
Data
A16A21
ALE
CS
A0A15D0D15 (7)
RD
A015D015 (7)
WR
Verlaumlngern des Adress-Setups
Speicher-zugriffszeit
Tri-State - Zeit
WR-Delay
RD-Delay
SFR
2592009Embedded Systems Seite 20
04EI
Integrierte Chip Select - Signale
Die Basisadresse ist stets ein Vielfaches des Adressbereiches(dh der Chip Select mit einem Adressbereich von 128kByte beginnt an einer 128kByte Grenze)
ndash 4 programmierbare ldquoChip Selectsrdquo und programierbare BUS-Kontrollsignale helfen externe Logik zu vermeiden
Adressraum
2592009Embedded Systems Seite 9
04EI
Interner und externer Adressplan des C164CI
Bit-adressierbarer Bereich
X-Bus Peripheral
Segment 0 beinhaltet den internen Speicher
Internes RAM
512 BytesSFRrsquos
2kInternes
RAM
ExternerSpeicher
InternesROM
Flash Esup2PROM(kann auf Segm 1 liegen)
512 BytesESFRrsquos
0x000000
0x008000
0x00FE00
0x00FA00
0x00F600
0x00F200
0x0100007 0
32k
05k
Reserviert
Bis zu 4 MBytes
Code Segmente Daten Pages
0
1
2
3
3
2
1
0
7
6
5
4
11
10
9
8
15
14
13
12
InternalROMFLAS
H232k0x010000
0x020000
0x030000
0x040000
Full -CANFull -CAN0x00F000
0x00E800Reserviert
05k
0x000000
2592009Embedded Systems Seite 10
04EI
Die Programmiersprache C fuumlr den Mikrocontroller C164
C166 ist die Realisierung von ANSI-C fuumlr die Mikrocontroller-Familie C166
Der C166-Compiler sieht eine Reihe von Erweiterungen des ANSI-C Standards vor Speziell solche die direkt der Unterstuumltzung der 166-Architektur dienen
C166-Bezeichnung Erlaumluterung
memory types Als Ergaumlnzung zur Speicherklasse kann zu jeder Variablenvereinbarung ein Speichertyp mit angegeben werden Dies erlaubt eine vom aktuellen Speichermodell unabhaumlngige Adressierung von Variablen in verschiedenen Adressraumlumen des 166-Systems Folgende Typen sind definiertnear idata bdata sdata far huge xhuge
sfr Dient der Deklaration von Special-Function-Register (SFR) der 166-Familie
sbit Deklaration von Bits innerhalb von SFRs
bit Datentyp bit Ruumlckgabewert Uumlbergabeparameter von Funktionen koumlnnen vom Typ bit sein
bit-addressable Variable im bitadressierbaren Bereich koumlnnen mittels bdata als Speichertyp vereinbart werden
2592009Embedded Systems Seite 11
04EI
Die Programmiersprache C fuumlr den Mikrocontroller C164
C166-Bezeichnung Erlaumluterung
registerbank (using) Jede Funktion kann eine Vereinbarung enthalten in der die zu benutzende Registerbank angegeben wird
interrupt Funktionen koumlnnen als Interrupt-Service-Routinen vereinbart werden durch Angabe des Interruptnamens bzw ndashvektors
register mask Der C166-Compiler erzeugt fuumlr jede C-Funktion eine Register-maske in der die durch die Funktion verwendeten Register aufgefuumlhrt werden Diese koumlnnen fuumlr Funktionsprototypen verwendet werden um die Registerausnutzung zu optimieren
RTX166 tasks Durch das Schluumlsselwort _task_ werden Funktionen als Tasks des Betriebssystems RTX166 spezifiziert
Neue Schluumlsselwoumlrter (Keywords)Speicherarten near idata bdata sdata far huge xhugeDatentypen bit sfr sbitFunktionen interrupt _task_ using
2592009Embedded Systems Seite 12
04EI
Speicherarten (Memory Types)
Auswahl Adressraum
near 16-Bit Adressen bis zu 64 kBytes
idata On-chip RAM (schnellster Zugriff)
bdata Bit-adressierbares On-chip-RAM
sdata System Page (0xC000-0xFFFF) inklusive SFRlsquos
far 32-Bit Pointer mit 16-Bit Adressberechnung die Objektgroumlszlige betraumlgt 16 kByte
huge 32-Bit Pointer mit 16-Bit Adressberechnung die Objektgroumlszlige betraumlgt 64 kByte
xhuge 32-Bit Pointer mit 32-Bit Adressberechnung die Objektgroumlszlige betraumlgt 16 MByte
Die Programmiersprache C fuumlr den Mikrocontroller C164
2592009Embedded Systems Seite 13
04EI
Entsprechend den Speicherarten koumlnnen Speichermodelle als Voreinstellungen vorgegeben werden die immer dann Anwendung finden wenn bei der Variablen- oder Funktionsdefinition keine Speicherart explizit angegeben wird
Dies erfolgt mittels der Preprozessordirektive pragma speichermodell
Die Programmiersprache C fuumlr den Mikrocontroller C164
TINY near near nein 64kSMALL near near ja 64kCOMPACT far near ja 64kHCOMPACT huge near ja 64kMEDIUM near far ja unbegrenztLARGE far far ja unbegrenztHLARGE huge far ja unbegrenzt
2592009Embedded Systems Seite 14
04EI
Datentypen Speicherumfang und Wertebereich
Datentyp Speicherumfang Wertebereich
bit 1 Bit 0 oder 1
signed char 1 Byte -128 bis +127
unsigned char 1 Byte 0 bis 255
signed int 2 Bytes -32768 to + 32767
unsigned int 2 Bytes 0 bis 65535
signed long 4 Bytes -2147483648 bis +2147483642
unsigned long 4 Bytes 0 bis 4294967295
float 4 Bytes 1176E-38 bis 340E+38
double 8 Bytes 17E-308 bis 17E+308
pointer 24 Bytes Adresse des Objects
Die Programmiersprache C fuumlr den Mikrocontroller C164
Datentypen fuumlr den Zugriff auf Special Function Registers (SFR)
sbit 1 Bit 0 or 1
sfr 2 Bytes 0 to 65535
spezielle Datentypen in C166 die in ANSI-C nicht definiert sind
Der Instruction Pointer (IP) wird nach jeder Befehlsholphase inkrementiert
Der Code Segment Pointer (CSP) wird nur durch absolute Spruumlnge bzw indirekt beim Ruumlcksprung aus Unterprogrammen vom Stack veraumlndert
2592009Embedded Systems Seite 17
04EI
Adressierung von Daten mittels Seitenauswahl (Paging) innerhalb des 4 MByte Adressraumes
Daten-Adressierung uumlber Data Page Pointer (DPP)
14-bit
013 16-bit Adresse1415
Auswahl einesData Page Pointer
10-bitSeiten-nummer
DPP3DPP2DPP1
DPP0
Physikalische 24-Bit Daten-Adresse
(bis zu 22 aussen verfuumlgbar beim C164)
SFR
2592009Embedded Systems Seite 18
04EI
External Bus Controller
Ermoumlglicht variables Timing von CPU-Steuersignalen mittels Software Realisiert bis zu 4 Chip-Select-Signale Auswahl von 4 Adressbereichen moumlglich
Special Function Register BUSCON04Programmierbare ZeitenFestlegung von CS - SignalenAuswahl der Breite des Daten-BUS 8 16 Bit
Special Function Register ADDRSEL14Programmierbare Ausschnitte aus dem Adressraum fuumlr den Zugriff auf externe Komponenten mit den Eigenschaften der zugeordneten BUSCONx- Register
2592009Embedded Systems Seite 19
04EI
Gemultiplexter Adress- und Daten-BUS
Address
Address
Address
Data
Data
A16A21
ALE
CS
A0A15D0D15 (7)
RD
A015D015 (7)
WR
Verlaumlngern des Adress-Setups
Speicher-zugriffszeit
Tri-State - Zeit
WR-Delay
RD-Delay
SFR
2592009Embedded Systems Seite 20
04EI
Integrierte Chip Select - Signale
Die Basisadresse ist stets ein Vielfaches des Adressbereiches(dh der Chip Select mit einem Adressbereich von 128kByte beginnt an einer 128kByte Grenze)
ndash 4 programmierbare ldquoChip Selectsrdquo und programierbare BUS-Kontrollsignale helfen externe Logik zu vermeiden
Adressraum
2592009Embedded Systems Seite 9
04EI
Interner und externer Adressplan des C164CI
Bit-adressierbarer Bereich
X-Bus Peripheral
Segment 0 beinhaltet den internen Speicher
Internes RAM
512 BytesSFRrsquos
2kInternes
RAM
ExternerSpeicher
InternesROM
Flash Esup2PROM(kann auf Segm 1 liegen)
512 BytesESFRrsquos
0x000000
0x008000
0x00FE00
0x00FA00
0x00F600
0x00F200
0x0100007 0
32k
05k
Reserviert
Bis zu 4 MBytes
Code Segmente Daten Pages
0
1
2
3
3
2
1
0
7
6
5
4
11
10
9
8
15
14
13
12
InternalROMFLAS
H232k0x010000
0x020000
0x030000
0x040000
Full -CANFull -CAN0x00F000
0x00E800Reserviert
05k
0x000000
2592009Embedded Systems Seite 10
04EI
Die Programmiersprache C fuumlr den Mikrocontroller C164
C166 ist die Realisierung von ANSI-C fuumlr die Mikrocontroller-Familie C166
Der C166-Compiler sieht eine Reihe von Erweiterungen des ANSI-C Standards vor Speziell solche die direkt der Unterstuumltzung der 166-Architektur dienen
C166-Bezeichnung Erlaumluterung
memory types Als Ergaumlnzung zur Speicherklasse kann zu jeder Variablenvereinbarung ein Speichertyp mit angegeben werden Dies erlaubt eine vom aktuellen Speichermodell unabhaumlngige Adressierung von Variablen in verschiedenen Adressraumlumen des 166-Systems Folgende Typen sind definiertnear idata bdata sdata far huge xhuge
sfr Dient der Deklaration von Special-Function-Register (SFR) der 166-Familie
sbit Deklaration von Bits innerhalb von SFRs
bit Datentyp bit Ruumlckgabewert Uumlbergabeparameter von Funktionen koumlnnen vom Typ bit sein
bit-addressable Variable im bitadressierbaren Bereich koumlnnen mittels bdata als Speichertyp vereinbart werden
2592009Embedded Systems Seite 11
04EI
Die Programmiersprache C fuumlr den Mikrocontroller C164
C166-Bezeichnung Erlaumluterung
registerbank (using) Jede Funktion kann eine Vereinbarung enthalten in der die zu benutzende Registerbank angegeben wird
interrupt Funktionen koumlnnen als Interrupt-Service-Routinen vereinbart werden durch Angabe des Interruptnamens bzw ndashvektors
register mask Der C166-Compiler erzeugt fuumlr jede C-Funktion eine Register-maske in der die durch die Funktion verwendeten Register aufgefuumlhrt werden Diese koumlnnen fuumlr Funktionsprototypen verwendet werden um die Registerausnutzung zu optimieren
RTX166 tasks Durch das Schluumlsselwort _task_ werden Funktionen als Tasks des Betriebssystems RTX166 spezifiziert
Neue Schluumlsselwoumlrter (Keywords)Speicherarten near idata bdata sdata far huge xhugeDatentypen bit sfr sbitFunktionen interrupt _task_ using
2592009Embedded Systems Seite 12
04EI
Speicherarten (Memory Types)
Auswahl Adressraum
near 16-Bit Adressen bis zu 64 kBytes
idata On-chip RAM (schnellster Zugriff)
bdata Bit-adressierbares On-chip-RAM
sdata System Page (0xC000-0xFFFF) inklusive SFRlsquos
far 32-Bit Pointer mit 16-Bit Adressberechnung die Objektgroumlszlige betraumlgt 16 kByte
huge 32-Bit Pointer mit 16-Bit Adressberechnung die Objektgroumlszlige betraumlgt 64 kByte
xhuge 32-Bit Pointer mit 32-Bit Adressberechnung die Objektgroumlszlige betraumlgt 16 MByte
Die Programmiersprache C fuumlr den Mikrocontroller C164
2592009Embedded Systems Seite 13
04EI
Entsprechend den Speicherarten koumlnnen Speichermodelle als Voreinstellungen vorgegeben werden die immer dann Anwendung finden wenn bei der Variablen- oder Funktionsdefinition keine Speicherart explizit angegeben wird
Dies erfolgt mittels der Preprozessordirektive pragma speichermodell
Die Programmiersprache C fuumlr den Mikrocontroller C164
TINY near near nein 64kSMALL near near ja 64kCOMPACT far near ja 64kHCOMPACT huge near ja 64kMEDIUM near far ja unbegrenztLARGE far far ja unbegrenztHLARGE huge far ja unbegrenzt
2592009Embedded Systems Seite 14
04EI
Datentypen Speicherumfang und Wertebereich
Datentyp Speicherumfang Wertebereich
bit 1 Bit 0 oder 1
signed char 1 Byte -128 bis +127
unsigned char 1 Byte 0 bis 255
signed int 2 Bytes -32768 to + 32767
unsigned int 2 Bytes 0 bis 65535
signed long 4 Bytes -2147483648 bis +2147483642
unsigned long 4 Bytes 0 bis 4294967295
float 4 Bytes 1176E-38 bis 340E+38
double 8 Bytes 17E-308 bis 17E+308
pointer 24 Bytes Adresse des Objects
Die Programmiersprache C fuumlr den Mikrocontroller C164
Datentypen fuumlr den Zugriff auf Special Function Registers (SFR)
sbit 1 Bit 0 or 1
sfr 2 Bytes 0 to 65535
spezielle Datentypen in C166 die in ANSI-C nicht definiert sind
Der Instruction Pointer (IP) wird nach jeder Befehlsholphase inkrementiert
Der Code Segment Pointer (CSP) wird nur durch absolute Spruumlnge bzw indirekt beim Ruumlcksprung aus Unterprogrammen vom Stack veraumlndert
2592009Embedded Systems Seite 17
04EI
Adressierung von Daten mittels Seitenauswahl (Paging) innerhalb des 4 MByte Adressraumes
Daten-Adressierung uumlber Data Page Pointer (DPP)
14-bit
013 16-bit Adresse1415
Auswahl einesData Page Pointer
10-bitSeiten-nummer
DPP3DPP2DPP1
DPP0
Physikalische 24-Bit Daten-Adresse
(bis zu 22 aussen verfuumlgbar beim C164)
SFR
2592009Embedded Systems Seite 18
04EI
External Bus Controller
Ermoumlglicht variables Timing von CPU-Steuersignalen mittels Software Realisiert bis zu 4 Chip-Select-Signale Auswahl von 4 Adressbereichen moumlglich
Special Function Register BUSCON04Programmierbare ZeitenFestlegung von CS - SignalenAuswahl der Breite des Daten-BUS 8 16 Bit
Special Function Register ADDRSEL14Programmierbare Ausschnitte aus dem Adressraum fuumlr den Zugriff auf externe Komponenten mit den Eigenschaften der zugeordneten BUSCONx- Register
2592009Embedded Systems Seite 19
04EI
Gemultiplexter Adress- und Daten-BUS
Address
Address
Address
Data
Data
A16A21
ALE
CS
A0A15D0D15 (7)
RD
A015D015 (7)
WR
Verlaumlngern des Adress-Setups
Speicher-zugriffszeit
Tri-State - Zeit
WR-Delay
RD-Delay
SFR
2592009Embedded Systems Seite 20
04EI
Integrierte Chip Select - Signale
Die Basisadresse ist stets ein Vielfaches des Adressbereiches(dh der Chip Select mit einem Adressbereich von 128kByte beginnt an einer 128kByte Grenze)
ndash 4 programmierbare ldquoChip Selectsrdquo und programierbare BUS-Kontrollsignale helfen externe Logik zu vermeiden
Adressraum
2592009Embedded Systems Seite 9
04EI
Interner und externer Adressplan des C164CI
Bit-adressierbarer Bereich
X-Bus Peripheral
Segment 0 beinhaltet den internen Speicher
Internes RAM
512 BytesSFRrsquos
2kInternes
RAM
ExternerSpeicher
InternesROM
Flash Esup2PROM(kann auf Segm 1 liegen)
512 BytesESFRrsquos
0x000000
0x008000
0x00FE00
0x00FA00
0x00F600
0x00F200
0x0100007 0
32k
05k
Reserviert
Bis zu 4 MBytes
Code Segmente Daten Pages
0
1
2
3
3
2
1
0
7
6
5
4
11
10
9
8
15
14
13
12
InternalROMFLAS
H232k0x010000
0x020000
0x030000
0x040000
Full -CANFull -CAN0x00F000
0x00E800Reserviert
05k
0x000000
2592009Embedded Systems Seite 10
04EI
Die Programmiersprache C fuumlr den Mikrocontroller C164
C166 ist die Realisierung von ANSI-C fuumlr die Mikrocontroller-Familie C166
Der C166-Compiler sieht eine Reihe von Erweiterungen des ANSI-C Standards vor Speziell solche die direkt der Unterstuumltzung der 166-Architektur dienen
C166-Bezeichnung Erlaumluterung
memory types Als Ergaumlnzung zur Speicherklasse kann zu jeder Variablenvereinbarung ein Speichertyp mit angegeben werden Dies erlaubt eine vom aktuellen Speichermodell unabhaumlngige Adressierung von Variablen in verschiedenen Adressraumlumen des 166-Systems Folgende Typen sind definiertnear idata bdata sdata far huge xhuge
sfr Dient der Deklaration von Special-Function-Register (SFR) der 166-Familie
sbit Deklaration von Bits innerhalb von SFRs
bit Datentyp bit Ruumlckgabewert Uumlbergabeparameter von Funktionen koumlnnen vom Typ bit sein
bit-addressable Variable im bitadressierbaren Bereich koumlnnen mittels bdata als Speichertyp vereinbart werden
2592009Embedded Systems Seite 11
04EI
Die Programmiersprache C fuumlr den Mikrocontroller C164
C166-Bezeichnung Erlaumluterung
registerbank (using) Jede Funktion kann eine Vereinbarung enthalten in der die zu benutzende Registerbank angegeben wird
interrupt Funktionen koumlnnen als Interrupt-Service-Routinen vereinbart werden durch Angabe des Interruptnamens bzw ndashvektors
register mask Der C166-Compiler erzeugt fuumlr jede C-Funktion eine Register-maske in der die durch die Funktion verwendeten Register aufgefuumlhrt werden Diese koumlnnen fuumlr Funktionsprototypen verwendet werden um die Registerausnutzung zu optimieren
RTX166 tasks Durch das Schluumlsselwort _task_ werden Funktionen als Tasks des Betriebssystems RTX166 spezifiziert
Neue Schluumlsselwoumlrter (Keywords)Speicherarten near idata bdata sdata far huge xhugeDatentypen bit sfr sbitFunktionen interrupt _task_ using
2592009Embedded Systems Seite 12
04EI
Speicherarten (Memory Types)
Auswahl Adressraum
near 16-Bit Adressen bis zu 64 kBytes
idata On-chip RAM (schnellster Zugriff)
bdata Bit-adressierbares On-chip-RAM
sdata System Page (0xC000-0xFFFF) inklusive SFRlsquos
far 32-Bit Pointer mit 16-Bit Adressberechnung die Objektgroumlszlige betraumlgt 16 kByte
huge 32-Bit Pointer mit 16-Bit Adressberechnung die Objektgroumlszlige betraumlgt 64 kByte
xhuge 32-Bit Pointer mit 32-Bit Adressberechnung die Objektgroumlszlige betraumlgt 16 MByte
Die Programmiersprache C fuumlr den Mikrocontroller C164
2592009Embedded Systems Seite 13
04EI
Entsprechend den Speicherarten koumlnnen Speichermodelle als Voreinstellungen vorgegeben werden die immer dann Anwendung finden wenn bei der Variablen- oder Funktionsdefinition keine Speicherart explizit angegeben wird
Dies erfolgt mittels der Preprozessordirektive pragma speichermodell
Die Programmiersprache C fuumlr den Mikrocontroller C164
TINY near near nein 64kSMALL near near ja 64kCOMPACT far near ja 64kHCOMPACT huge near ja 64kMEDIUM near far ja unbegrenztLARGE far far ja unbegrenztHLARGE huge far ja unbegrenzt
2592009Embedded Systems Seite 14
04EI
Datentypen Speicherumfang und Wertebereich
Datentyp Speicherumfang Wertebereich
bit 1 Bit 0 oder 1
signed char 1 Byte -128 bis +127
unsigned char 1 Byte 0 bis 255
signed int 2 Bytes -32768 to + 32767
unsigned int 2 Bytes 0 bis 65535
signed long 4 Bytes -2147483648 bis +2147483642
unsigned long 4 Bytes 0 bis 4294967295
float 4 Bytes 1176E-38 bis 340E+38
double 8 Bytes 17E-308 bis 17E+308
pointer 24 Bytes Adresse des Objects
Die Programmiersprache C fuumlr den Mikrocontroller C164
Datentypen fuumlr den Zugriff auf Special Function Registers (SFR)
sbit 1 Bit 0 or 1
sfr 2 Bytes 0 to 65535
spezielle Datentypen in C166 die in ANSI-C nicht definiert sind
Der Instruction Pointer (IP) wird nach jeder Befehlsholphase inkrementiert
Der Code Segment Pointer (CSP) wird nur durch absolute Spruumlnge bzw indirekt beim Ruumlcksprung aus Unterprogrammen vom Stack veraumlndert
2592009Embedded Systems Seite 17
04EI
Adressierung von Daten mittels Seitenauswahl (Paging) innerhalb des 4 MByte Adressraumes
Daten-Adressierung uumlber Data Page Pointer (DPP)
14-bit
013 16-bit Adresse1415
Auswahl einesData Page Pointer
10-bitSeiten-nummer
DPP3DPP2DPP1
DPP0
Physikalische 24-Bit Daten-Adresse
(bis zu 22 aussen verfuumlgbar beim C164)
SFR
2592009Embedded Systems Seite 18
04EI
External Bus Controller
Ermoumlglicht variables Timing von CPU-Steuersignalen mittels Software Realisiert bis zu 4 Chip-Select-Signale Auswahl von 4 Adressbereichen moumlglich
Special Function Register BUSCON04Programmierbare ZeitenFestlegung von CS - SignalenAuswahl der Breite des Daten-BUS 8 16 Bit
Special Function Register ADDRSEL14Programmierbare Ausschnitte aus dem Adressraum fuumlr den Zugriff auf externe Komponenten mit den Eigenschaften der zugeordneten BUSCONx- Register
2592009Embedded Systems Seite 19
04EI
Gemultiplexter Adress- und Daten-BUS
Address
Address
Address
Data
Data
A16A21
ALE
CS
A0A15D0D15 (7)
RD
A015D015 (7)
WR
Verlaumlngern des Adress-Setups
Speicher-zugriffszeit
Tri-State - Zeit
WR-Delay
RD-Delay
SFR
2592009Embedded Systems Seite 20
04EI
Integrierte Chip Select - Signale
Die Basisadresse ist stets ein Vielfaches des Adressbereiches(dh der Chip Select mit einem Adressbereich von 128kByte beginnt an einer 128kByte Grenze)
Interrupt hat den Prioritaumls- und Gruppen-Check erfuumlllt
Interrupt Prioritaumlt lt 14 Interrupt Prioritaumlt 14 oder 15und Data Counter gt 0Interrupt Prioritaumlt 14 oder 15und Data Counter gt 0
Interrupt Service PEC Service
8 PECKanaumlle
Data Counter
SRC Pointer
DEST Pointer
Contr Reg
Memory Segment 0
0xFFFF
0x0000
Byte bzwWordTransfer
INTR Service
RettenPSW CSP IP
Neue CPU-Prio im PSW
CSP und IP ausPeripherie-Vector oder Trap-Nummer
Interrupt falls Data Counter = 0
Prioritaumlts- amp Gruppen-
Check
Peripheral Events Controller (PEC)
Peripheral Events Contoller
SFR
Kein Folientitel
CPU - Blockschaltbild
Vierstufige Befehls-Pipeline
Arithmetic Logic Unit
Barrel Shifter
General Purpose Register (GPR)
2 kByte internes RAM - Plazierung der Registerbaumlnke und des Stack
Adressraum
Interner und externer Adressplan des C164CI
Die Programmiersprache C fuumlr den Mikrocontroller C164
Slide 11
Slide 12
Slide 13
Slide 14
Slide 15
Code-Adressierung mittels Segmentierung im 4 MByte Adressraum
Adressierung von Daten mittels Seitenauswahl (Paging) innerhalb des 4 MByte Adressraumes
External Bus Controller
Gemultiplexter Adress- und Daten-BUS
Integrierte Chip Select - Signale
Anschluszlig von externen Speicherbausteinen mit 8 Bit- Organisation
Anschluszlig von externen Speicherbausteinen mit 16 Bit- Organisation
Sich uumlberdeckende Adressbereiche
Interrupt System
Interrupts und PEC - Priorisierung
Interrupt Processing
Peripheral Events Controller (PEC)
2592009Embedded Systems Seite 9
04EI
Interner und externer Adressplan des C164CI
Bit-adressierbarer Bereich
X-Bus Peripheral
Segment 0 beinhaltet den internen Speicher
Internes RAM
512 BytesSFRrsquos
2kInternes
RAM
ExternerSpeicher
InternesROM
Flash Esup2PROM(kann auf Segm 1 liegen)
512 BytesESFRrsquos
0x000000
0x008000
0x00FE00
0x00FA00
0x00F600
0x00F200
0x0100007 0
32k
05k
Reserviert
Bis zu 4 MBytes
Code Segmente Daten Pages
0
1
2
3
3
2
1
0
7
6
5
4
11
10
9
8
15
14
13
12
InternalROMFLAS
H232k0x010000
0x020000
0x030000
0x040000
Full -CANFull -CAN0x00F000
0x00E800Reserviert
05k
0x000000
2592009Embedded Systems Seite 10
04EI
Die Programmiersprache C fuumlr den Mikrocontroller C164
C166 ist die Realisierung von ANSI-C fuumlr die Mikrocontroller-Familie C166
Der C166-Compiler sieht eine Reihe von Erweiterungen des ANSI-C Standards vor Speziell solche die direkt der Unterstuumltzung der 166-Architektur dienen
C166-Bezeichnung Erlaumluterung
memory types Als Ergaumlnzung zur Speicherklasse kann zu jeder Variablenvereinbarung ein Speichertyp mit angegeben werden Dies erlaubt eine vom aktuellen Speichermodell unabhaumlngige Adressierung von Variablen in verschiedenen Adressraumlumen des 166-Systems Folgende Typen sind definiertnear idata bdata sdata far huge xhuge
sfr Dient der Deklaration von Special-Function-Register (SFR) der 166-Familie
sbit Deklaration von Bits innerhalb von SFRs
bit Datentyp bit Ruumlckgabewert Uumlbergabeparameter von Funktionen koumlnnen vom Typ bit sein
bit-addressable Variable im bitadressierbaren Bereich koumlnnen mittels bdata als Speichertyp vereinbart werden
2592009Embedded Systems Seite 11
04EI
Die Programmiersprache C fuumlr den Mikrocontroller C164
C166-Bezeichnung Erlaumluterung
registerbank (using) Jede Funktion kann eine Vereinbarung enthalten in der die zu benutzende Registerbank angegeben wird
interrupt Funktionen koumlnnen als Interrupt-Service-Routinen vereinbart werden durch Angabe des Interruptnamens bzw ndashvektors
register mask Der C166-Compiler erzeugt fuumlr jede C-Funktion eine Register-maske in der die durch die Funktion verwendeten Register aufgefuumlhrt werden Diese koumlnnen fuumlr Funktionsprototypen verwendet werden um die Registerausnutzung zu optimieren
RTX166 tasks Durch das Schluumlsselwort _task_ werden Funktionen als Tasks des Betriebssystems RTX166 spezifiziert
Neue Schluumlsselwoumlrter (Keywords)Speicherarten near idata bdata sdata far huge xhugeDatentypen bit sfr sbitFunktionen interrupt _task_ using
2592009Embedded Systems Seite 12
04EI
Speicherarten (Memory Types)
Auswahl Adressraum
near 16-Bit Adressen bis zu 64 kBytes
idata On-chip RAM (schnellster Zugriff)
bdata Bit-adressierbares On-chip-RAM
sdata System Page (0xC000-0xFFFF) inklusive SFRlsquos
far 32-Bit Pointer mit 16-Bit Adressberechnung die Objektgroumlszlige betraumlgt 16 kByte
huge 32-Bit Pointer mit 16-Bit Adressberechnung die Objektgroumlszlige betraumlgt 64 kByte
xhuge 32-Bit Pointer mit 32-Bit Adressberechnung die Objektgroumlszlige betraumlgt 16 MByte
Die Programmiersprache C fuumlr den Mikrocontroller C164
2592009Embedded Systems Seite 13
04EI
Entsprechend den Speicherarten koumlnnen Speichermodelle als Voreinstellungen vorgegeben werden die immer dann Anwendung finden wenn bei der Variablen- oder Funktionsdefinition keine Speicherart explizit angegeben wird
Dies erfolgt mittels der Preprozessordirektive pragma speichermodell
Die Programmiersprache C fuumlr den Mikrocontroller C164
TINY near near nein 64kSMALL near near ja 64kCOMPACT far near ja 64kHCOMPACT huge near ja 64kMEDIUM near far ja unbegrenztLARGE far far ja unbegrenztHLARGE huge far ja unbegrenzt
2592009Embedded Systems Seite 14
04EI
Datentypen Speicherumfang und Wertebereich
Datentyp Speicherumfang Wertebereich
bit 1 Bit 0 oder 1
signed char 1 Byte -128 bis +127
unsigned char 1 Byte 0 bis 255
signed int 2 Bytes -32768 to + 32767
unsigned int 2 Bytes 0 bis 65535
signed long 4 Bytes -2147483648 bis +2147483642
unsigned long 4 Bytes 0 bis 4294967295
float 4 Bytes 1176E-38 bis 340E+38
double 8 Bytes 17E-308 bis 17E+308
pointer 24 Bytes Adresse des Objects
Die Programmiersprache C fuumlr den Mikrocontroller C164
Datentypen fuumlr den Zugriff auf Special Function Registers (SFR)
sbit 1 Bit 0 or 1
sfr 2 Bytes 0 to 65535
spezielle Datentypen in C166 die in ANSI-C nicht definiert sind
Der Instruction Pointer (IP) wird nach jeder Befehlsholphase inkrementiert
Der Code Segment Pointer (CSP) wird nur durch absolute Spruumlnge bzw indirekt beim Ruumlcksprung aus Unterprogrammen vom Stack veraumlndert
2592009Embedded Systems Seite 17
04EI
Adressierung von Daten mittels Seitenauswahl (Paging) innerhalb des 4 MByte Adressraumes
Daten-Adressierung uumlber Data Page Pointer (DPP)
14-bit
013 16-bit Adresse1415
Auswahl einesData Page Pointer
10-bitSeiten-nummer
DPP3DPP2DPP1
DPP0
Physikalische 24-Bit Daten-Adresse
(bis zu 22 aussen verfuumlgbar beim C164)
SFR
2592009Embedded Systems Seite 18
04EI
External Bus Controller
Ermoumlglicht variables Timing von CPU-Steuersignalen mittels Software Realisiert bis zu 4 Chip-Select-Signale Auswahl von 4 Adressbereichen moumlglich
Special Function Register BUSCON04Programmierbare ZeitenFestlegung von CS - SignalenAuswahl der Breite des Daten-BUS 8 16 Bit
Special Function Register ADDRSEL14Programmierbare Ausschnitte aus dem Adressraum fuumlr den Zugriff auf externe Komponenten mit den Eigenschaften der zugeordneten BUSCONx- Register
2592009Embedded Systems Seite 19
04EI
Gemultiplexter Adress- und Daten-BUS
Address
Address
Address
Data
Data
A16A21
ALE
CS
A0A15D0D15 (7)
RD
A015D015 (7)
WR
Verlaumlngern des Adress-Setups
Speicher-zugriffszeit
Tri-State - Zeit
WR-Delay
RD-Delay
SFR
2592009Embedded Systems Seite 20
04EI
Integrierte Chip Select - Signale
Die Basisadresse ist stets ein Vielfaches des Adressbereiches(dh der Chip Select mit einem Adressbereich von 128kByte beginnt an einer 128kByte Grenze)
Interrupt hat den Prioritaumls- und Gruppen-Check erfuumlllt
Interrupt Prioritaumlt lt 14 Interrupt Prioritaumlt 14 oder 15und Data Counter gt 0Interrupt Prioritaumlt 14 oder 15und Data Counter gt 0
Interrupt Service PEC Service
8 PECKanaumlle
Data Counter
SRC Pointer
DEST Pointer
Contr Reg
Memory Segment 0
0xFFFF
0x0000
Byte bzwWordTransfer
INTR Service
RettenPSW CSP IP
Neue CPU-Prio im PSW
CSP und IP ausPeripherie-Vector oder Trap-Nummer
Interrupt falls Data Counter = 0
Prioritaumlts- amp Gruppen-
Check
Peripheral Events Controller (PEC)
Peripheral Events Contoller
SFR
Kein Folientitel
CPU - Blockschaltbild
Vierstufige Befehls-Pipeline
Arithmetic Logic Unit
Barrel Shifter
General Purpose Register (GPR)
2 kByte internes RAM - Plazierung der Registerbaumlnke und des Stack
Adressraum
Interner und externer Adressplan des C164CI
Die Programmiersprache C fuumlr den Mikrocontroller C164
Slide 11
Slide 12
Slide 13
Slide 14
Slide 15
Code-Adressierung mittels Segmentierung im 4 MByte Adressraum
Adressierung von Daten mittels Seitenauswahl (Paging) innerhalb des 4 MByte Adressraumes
External Bus Controller
Gemultiplexter Adress- und Daten-BUS
Integrierte Chip Select - Signale
Anschluszlig von externen Speicherbausteinen mit 8 Bit- Organisation
Anschluszlig von externen Speicherbausteinen mit 16 Bit- Organisation
Sich uumlberdeckende Adressbereiche
Interrupt System
Interrupts und PEC - Priorisierung
Interrupt Processing
Peripheral Events Controller (PEC)
2592009Embedded Systems Seite 10
04EI
Die Programmiersprache C fuumlr den Mikrocontroller C164
C166 ist die Realisierung von ANSI-C fuumlr die Mikrocontroller-Familie C166
Der C166-Compiler sieht eine Reihe von Erweiterungen des ANSI-C Standards vor Speziell solche die direkt der Unterstuumltzung der 166-Architektur dienen
C166-Bezeichnung Erlaumluterung
memory types Als Ergaumlnzung zur Speicherklasse kann zu jeder Variablenvereinbarung ein Speichertyp mit angegeben werden Dies erlaubt eine vom aktuellen Speichermodell unabhaumlngige Adressierung von Variablen in verschiedenen Adressraumlumen des 166-Systems Folgende Typen sind definiertnear idata bdata sdata far huge xhuge
sfr Dient der Deklaration von Special-Function-Register (SFR) der 166-Familie
sbit Deklaration von Bits innerhalb von SFRs
bit Datentyp bit Ruumlckgabewert Uumlbergabeparameter von Funktionen koumlnnen vom Typ bit sein
bit-addressable Variable im bitadressierbaren Bereich koumlnnen mittels bdata als Speichertyp vereinbart werden
2592009Embedded Systems Seite 11
04EI
Die Programmiersprache C fuumlr den Mikrocontroller C164
C166-Bezeichnung Erlaumluterung
registerbank (using) Jede Funktion kann eine Vereinbarung enthalten in der die zu benutzende Registerbank angegeben wird
interrupt Funktionen koumlnnen als Interrupt-Service-Routinen vereinbart werden durch Angabe des Interruptnamens bzw ndashvektors
register mask Der C166-Compiler erzeugt fuumlr jede C-Funktion eine Register-maske in der die durch die Funktion verwendeten Register aufgefuumlhrt werden Diese koumlnnen fuumlr Funktionsprototypen verwendet werden um die Registerausnutzung zu optimieren
RTX166 tasks Durch das Schluumlsselwort _task_ werden Funktionen als Tasks des Betriebssystems RTX166 spezifiziert
Neue Schluumlsselwoumlrter (Keywords)Speicherarten near idata bdata sdata far huge xhugeDatentypen bit sfr sbitFunktionen interrupt _task_ using
2592009Embedded Systems Seite 12
04EI
Speicherarten (Memory Types)
Auswahl Adressraum
near 16-Bit Adressen bis zu 64 kBytes
idata On-chip RAM (schnellster Zugriff)
bdata Bit-adressierbares On-chip-RAM
sdata System Page (0xC000-0xFFFF) inklusive SFRlsquos
far 32-Bit Pointer mit 16-Bit Adressberechnung die Objektgroumlszlige betraumlgt 16 kByte
huge 32-Bit Pointer mit 16-Bit Adressberechnung die Objektgroumlszlige betraumlgt 64 kByte
xhuge 32-Bit Pointer mit 32-Bit Adressberechnung die Objektgroumlszlige betraumlgt 16 MByte
Die Programmiersprache C fuumlr den Mikrocontroller C164
2592009Embedded Systems Seite 13
04EI
Entsprechend den Speicherarten koumlnnen Speichermodelle als Voreinstellungen vorgegeben werden die immer dann Anwendung finden wenn bei der Variablen- oder Funktionsdefinition keine Speicherart explizit angegeben wird
Dies erfolgt mittels der Preprozessordirektive pragma speichermodell
Die Programmiersprache C fuumlr den Mikrocontroller C164
TINY near near nein 64kSMALL near near ja 64kCOMPACT far near ja 64kHCOMPACT huge near ja 64kMEDIUM near far ja unbegrenztLARGE far far ja unbegrenztHLARGE huge far ja unbegrenzt
2592009Embedded Systems Seite 14
04EI
Datentypen Speicherumfang und Wertebereich
Datentyp Speicherumfang Wertebereich
bit 1 Bit 0 oder 1
signed char 1 Byte -128 bis +127
unsigned char 1 Byte 0 bis 255
signed int 2 Bytes -32768 to + 32767
unsigned int 2 Bytes 0 bis 65535
signed long 4 Bytes -2147483648 bis +2147483642
unsigned long 4 Bytes 0 bis 4294967295
float 4 Bytes 1176E-38 bis 340E+38
double 8 Bytes 17E-308 bis 17E+308
pointer 24 Bytes Adresse des Objects
Die Programmiersprache C fuumlr den Mikrocontroller C164
Datentypen fuumlr den Zugriff auf Special Function Registers (SFR)
sbit 1 Bit 0 or 1
sfr 2 Bytes 0 to 65535
spezielle Datentypen in C166 die in ANSI-C nicht definiert sind
Der Instruction Pointer (IP) wird nach jeder Befehlsholphase inkrementiert
Der Code Segment Pointer (CSP) wird nur durch absolute Spruumlnge bzw indirekt beim Ruumlcksprung aus Unterprogrammen vom Stack veraumlndert
2592009Embedded Systems Seite 17
04EI
Adressierung von Daten mittels Seitenauswahl (Paging) innerhalb des 4 MByte Adressraumes
Daten-Adressierung uumlber Data Page Pointer (DPP)
14-bit
013 16-bit Adresse1415
Auswahl einesData Page Pointer
10-bitSeiten-nummer
DPP3DPP2DPP1
DPP0
Physikalische 24-Bit Daten-Adresse
(bis zu 22 aussen verfuumlgbar beim C164)
SFR
2592009Embedded Systems Seite 18
04EI
External Bus Controller
Ermoumlglicht variables Timing von CPU-Steuersignalen mittels Software Realisiert bis zu 4 Chip-Select-Signale Auswahl von 4 Adressbereichen moumlglich
Special Function Register BUSCON04Programmierbare ZeitenFestlegung von CS - SignalenAuswahl der Breite des Daten-BUS 8 16 Bit
Special Function Register ADDRSEL14Programmierbare Ausschnitte aus dem Adressraum fuumlr den Zugriff auf externe Komponenten mit den Eigenschaften der zugeordneten BUSCONx- Register
2592009Embedded Systems Seite 19
04EI
Gemultiplexter Adress- und Daten-BUS
Address
Address
Address
Data
Data
A16A21
ALE
CS
A0A15D0D15 (7)
RD
A015D015 (7)
WR
Verlaumlngern des Adress-Setups
Speicher-zugriffszeit
Tri-State - Zeit
WR-Delay
RD-Delay
SFR
2592009Embedded Systems Seite 20
04EI
Integrierte Chip Select - Signale
Die Basisadresse ist stets ein Vielfaches des Adressbereiches(dh der Chip Select mit einem Adressbereich von 128kByte beginnt an einer 128kByte Grenze)
Interrupt hat den Prioritaumls- und Gruppen-Check erfuumlllt
Interrupt Prioritaumlt lt 14 Interrupt Prioritaumlt 14 oder 15und Data Counter gt 0Interrupt Prioritaumlt 14 oder 15und Data Counter gt 0
Interrupt Service PEC Service
8 PECKanaumlle
Data Counter
SRC Pointer
DEST Pointer
Contr Reg
Memory Segment 0
0xFFFF
0x0000
Byte bzwWordTransfer
INTR Service
RettenPSW CSP IP
Neue CPU-Prio im PSW
CSP und IP ausPeripherie-Vector oder Trap-Nummer
Interrupt falls Data Counter = 0
Prioritaumlts- amp Gruppen-
Check
Peripheral Events Controller (PEC)
Peripheral Events Contoller
SFR
Kein Folientitel
CPU - Blockschaltbild
Vierstufige Befehls-Pipeline
Arithmetic Logic Unit
Barrel Shifter
General Purpose Register (GPR)
2 kByte internes RAM - Plazierung der Registerbaumlnke und des Stack
Adressraum
Interner und externer Adressplan des C164CI
Die Programmiersprache C fuumlr den Mikrocontroller C164
Slide 11
Slide 12
Slide 13
Slide 14
Slide 15
Code-Adressierung mittels Segmentierung im 4 MByte Adressraum
Adressierung von Daten mittels Seitenauswahl (Paging) innerhalb des 4 MByte Adressraumes
External Bus Controller
Gemultiplexter Adress- und Daten-BUS
Integrierte Chip Select - Signale
Anschluszlig von externen Speicherbausteinen mit 8 Bit- Organisation
Anschluszlig von externen Speicherbausteinen mit 16 Bit- Organisation
Sich uumlberdeckende Adressbereiche
Interrupt System
Interrupts und PEC - Priorisierung
Interrupt Processing
Peripheral Events Controller (PEC)
2592009Embedded Systems Seite 11
04EI
Die Programmiersprache C fuumlr den Mikrocontroller C164
C166-Bezeichnung Erlaumluterung
registerbank (using) Jede Funktion kann eine Vereinbarung enthalten in der die zu benutzende Registerbank angegeben wird
interrupt Funktionen koumlnnen als Interrupt-Service-Routinen vereinbart werden durch Angabe des Interruptnamens bzw ndashvektors
register mask Der C166-Compiler erzeugt fuumlr jede C-Funktion eine Register-maske in der die durch die Funktion verwendeten Register aufgefuumlhrt werden Diese koumlnnen fuumlr Funktionsprototypen verwendet werden um die Registerausnutzung zu optimieren
RTX166 tasks Durch das Schluumlsselwort _task_ werden Funktionen als Tasks des Betriebssystems RTX166 spezifiziert
Neue Schluumlsselwoumlrter (Keywords)Speicherarten near idata bdata sdata far huge xhugeDatentypen bit sfr sbitFunktionen interrupt _task_ using
2592009Embedded Systems Seite 12
04EI
Speicherarten (Memory Types)
Auswahl Adressraum
near 16-Bit Adressen bis zu 64 kBytes
idata On-chip RAM (schnellster Zugriff)
bdata Bit-adressierbares On-chip-RAM
sdata System Page (0xC000-0xFFFF) inklusive SFRlsquos
far 32-Bit Pointer mit 16-Bit Adressberechnung die Objektgroumlszlige betraumlgt 16 kByte
huge 32-Bit Pointer mit 16-Bit Adressberechnung die Objektgroumlszlige betraumlgt 64 kByte
xhuge 32-Bit Pointer mit 32-Bit Adressberechnung die Objektgroumlszlige betraumlgt 16 MByte
Die Programmiersprache C fuumlr den Mikrocontroller C164
2592009Embedded Systems Seite 13
04EI
Entsprechend den Speicherarten koumlnnen Speichermodelle als Voreinstellungen vorgegeben werden die immer dann Anwendung finden wenn bei der Variablen- oder Funktionsdefinition keine Speicherart explizit angegeben wird
Dies erfolgt mittels der Preprozessordirektive pragma speichermodell
Die Programmiersprache C fuumlr den Mikrocontroller C164
TINY near near nein 64kSMALL near near ja 64kCOMPACT far near ja 64kHCOMPACT huge near ja 64kMEDIUM near far ja unbegrenztLARGE far far ja unbegrenztHLARGE huge far ja unbegrenzt
2592009Embedded Systems Seite 14
04EI
Datentypen Speicherumfang und Wertebereich
Datentyp Speicherumfang Wertebereich
bit 1 Bit 0 oder 1
signed char 1 Byte -128 bis +127
unsigned char 1 Byte 0 bis 255
signed int 2 Bytes -32768 to + 32767
unsigned int 2 Bytes 0 bis 65535
signed long 4 Bytes -2147483648 bis +2147483642
unsigned long 4 Bytes 0 bis 4294967295
float 4 Bytes 1176E-38 bis 340E+38
double 8 Bytes 17E-308 bis 17E+308
pointer 24 Bytes Adresse des Objects
Die Programmiersprache C fuumlr den Mikrocontroller C164
Datentypen fuumlr den Zugriff auf Special Function Registers (SFR)
sbit 1 Bit 0 or 1
sfr 2 Bytes 0 to 65535
spezielle Datentypen in C166 die in ANSI-C nicht definiert sind
Der Instruction Pointer (IP) wird nach jeder Befehlsholphase inkrementiert
Der Code Segment Pointer (CSP) wird nur durch absolute Spruumlnge bzw indirekt beim Ruumlcksprung aus Unterprogrammen vom Stack veraumlndert
2592009Embedded Systems Seite 17
04EI
Adressierung von Daten mittels Seitenauswahl (Paging) innerhalb des 4 MByte Adressraumes
Daten-Adressierung uumlber Data Page Pointer (DPP)
14-bit
013 16-bit Adresse1415
Auswahl einesData Page Pointer
10-bitSeiten-nummer
DPP3DPP2DPP1
DPP0
Physikalische 24-Bit Daten-Adresse
(bis zu 22 aussen verfuumlgbar beim C164)
SFR
2592009Embedded Systems Seite 18
04EI
External Bus Controller
Ermoumlglicht variables Timing von CPU-Steuersignalen mittels Software Realisiert bis zu 4 Chip-Select-Signale Auswahl von 4 Adressbereichen moumlglich
Special Function Register BUSCON04Programmierbare ZeitenFestlegung von CS - SignalenAuswahl der Breite des Daten-BUS 8 16 Bit
Special Function Register ADDRSEL14Programmierbare Ausschnitte aus dem Adressraum fuumlr den Zugriff auf externe Komponenten mit den Eigenschaften der zugeordneten BUSCONx- Register
2592009Embedded Systems Seite 19
04EI
Gemultiplexter Adress- und Daten-BUS
Address
Address
Address
Data
Data
A16A21
ALE
CS
A0A15D0D15 (7)
RD
A015D015 (7)
WR
Verlaumlngern des Adress-Setups
Speicher-zugriffszeit
Tri-State - Zeit
WR-Delay
RD-Delay
SFR
2592009Embedded Systems Seite 20
04EI
Integrierte Chip Select - Signale
Die Basisadresse ist stets ein Vielfaches des Adressbereiches(dh der Chip Select mit einem Adressbereich von 128kByte beginnt an einer 128kByte Grenze)
Interrupt hat den Prioritaumls- und Gruppen-Check erfuumlllt
Interrupt Prioritaumlt lt 14 Interrupt Prioritaumlt 14 oder 15und Data Counter gt 0Interrupt Prioritaumlt 14 oder 15und Data Counter gt 0
Interrupt Service PEC Service
8 PECKanaumlle
Data Counter
SRC Pointer
DEST Pointer
Contr Reg
Memory Segment 0
0xFFFF
0x0000
Byte bzwWordTransfer
INTR Service
RettenPSW CSP IP
Neue CPU-Prio im PSW
CSP und IP ausPeripherie-Vector oder Trap-Nummer
Interrupt falls Data Counter = 0
Prioritaumlts- amp Gruppen-
Check
Peripheral Events Controller (PEC)
Peripheral Events Contoller
SFR
Kein Folientitel
CPU - Blockschaltbild
Vierstufige Befehls-Pipeline
Arithmetic Logic Unit
Barrel Shifter
General Purpose Register (GPR)
2 kByte internes RAM - Plazierung der Registerbaumlnke und des Stack
Adressraum
Interner und externer Adressplan des C164CI
Die Programmiersprache C fuumlr den Mikrocontroller C164
Slide 11
Slide 12
Slide 13
Slide 14
Slide 15
Code-Adressierung mittels Segmentierung im 4 MByte Adressraum
Adressierung von Daten mittels Seitenauswahl (Paging) innerhalb des 4 MByte Adressraumes
External Bus Controller
Gemultiplexter Adress- und Daten-BUS
Integrierte Chip Select - Signale
Anschluszlig von externen Speicherbausteinen mit 8 Bit- Organisation
Anschluszlig von externen Speicherbausteinen mit 16 Bit- Organisation
Sich uumlberdeckende Adressbereiche
Interrupt System
Interrupts und PEC - Priorisierung
Interrupt Processing
Peripheral Events Controller (PEC)
2592009Embedded Systems Seite 12
04EI
Speicherarten (Memory Types)
Auswahl Adressraum
near 16-Bit Adressen bis zu 64 kBytes
idata On-chip RAM (schnellster Zugriff)
bdata Bit-adressierbares On-chip-RAM
sdata System Page (0xC000-0xFFFF) inklusive SFRlsquos
far 32-Bit Pointer mit 16-Bit Adressberechnung die Objektgroumlszlige betraumlgt 16 kByte
huge 32-Bit Pointer mit 16-Bit Adressberechnung die Objektgroumlszlige betraumlgt 64 kByte
xhuge 32-Bit Pointer mit 32-Bit Adressberechnung die Objektgroumlszlige betraumlgt 16 MByte
Die Programmiersprache C fuumlr den Mikrocontroller C164
2592009Embedded Systems Seite 13
04EI
Entsprechend den Speicherarten koumlnnen Speichermodelle als Voreinstellungen vorgegeben werden die immer dann Anwendung finden wenn bei der Variablen- oder Funktionsdefinition keine Speicherart explizit angegeben wird
Dies erfolgt mittels der Preprozessordirektive pragma speichermodell
Die Programmiersprache C fuumlr den Mikrocontroller C164
TINY near near nein 64kSMALL near near ja 64kCOMPACT far near ja 64kHCOMPACT huge near ja 64kMEDIUM near far ja unbegrenztLARGE far far ja unbegrenztHLARGE huge far ja unbegrenzt
2592009Embedded Systems Seite 14
04EI
Datentypen Speicherumfang und Wertebereich
Datentyp Speicherumfang Wertebereich
bit 1 Bit 0 oder 1
signed char 1 Byte -128 bis +127
unsigned char 1 Byte 0 bis 255
signed int 2 Bytes -32768 to + 32767
unsigned int 2 Bytes 0 bis 65535
signed long 4 Bytes -2147483648 bis +2147483642
unsigned long 4 Bytes 0 bis 4294967295
float 4 Bytes 1176E-38 bis 340E+38
double 8 Bytes 17E-308 bis 17E+308
pointer 24 Bytes Adresse des Objects
Die Programmiersprache C fuumlr den Mikrocontroller C164
Datentypen fuumlr den Zugriff auf Special Function Registers (SFR)
sbit 1 Bit 0 or 1
sfr 2 Bytes 0 to 65535
spezielle Datentypen in C166 die in ANSI-C nicht definiert sind
Der Instruction Pointer (IP) wird nach jeder Befehlsholphase inkrementiert
Der Code Segment Pointer (CSP) wird nur durch absolute Spruumlnge bzw indirekt beim Ruumlcksprung aus Unterprogrammen vom Stack veraumlndert
2592009Embedded Systems Seite 17
04EI
Adressierung von Daten mittels Seitenauswahl (Paging) innerhalb des 4 MByte Adressraumes
Daten-Adressierung uumlber Data Page Pointer (DPP)
14-bit
013 16-bit Adresse1415
Auswahl einesData Page Pointer
10-bitSeiten-nummer
DPP3DPP2DPP1
DPP0
Physikalische 24-Bit Daten-Adresse
(bis zu 22 aussen verfuumlgbar beim C164)
SFR
2592009Embedded Systems Seite 18
04EI
External Bus Controller
Ermoumlglicht variables Timing von CPU-Steuersignalen mittels Software Realisiert bis zu 4 Chip-Select-Signale Auswahl von 4 Adressbereichen moumlglich
Special Function Register BUSCON04Programmierbare ZeitenFestlegung von CS - SignalenAuswahl der Breite des Daten-BUS 8 16 Bit
Special Function Register ADDRSEL14Programmierbare Ausschnitte aus dem Adressraum fuumlr den Zugriff auf externe Komponenten mit den Eigenschaften der zugeordneten BUSCONx- Register
2592009Embedded Systems Seite 19
04EI
Gemultiplexter Adress- und Daten-BUS
Address
Address
Address
Data
Data
A16A21
ALE
CS
A0A15D0D15 (7)
RD
A015D015 (7)
WR
Verlaumlngern des Adress-Setups
Speicher-zugriffszeit
Tri-State - Zeit
WR-Delay
RD-Delay
SFR
2592009Embedded Systems Seite 20
04EI
Integrierte Chip Select - Signale
Die Basisadresse ist stets ein Vielfaches des Adressbereiches(dh der Chip Select mit einem Adressbereich von 128kByte beginnt an einer 128kByte Grenze)
Interrupt hat den Prioritaumls- und Gruppen-Check erfuumlllt
Interrupt Prioritaumlt lt 14 Interrupt Prioritaumlt 14 oder 15und Data Counter gt 0Interrupt Prioritaumlt 14 oder 15und Data Counter gt 0
Interrupt Service PEC Service
8 PECKanaumlle
Data Counter
SRC Pointer
DEST Pointer
Contr Reg
Memory Segment 0
0xFFFF
0x0000
Byte bzwWordTransfer
INTR Service
RettenPSW CSP IP
Neue CPU-Prio im PSW
CSP und IP ausPeripherie-Vector oder Trap-Nummer
Interrupt falls Data Counter = 0
Prioritaumlts- amp Gruppen-
Check
Peripheral Events Controller (PEC)
Peripheral Events Contoller
SFR
Kein Folientitel
CPU - Blockschaltbild
Vierstufige Befehls-Pipeline
Arithmetic Logic Unit
Barrel Shifter
General Purpose Register (GPR)
2 kByte internes RAM - Plazierung der Registerbaumlnke und des Stack
Adressraum
Interner und externer Adressplan des C164CI
Die Programmiersprache C fuumlr den Mikrocontroller C164
Slide 11
Slide 12
Slide 13
Slide 14
Slide 15
Code-Adressierung mittels Segmentierung im 4 MByte Adressraum
Adressierung von Daten mittels Seitenauswahl (Paging) innerhalb des 4 MByte Adressraumes
External Bus Controller
Gemultiplexter Adress- und Daten-BUS
Integrierte Chip Select - Signale
Anschluszlig von externen Speicherbausteinen mit 8 Bit- Organisation
Anschluszlig von externen Speicherbausteinen mit 16 Bit- Organisation
Sich uumlberdeckende Adressbereiche
Interrupt System
Interrupts und PEC - Priorisierung
Interrupt Processing
Peripheral Events Controller (PEC)
2592009Embedded Systems Seite 13
04EI
Entsprechend den Speicherarten koumlnnen Speichermodelle als Voreinstellungen vorgegeben werden die immer dann Anwendung finden wenn bei der Variablen- oder Funktionsdefinition keine Speicherart explizit angegeben wird
Dies erfolgt mittels der Preprozessordirektive pragma speichermodell
Die Programmiersprache C fuumlr den Mikrocontroller C164
TINY near near nein 64kSMALL near near ja 64kCOMPACT far near ja 64kHCOMPACT huge near ja 64kMEDIUM near far ja unbegrenztLARGE far far ja unbegrenztHLARGE huge far ja unbegrenzt
2592009Embedded Systems Seite 14
04EI
Datentypen Speicherumfang und Wertebereich
Datentyp Speicherumfang Wertebereich
bit 1 Bit 0 oder 1
signed char 1 Byte -128 bis +127
unsigned char 1 Byte 0 bis 255
signed int 2 Bytes -32768 to + 32767
unsigned int 2 Bytes 0 bis 65535
signed long 4 Bytes -2147483648 bis +2147483642
unsigned long 4 Bytes 0 bis 4294967295
float 4 Bytes 1176E-38 bis 340E+38
double 8 Bytes 17E-308 bis 17E+308
pointer 24 Bytes Adresse des Objects
Die Programmiersprache C fuumlr den Mikrocontroller C164
Datentypen fuumlr den Zugriff auf Special Function Registers (SFR)
sbit 1 Bit 0 or 1
sfr 2 Bytes 0 to 65535
spezielle Datentypen in C166 die in ANSI-C nicht definiert sind
Der Instruction Pointer (IP) wird nach jeder Befehlsholphase inkrementiert
Der Code Segment Pointer (CSP) wird nur durch absolute Spruumlnge bzw indirekt beim Ruumlcksprung aus Unterprogrammen vom Stack veraumlndert
2592009Embedded Systems Seite 17
04EI
Adressierung von Daten mittels Seitenauswahl (Paging) innerhalb des 4 MByte Adressraumes
Daten-Adressierung uumlber Data Page Pointer (DPP)
14-bit
013 16-bit Adresse1415
Auswahl einesData Page Pointer
10-bitSeiten-nummer
DPP3DPP2DPP1
DPP0
Physikalische 24-Bit Daten-Adresse
(bis zu 22 aussen verfuumlgbar beim C164)
SFR
2592009Embedded Systems Seite 18
04EI
External Bus Controller
Ermoumlglicht variables Timing von CPU-Steuersignalen mittels Software Realisiert bis zu 4 Chip-Select-Signale Auswahl von 4 Adressbereichen moumlglich
Special Function Register BUSCON04Programmierbare ZeitenFestlegung von CS - SignalenAuswahl der Breite des Daten-BUS 8 16 Bit
Special Function Register ADDRSEL14Programmierbare Ausschnitte aus dem Adressraum fuumlr den Zugriff auf externe Komponenten mit den Eigenschaften der zugeordneten BUSCONx- Register
2592009Embedded Systems Seite 19
04EI
Gemultiplexter Adress- und Daten-BUS
Address
Address
Address
Data
Data
A16A21
ALE
CS
A0A15D0D15 (7)
RD
A015D015 (7)
WR
Verlaumlngern des Adress-Setups
Speicher-zugriffszeit
Tri-State - Zeit
WR-Delay
RD-Delay
SFR
2592009Embedded Systems Seite 20
04EI
Integrierte Chip Select - Signale
Die Basisadresse ist stets ein Vielfaches des Adressbereiches(dh der Chip Select mit einem Adressbereich von 128kByte beginnt an einer 128kByte Grenze)
Der Instruction Pointer (IP) wird nach jeder Befehlsholphase inkrementiert
Der Code Segment Pointer (CSP) wird nur durch absolute Spruumlnge bzw indirekt beim Ruumlcksprung aus Unterprogrammen vom Stack veraumlndert
2592009Embedded Systems Seite 17
04EI
Adressierung von Daten mittels Seitenauswahl (Paging) innerhalb des 4 MByte Adressraumes
Daten-Adressierung uumlber Data Page Pointer (DPP)
14-bit
013 16-bit Adresse1415
Auswahl einesData Page Pointer
10-bitSeiten-nummer
DPP3DPP2DPP1
DPP0
Physikalische 24-Bit Daten-Adresse
(bis zu 22 aussen verfuumlgbar beim C164)
SFR
2592009Embedded Systems Seite 18
04EI
External Bus Controller
Ermoumlglicht variables Timing von CPU-Steuersignalen mittels Software Realisiert bis zu 4 Chip-Select-Signale Auswahl von 4 Adressbereichen moumlglich
Special Function Register BUSCON04Programmierbare ZeitenFestlegung von CS - SignalenAuswahl der Breite des Daten-BUS 8 16 Bit
Special Function Register ADDRSEL14Programmierbare Ausschnitte aus dem Adressraum fuumlr den Zugriff auf externe Komponenten mit den Eigenschaften der zugeordneten BUSCONx- Register
2592009Embedded Systems Seite 19
04EI
Gemultiplexter Adress- und Daten-BUS
Address
Address
Address
Data
Data
A16A21
ALE
CS
A0A15D0D15 (7)
RD
A015D015 (7)
WR
Verlaumlngern des Adress-Setups
Speicher-zugriffszeit
Tri-State - Zeit
WR-Delay
RD-Delay
SFR
2592009Embedded Systems Seite 20
04EI
Integrierte Chip Select - Signale
Die Basisadresse ist stets ein Vielfaches des Adressbereiches(dh der Chip Select mit einem Adressbereich von 128kByte beginnt an einer 128kByte Grenze)
Der Instruction Pointer (IP) wird nach jeder Befehlsholphase inkrementiert
Der Code Segment Pointer (CSP) wird nur durch absolute Spruumlnge bzw indirekt beim Ruumlcksprung aus Unterprogrammen vom Stack veraumlndert
2592009Embedded Systems Seite 17
04EI
Adressierung von Daten mittels Seitenauswahl (Paging) innerhalb des 4 MByte Adressraumes
Daten-Adressierung uumlber Data Page Pointer (DPP)
14-bit
013 16-bit Adresse1415
Auswahl einesData Page Pointer
10-bitSeiten-nummer
DPP3DPP2DPP1
DPP0
Physikalische 24-Bit Daten-Adresse
(bis zu 22 aussen verfuumlgbar beim C164)
SFR
2592009Embedded Systems Seite 18
04EI
External Bus Controller
Ermoumlglicht variables Timing von CPU-Steuersignalen mittels Software Realisiert bis zu 4 Chip-Select-Signale Auswahl von 4 Adressbereichen moumlglich
Special Function Register BUSCON04Programmierbare ZeitenFestlegung von CS - SignalenAuswahl der Breite des Daten-BUS 8 16 Bit
Special Function Register ADDRSEL14Programmierbare Ausschnitte aus dem Adressraum fuumlr den Zugriff auf externe Komponenten mit den Eigenschaften der zugeordneten BUSCONx- Register
2592009Embedded Systems Seite 19
04EI
Gemultiplexter Adress- und Daten-BUS
Address
Address
Address
Data
Data
A16A21
ALE
CS
A0A15D0D15 (7)
RD
A015D015 (7)
WR
Verlaumlngern des Adress-Setups
Speicher-zugriffszeit
Tri-State - Zeit
WR-Delay
RD-Delay
SFR
2592009Embedded Systems Seite 20
04EI
Integrierte Chip Select - Signale
Die Basisadresse ist stets ein Vielfaches des Adressbereiches(dh der Chip Select mit einem Adressbereich von 128kByte beginnt an einer 128kByte Grenze)
Der Instruction Pointer (IP) wird nach jeder Befehlsholphase inkrementiert
Der Code Segment Pointer (CSP) wird nur durch absolute Spruumlnge bzw indirekt beim Ruumlcksprung aus Unterprogrammen vom Stack veraumlndert
2592009Embedded Systems Seite 17
04EI
Adressierung von Daten mittels Seitenauswahl (Paging) innerhalb des 4 MByte Adressraumes
Daten-Adressierung uumlber Data Page Pointer (DPP)
14-bit
013 16-bit Adresse1415
Auswahl einesData Page Pointer
10-bitSeiten-nummer
DPP3DPP2DPP1
DPP0
Physikalische 24-Bit Daten-Adresse
(bis zu 22 aussen verfuumlgbar beim C164)
SFR
2592009Embedded Systems Seite 18
04EI
External Bus Controller
Ermoumlglicht variables Timing von CPU-Steuersignalen mittels Software Realisiert bis zu 4 Chip-Select-Signale Auswahl von 4 Adressbereichen moumlglich
Special Function Register BUSCON04Programmierbare ZeitenFestlegung von CS - SignalenAuswahl der Breite des Daten-BUS 8 16 Bit
Special Function Register ADDRSEL14Programmierbare Ausschnitte aus dem Adressraum fuumlr den Zugriff auf externe Komponenten mit den Eigenschaften der zugeordneten BUSCONx- Register
2592009Embedded Systems Seite 19
04EI
Gemultiplexter Adress- und Daten-BUS
Address
Address
Address
Data
Data
A16A21
ALE
CS
A0A15D0D15 (7)
RD
A015D015 (7)
WR
Verlaumlngern des Adress-Setups
Speicher-zugriffszeit
Tri-State - Zeit
WR-Delay
RD-Delay
SFR
2592009Embedded Systems Seite 20
04EI
Integrierte Chip Select - Signale
Die Basisadresse ist stets ein Vielfaches des Adressbereiches(dh der Chip Select mit einem Adressbereich von 128kByte beginnt an einer 128kByte Grenze)
Interrupt hat den Prioritaumls- und Gruppen-Check erfuumlllt
Interrupt Prioritaumlt lt 14 Interrupt Prioritaumlt 14 oder 15und Data Counter gt 0Interrupt Prioritaumlt 14 oder 15und Data Counter gt 0
Interrupt Service PEC Service
8 PECKanaumlle
Data Counter
SRC Pointer
DEST Pointer
Contr Reg
Memory Segment 0
0xFFFF
0x0000
Byte bzwWordTransfer
INTR Service
RettenPSW CSP IP
Neue CPU-Prio im PSW
CSP und IP ausPeripherie-Vector oder Trap-Nummer
Interrupt falls Data Counter = 0
Prioritaumlts- amp Gruppen-
Check
Peripheral Events Controller (PEC)
Peripheral Events Contoller
SFR
Kein Folientitel
CPU - Blockschaltbild
Vierstufige Befehls-Pipeline
Arithmetic Logic Unit
Barrel Shifter
General Purpose Register (GPR)
2 kByte internes RAM - Plazierung der Registerbaumlnke und des Stack
Adressraum
Interner und externer Adressplan des C164CI
Die Programmiersprache C fuumlr den Mikrocontroller C164
Slide 11
Slide 12
Slide 13
Slide 14
Slide 15
Code-Adressierung mittels Segmentierung im 4 MByte Adressraum
Adressierung von Daten mittels Seitenauswahl (Paging) innerhalb des 4 MByte Adressraumes
External Bus Controller
Gemultiplexter Adress- und Daten-BUS
Integrierte Chip Select - Signale
Anschluszlig von externen Speicherbausteinen mit 8 Bit- Organisation
Anschluszlig von externen Speicherbausteinen mit 16 Bit- Organisation
Sich uumlberdeckende Adressbereiche
Interrupt System
Interrupts und PEC - Priorisierung
Interrupt Processing
Peripheral Events Controller (PEC)
2592009Embedded Systems Seite 17
04EI
Adressierung von Daten mittels Seitenauswahl (Paging) innerhalb des 4 MByte Adressraumes
Daten-Adressierung uumlber Data Page Pointer (DPP)
14-bit
013 16-bit Adresse1415
Auswahl einesData Page Pointer
10-bitSeiten-nummer
DPP3DPP2DPP1
DPP0
Physikalische 24-Bit Daten-Adresse
(bis zu 22 aussen verfuumlgbar beim C164)
SFR
2592009Embedded Systems Seite 18
04EI
External Bus Controller
Ermoumlglicht variables Timing von CPU-Steuersignalen mittels Software Realisiert bis zu 4 Chip-Select-Signale Auswahl von 4 Adressbereichen moumlglich
Special Function Register BUSCON04Programmierbare ZeitenFestlegung von CS - SignalenAuswahl der Breite des Daten-BUS 8 16 Bit
Special Function Register ADDRSEL14Programmierbare Ausschnitte aus dem Adressraum fuumlr den Zugriff auf externe Komponenten mit den Eigenschaften der zugeordneten BUSCONx- Register
2592009Embedded Systems Seite 19
04EI
Gemultiplexter Adress- und Daten-BUS
Address
Address
Address
Data
Data
A16A21
ALE
CS
A0A15D0D15 (7)
RD
A015D015 (7)
WR
Verlaumlngern des Adress-Setups
Speicher-zugriffszeit
Tri-State - Zeit
WR-Delay
RD-Delay
SFR
2592009Embedded Systems Seite 20
04EI
Integrierte Chip Select - Signale
Die Basisadresse ist stets ein Vielfaches des Adressbereiches(dh der Chip Select mit einem Adressbereich von 128kByte beginnt an einer 128kByte Grenze)
Interrupt hat den Prioritaumls- und Gruppen-Check erfuumlllt
Interrupt Prioritaumlt lt 14 Interrupt Prioritaumlt 14 oder 15und Data Counter gt 0Interrupt Prioritaumlt 14 oder 15und Data Counter gt 0
Interrupt Service PEC Service
8 PECKanaumlle
Data Counter
SRC Pointer
DEST Pointer
Contr Reg
Memory Segment 0
0xFFFF
0x0000
Byte bzwWordTransfer
INTR Service
RettenPSW CSP IP
Neue CPU-Prio im PSW
CSP und IP ausPeripherie-Vector oder Trap-Nummer
Interrupt falls Data Counter = 0
Prioritaumlts- amp Gruppen-
Check
Peripheral Events Controller (PEC)
Peripheral Events Contoller
SFR
Kein Folientitel
CPU - Blockschaltbild
Vierstufige Befehls-Pipeline
Arithmetic Logic Unit
Barrel Shifter
General Purpose Register (GPR)
2 kByte internes RAM - Plazierung der Registerbaumlnke und des Stack
Adressraum
Interner und externer Adressplan des C164CI
Die Programmiersprache C fuumlr den Mikrocontroller C164
Slide 11
Slide 12
Slide 13
Slide 14
Slide 15
Code-Adressierung mittels Segmentierung im 4 MByte Adressraum
Adressierung von Daten mittels Seitenauswahl (Paging) innerhalb des 4 MByte Adressraumes
External Bus Controller
Gemultiplexter Adress- und Daten-BUS
Integrierte Chip Select - Signale
Anschluszlig von externen Speicherbausteinen mit 8 Bit- Organisation
Anschluszlig von externen Speicherbausteinen mit 16 Bit- Organisation
Sich uumlberdeckende Adressbereiche
Interrupt System
Interrupts und PEC - Priorisierung
Interrupt Processing
Peripheral Events Controller (PEC)
2592009Embedded Systems Seite 18
04EI
External Bus Controller
Ermoumlglicht variables Timing von CPU-Steuersignalen mittels Software Realisiert bis zu 4 Chip-Select-Signale Auswahl von 4 Adressbereichen moumlglich
Special Function Register BUSCON04Programmierbare ZeitenFestlegung von CS - SignalenAuswahl der Breite des Daten-BUS 8 16 Bit
Special Function Register ADDRSEL14Programmierbare Ausschnitte aus dem Adressraum fuumlr den Zugriff auf externe Komponenten mit den Eigenschaften der zugeordneten BUSCONx- Register
2592009Embedded Systems Seite 19
04EI
Gemultiplexter Adress- und Daten-BUS
Address
Address
Address
Data
Data
A16A21
ALE
CS
A0A15D0D15 (7)
RD
A015D015 (7)
WR
Verlaumlngern des Adress-Setups
Speicher-zugriffszeit
Tri-State - Zeit
WR-Delay
RD-Delay
SFR
2592009Embedded Systems Seite 20
04EI
Integrierte Chip Select - Signale
Die Basisadresse ist stets ein Vielfaches des Adressbereiches(dh der Chip Select mit einem Adressbereich von 128kByte beginnt an einer 128kByte Grenze)
Interrupt hat den Prioritaumls- und Gruppen-Check erfuumlllt
Interrupt Prioritaumlt lt 14 Interrupt Prioritaumlt 14 oder 15und Data Counter gt 0Interrupt Prioritaumlt 14 oder 15und Data Counter gt 0
Interrupt Service PEC Service
8 PECKanaumlle
Data Counter
SRC Pointer
DEST Pointer
Contr Reg
Memory Segment 0
0xFFFF
0x0000
Byte bzwWordTransfer
INTR Service
RettenPSW CSP IP
Neue CPU-Prio im PSW
CSP und IP ausPeripherie-Vector oder Trap-Nummer
Interrupt falls Data Counter = 0
Prioritaumlts- amp Gruppen-
Check
Peripheral Events Controller (PEC)
Peripheral Events Contoller
SFR
Kein Folientitel
CPU - Blockschaltbild
Vierstufige Befehls-Pipeline
Arithmetic Logic Unit
Barrel Shifter
General Purpose Register (GPR)
2 kByte internes RAM - Plazierung der Registerbaumlnke und des Stack
Adressraum
Interner und externer Adressplan des C164CI
Die Programmiersprache C fuumlr den Mikrocontroller C164
Slide 11
Slide 12
Slide 13
Slide 14
Slide 15
Code-Adressierung mittels Segmentierung im 4 MByte Adressraum
Adressierung von Daten mittels Seitenauswahl (Paging) innerhalb des 4 MByte Adressraumes
External Bus Controller
Gemultiplexter Adress- und Daten-BUS
Integrierte Chip Select - Signale
Anschluszlig von externen Speicherbausteinen mit 8 Bit- Organisation
Anschluszlig von externen Speicherbausteinen mit 16 Bit- Organisation
Sich uumlberdeckende Adressbereiche
Interrupt System
Interrupts und PEC - Priorisierung
Interrupt Processing
Peripheral Events Controller (PEC)
2592009Embedded Systems Seite 19
04EI
Gemultiplexter Adress- und Daten-BUS
Address
Address
Address
Data
Data
A16A21
ALE
CS
A0A15D0D15 (7)
RD
A015D015 (7)
WR
Verlaumlngern des Adress-Setups
Speicher-zugriffszeit
Tri-State - Zeit
WR-Delay
RD-Delay
SFR
2592009Embedded Systems Seite 20
04EI
Integrierte Chip Select - Signale
Die Basisadresse ist stets ein Vielfaches des Adressbereiches(dh der Chip Select mit einem Adressbereich von 128kByte beginnt an einer 128kByte Grenze)
Interrupt hat den Prioritaumls- und Gruppen-Check erfuumlllt
Interrupt Prioritaumlt lt 14 Interrupt Prioritaumlt 14 oder 15und Data Counter gt 0Interrupt Prioritaumlt 14 oder 15und Data Counter gt 0
Interrupt Service PEC Service
8 PECKanaumlle
Data Counter
SRC Pointer
DEST Pointer
Contr Reg
Memory Segment 0
0xFFFF
0x0000
Byte bzwWordTransfer
INTR Service
RettenPSW CSP IP
Neue CPU-Prio im PSW
CSP und IP ausPeripherie-Vector oder Trap-Nummer
Interrupt falls Data Counter = 0
Prioritaumlts- amp Gruppen-
Check
Peripheral Events Controller (PEC)
Peripheral Events Contoller
SFR
Kein Folientitel
CPU - Blockschaltbild
Vierstufige Befehls-Pipeline
Arithmetic Logic Unit
Barrel Shifter
General Purpose Register (GPR)
2 kByte internes RAM - Plazierung der Registerbaumlnke und des Stack
Adressraum
Interner und externer Adressplan des C164CI
Die Programmiersprache C fuumlr den Mikrocontroller C164
Slide 11
Slide 12
Slide 13
Slide 14
Slide 15
Code-Adressierung mittels Segmentierung im 4 MByte Adressraum
Adressierung von Daten mittels Seitenauswahl (Paging) innerhalb des 4 MByte Adressraumes
External Bus Controller
Gemultiplexter Adress- und Daten-BUS
Integrierte Chip Select - Signale
Anschluszlig von externen Speicherbausteinen mit 8 Bit- Organisation
Anschluszlig von externen Speicherbausteinen mit 16 Bit- Organisation
Sich uumlberdeckende Adressbereiche
Interrupt System
Interrupts und PEC - Priorisierung
Interrupt Processing
Peripheral Events Controller (PEC)
2592009Embedded Systems Seite 20
04EI
Integrierte Chip Select - Signale
Die Basisadresse ist stets ein Vielfaches des Adressbereiches(dh der Chip Select mit einem Adressbereich von 128kByte beginnt an einer 128kByte Grenze)