1. ANWENDUNGSFELDER VON EMBEDDED SYSTEMEN BEGRIFFSDEFINITIONEN UND ANFORDERUNGEN Ein einführendes Beispiel...

Größe: px
Ab Seite anzeigen:

Download "1. ANWENDUNGSFELDER VON EMBEDDED SYSTEMEN... 5 2. BEGRIFFSDEFINITIONEN UND ANFORDERUNGEN... 16. 2.1. Ein einführendes Beispiel..."

Transkript

1 Embedded Systemarchitekturen und Echtzeitbetriebssysteme Inhaltsverzeichnis 1. ANWENDUNGSFELDER VON EMBEDDED SYSTEMEN BEGRIFFSDEFINITIONEN UND ANFORDERUNGEN Ein einführendes Beispiel Anforderungen an ein Echtzeit-Betriebssystem Rechtzeitigkeit Gleichzeitigkeit Vorhersehbarkeit (Determinismus) AUFBAUSTRUKUR VON EMBEDDED SYSTEMEN Embedded Systemarchitekturen Vergleich Mikrocontroller versus Mikroprozessor Hauptfunktionskomponenten eines Embedded Systems Mikrocontrollerfamilien (Auswahl) Beurteilungskriterien für die Auswahl eines Mikrocomputersystems Auswahl geeigneter Mikrocontroller - Bsp. TI MSP Der Adressraum der MSP430-Mikrocontrollerfamilie MSP430 Memory Map im Detail Das Device Description File msp430f449.ddf Das Special Function Register File msp430f449.sfr Mikrocontrollerspeicher Die CPU Addressing Modes The Instruction Set Kontrollfragen DER SOFTWARE BUILD PROZESS BEI EMBEDDED SYSTEMEN Entwicklungsschritte für ein Mikrocomputersystem... 76

2 4.2. IAR Debug- und Testverfahren im Überblick IAR C-SPY Debugger Sysytems Test im EPROM Test im Monitor Test im Simulator Debugging mit dem JTAG Interface Building Salco RTOS Applications LOW POWER OPERATING MODES INTERRUPTS UND INTERRUPT SERVICE ROUTINEN (ISR) Begriffsdefinitionen, unterschiedliche Arten von Interrupts Hardware-Interrupts ( Interrupt Request -Leitungen) Übertragung des Interruptvektors von der Peripherie an die CPU Maskierbare und nichtmaskierbare Interrupts Software-Interrupts (BIOS-Interrupt) Interrupt Service Routinen (ISR) Der Programmable Interrupt-Controller 8259 (PIC) Zusammenspiel zwischen CPU und 8259-Controller Moderne Interruptverfahren CPU interne Bearbeitung von Interrupts und ISRs Der normale Programmfluss Ablaufsteuerung zur Behandlung von Ausnahmesituationen Ziel: Änderung des normalen Programmflusses Wo stehen die Startadressen? Interne Unterbrechungsursachen Externe Unterbrechungsursache Das MSP430 Interruptsystem Behandlung eines Interrupts beim MSP Binden eines Interrupts an eine Interrupt Service Routine Interrupt Vektoren (aus msp430x44x.h ) Beispiele und Übungen zum Interruptsystem MSP430I Anwendungsbeispiel I Embedded Systemarchitekturen und Echtzeitbetriebssysteme 2

3 Anwendungsbeispiel II Anwendungsbeispiel III Übung I Übung II Document History Version, Date Author(s) address Changes and other notes Embedded Ressourcen Embedded Systems Internet Resources Die Embedded Systems Internet Resources Webseite ist ein Sammelsurium von Information über embedded Mikrocontollersysteme und Entwicklungssystemhersteller. EDN Access Umfangreiche Datenbank mit fast allen 8/16/32/64 Bit Mikrocontrollern und Mikroprozessoren und DSPs mit Links zu den Herstellern und Datenblättern. Notwendig ist Registrierung bei der Zeitschrift EDN und ein cookie enabled Browser. C51 Primer Der C51 Primer (englisch) ist ein einführender Text der beschreibt, wie C Programme für den 8051 zu schreiben sind. Die verschiedenen Speicher Modelle, special function register, die Architektur des 8051 werden im Detail beschrieben. C166 Primer Der C166 Primer (englisch) liefert Informationen über die Siemens 166 (16Bit) Mikrocontroller Familie. Eine detailierte Referenz liefert Details der Interrupts, der I/O Ports, der Bus Modi und mehr Frequent Asked Questions (FAQ) Russ Hersch's 8051 FAQ (englisch) liefert sehr viel nützliche Information über die 8051 Mikrocontrollerfamilie. Sehr viele Links zu allen möglichen 8051 Web Seiten sind vorhanden. Embedded Systems Internet Resources Die Embedded Systems Internet Resources Webseite ist ein Sammelsurium von Information über embedded Mikrocontollersysteme und Entwicklungssystemhersteller. Embedded Systemarchitekturen und Echtzeitbetriebssysteme 3

4 Chip Directory Sehr umfangreiches Verzeichnis aller möglichen HalbleiterICs: Chip Directory. Praktisch jeder je produzierte Chip ist enthalten, zum großen Teil mit Links zu den jeweiligen Herstellern. Embedded Systems Programming Embedded Systems Programming Englischsprachige Zeitschrift speziell über Mikrocontrollersysteme. Die Webseite des Verlags beinhaltet eine Menge aktuelle Informationen sowie code listings von erschienenen Artikeln. EDN Magazine (Electronic Design Network) At the EDN Magazine website, you can read articles and write letters to the editors. EDN provides engineers and engineering managers with in-depth design features and deep technical information on microprocessors and other digital ICs, analog ICs, ASICs, computers and software, computer peripherals, test and measurement, components, power sources, interconnections and packaging, and much more. MSP430 IAR EMBEDDED WORKBENCH Tutorial, for Texas Instruments MSP430 Family Embedded Systemarchitekturen und Echtzeitbetriebssysteme 4

5 1. ANWENDUNGSFELDER VON EMBEDDED SYSTEMEN Automatisierung von Maschinen Werkzeugmaschinen Industrieroboter Sensorsysteme (Bildverarbeitung) Kraftfahrzeuge (Motorsteuerung, Bremssystem, Getriebesteuerung, Fahrtplanung, Abstandswarnsystem, usw.) Prüfmaschinen Messmaschinen Küchengeräte Waschmaschinen Nähmaschinen Alarmanlagen Navigationssysteme Heizungssysteme Spielzeuge Filmkameras Telefonanrufbeantworter Automatisierung technischer Anlagen Kraftwerksanlagen (Dampferzeuger, Turbinen, Generatoren) Energieversorgungsanlagen (Lastverteiler Netzleitsysteme) Fertigungssysteme Stahlwerksanlagen Walzwerksanlagen Schienenverkehrssysteme (Fernbahnen, Stadtbahnen, U-Bahnen) Gasversorgungssysteme Prüfstände, Prüffelder Verfahrenstechnische Anlagen Laborautomatisierung Gebäude- und haustechnische Anlagen, Aufzüge Intensivstation Hochregallager Verkehrstechnik Papiermaschinen Textilmaschinen Beispiele für den Einsatz von Embedded Systemen im Auto - gestern und heute Embedded Systemarchitekturen und Echtzeitbetriebssysteme 5

6 - gestern Embedded Systemarchitekturen und Echtzeitbetriebssysteme 6

7 - und heute Embedded Systemarchitekturen und Echtzeitbetriebssysteme 7

8 - zukünftig Beispiele für den Einsatz von Embedded Systemen in der Prozessautomatisierung - Induistrieroboter mit 6 Achsen Embedded Systemarchitekturen und Echtzeitbetriebssysteme 8

9 - Hexapod - Prozessperipherie Embedded Systemarchitekturen und Echtzeitbetriebssysteme 9

10 Beispiele für den Einsatz von Embedded Systemen für den Bereich Home Control - Home Control - Medizintechnik Embedded Systemarchitekturen und Echtzeitbetriebssysteme 10

11 Beispiele für den Einsatz von Embedded Systemen im Anwendungsfeld PAN/LON Embedded Systemarchitekturen und Echtzeitbetriebssysteme 11

12 Embedded Systemarchitekturen und Echtzeitbetriebssysteme 12

13 Types of ZigBee Networks ZigBee networks can be configured to operate in a variety of different ways to suit the application and environment. Supported topologies include: Figure: Peer to Peer (Ad-hoc) ZigBee nodes connect directly to each other for peer to peer communication Figure: Star Configuration Using a single PAN coordinator, each node connects directly to the central coordinator all inter-node communications are passed through the coordinator. Embedded Systemarchitekturen und Echtzeitbetriebssysteme 13

14 Figure: Cluster Tree A cluster tree network consists of a number of star networks connected whose central nodes are also in direct communications with the single PAN Coordinator. Figure: Mesh Network Using a set of routers and a single PAN coordinator, the network is formed into an interconnected mesh of routers and end nodes which pass information from node to node using the most cost effective path. Should any individual router become inaccessible, alternate routes can be discovered and used providing a robust and reliable network topography. Embedded Systemarchitekturen und Echtzeitbetriebssysteme 14

15 Bild: Architektur des ZigBee Protokollstack Bild: Embedded Systeme in der Mikrosystemtechnik Embedded Systemarchitekturen und Echtzeitbetriebssysteme 15

16 Übung: Wie viele eingebettete Systeme gibt es hier im Raum? Mit wie vielen Embedded Systemen sind Sie heute bereits in Berührung gekommen? 2. BEGRIFFSDEFINITIONEN UND ANFORDERUNGEN 2.1. Ein einführendes Beispiel Anwendungsbeispiel: Düsentriebwerkes Bild: Aufbau eines Düsenstrahltriebwerkes Funktionsweise eines Düsentriebwerkes: siehe Embedded Systemarchitekturen und Echtzeitbetriebssysteme 16

17 I. Begriffsdefinition: Embedded System Bsp.: Temperatur- und Druckregelung eines Düsentriebwerkes Technisches System Druck p Tempertur Embedded- System HW - Mikrocontroller - IOs (dig, analog, ser, parall) Treibstoff- Stellventil Display (Cockpit) SW - (Echtzeit-)Betriebssystem -Applikationen Protokollierung (Blackbox) Embedded System - ist ein mit SW ausgestatteter Mikroprozessor/Mikrocontroller, - ist ein Rechensystem, dass Teil einer größeren technischen Anordnung ist - ist auf einen bestimmten Zweck zugeschnitten - meist über die gesamte Lebenszeit unverändert - Bsp.: ABS, Motorsteuerung Bild: Definition Echtzeitbetrieb und Real-Time Systems => Ein Echtzeitsystem ist ein Rechensystem, dessen Korrektheit - nicht nur von der logischen Korrektheit der Ergebnisse sondern auch - von der Einhaltung vorgegebener Zeitbedingungen abhängt. Die Nichteinhaltung der vorgegebenen Zeitforderungen ist gleichbedeutend mit dem Versagen des Systems. Embedded Systemarchitekturen und Echtzeitbetriebssysteme 17

18 Bild: Definition Echtzeit 2.2. Anforderungen an ein Echtzeit-Betriebssystem Rechtzeitigkeit Rechtzeitigkeit: Rechnersystem muss mit den im technischen Prozess ablaufenden Vorgängen Schritt halten, um Zeitbedingungen erfüllen zu können. Das heißt: auf jedes Ereignis des Prozesses muss innerhalb einer vorgegebenen Zeit spanne reagiert werden. Das Ereignis muss in dieser Zeit erfasst, die Berechnungen ausgeführt und die Reaktion zum Prozess ausgegeben sein. Reaktionszeiten werden von dem technischen Prozess bestimmt und müssen für je den auftretenden Ereignistyp spezifiziert werden. Die Forderung nach Rechtzeitigkeit des Rechensystems bedeutet, dass die Eingabedaten rechtzeitig abgerufen werden müssen und dass die Ausgabedaten rechtzeitig in Bezug auf die Anforderungen des betreffenden technischen Prozesses verfügbar sein müssen. Man unterscheidet 2 Kategorien von Zeitbedingungen Absolutzeit-Bedingungen, z.b. um soll ein Signal zur Abfahrt eines Zuges ausgegeben werden Relativ-Zeitbedingungen, z.b. Nach dem Auftreten des Streckensignals soll das Stellsignal für die Weichenstellung innerhalb von 10sec. ausgegeben werden Embedded Systemarchitekturen und Echtzeitbetriebssysteme 18

19 Bild: Definitionen zur Rechtzeitigkeit 4 Fälle Fall 1: Das erfassen eines Meßwertes oder die Ausgabe eines Stellsignals hat genau zu bestimmten Zeitpunkten zu erfolgen Fall 2: Eine Funktion hat innerhalb eines Zeitfensters zu erfolgen (t1 + t Delta ) (Toleranzbereich) Fall 3: Eine Funktion hat spätestens zu einem bestimmten Zeitpunkt zu erfolgen Fall 4: Eine Aktion darf frühestens zu einem bestimmten Zeitpunkt erfolgen Definition: Echtzeitbedingungen (harte u. weiche Echtzeit) Harte Echtzeit (Hard Real-Time): Nichteinhaltung der Zeitbedingung wird als Fehler gewertet und fuhrt zu einem Versagen des Systems. Weiche Echtzeit (Soft Real-Time): Ergebnis kann nach Ablauf der Zeitbedingung noch verwendet werden, ist allerdings mit Nachteilen verbunden (z.b. Verspätung, höhere Kosten). Zeitbedingung sollte nur selten überschritten werden. Definition: Real-Time conditions (newsgroup.comp.realtime) Hard Real-Time: Provides, without fail, a response to some kind of event within a specified time window (timeliness of result), The response must be predictable and independent of other operating System or application activities. Embedded Systemarchitekturen und Echtzeitbetriebssysteme 19

20 Soft Real-Time: It has reduces constraints on "Lateness", but still must operate quickly within foirly consistent time constraints. The response to the serviced events should be satisfactory, on average. Laufzeitverzögerungen (Latenzzeiten) durch Betriebssystemaufrufe müssen von dem Betriebssyste innerste Her genannt werden. Maximale Verzögerungszeiten müssen durch den Betriebssystem-Hersteller garantiert werden und im laufenden Betrieb eingehalten werden. Harte und weiche Echtzeit-Systeme Gegenüber weichen Echtzeit-Systemen müssen harte Echtzeit-Systeme eine höhere Zeit- Qualität erfüllen. Sie sind charakterisiert durch: Sie besitzen mindestens eine spezifizierte harte Echtzeitbedingung. Harte Echtzeibedingungen müssen unter allen Systembelastungen (auch bei Systemfehlern) eingehalten werden, ansonsten liegt ein Systemversagen vor (siehe Def. 1.6). Das Einhalten der Echtzeitbedingungen lässt sich trotz deterministischem Verhalten der Hardware, des Betriebssystems und der Applikationen nicht vollständig testen. Harte Echtzeitbedingungen haben keine Korrelation mit schneller Verarbeitung oder hoher Prozessor-Leistung. Harte Echtzeitbedingungen sind selten und treten in der Regel verkoppelt mit weichen Echtzeitbedingungen auf. Bei dem Design und der Bewertung von harten Echtzeitsystemen müssen nichtdeterministische Komponenten berücksichtigt werden: Gleichzeitigkeit Gleichzeitigkeit: Rechnersystem muss die Fähigkeit besitzen, mehrere gleichzeitig ablaufende Vorgänge eines Systems zu bearbeiten. Forderung kann durch parallel arbeitende Hardware-basierende Einheiten (Prozessoren, E/A-Einheiten, etc.) erfüllt werden. Forderung kann auch durch die nebenläufige Abarbeitung von Rechenprozessen auf einem Prozessor erfüllt werden. Hierbei müssen die Verarbeitungszeiten im Vergleich zu den Abläufen des technischen Prozesses klein sind (quasi-parallele Verarbeitung). Die Forderung nach Gleichzeitigkeit ergibt sich aus der Tatsache, dass Echtzeit- Rechensysteme auf Vorgänge in ihrer Umwelt reagieren müssen, die gleichzeitig ablaufen z.b.: Schienenverkehrssystem: ein Prozessrechensystem muss auf die gleichzeitige Fahrt mehrerer Züge reagieren und entsprechend die Weichenstellung vornehmen, d..h. gleichzeitig anfallende Meßwerte müssen erfaßt und ausgewertet werden, und ggf. müssen auch gleichzeitig mehrere Stellsignale ausgegeben werden. Embedded Systemarchitekturen und Echtzeitbetriebssysteme 20

21 Oder ein Beisp. Aus dem Betrieb eines Rechners: Hier möchte man gleichzeitig ein Programm editieren, (d. h. am Bildschirm eingeben, ändern etc.) und ein gleichzeitig ein Peripheriegerät (z.b. Drucker) betätigen. Der Prozessor muss so zwischen dem EditierProzess und dem Druckprozess ständig hin und her schalten. Wie lässt sich Gleichzeitigkeit herstellen? Am einfachsten durch einen getrennten Rechner (z.b. Hardware-Druckerboxen: Spooler). In diesem Fall arbeiten dann die Programme des so entstehenden Mehrrechner-Systems echt parallel und gleichzeitig. (NT: sehr teuer) Die Forderung nach Gleichzeitigkeit kann jedoch auch mit einem einzigen Computer näherungsweise erfüllt werden, wenn man voraussetzt, dass die Vorgänge in der Prozess- Umwelt langsam ablaufen gegenüber der Programmabarbeitung im Computer. Durch schnelles und intelligentes Umschalten in kurzen Zeitabständen gelingt es so gleichzeitig ablaufende Vorgänge in der Umwelt gleichzeitig zu bedienenen. Durch Verwendung eines Schedulers. Bild: Anforderungen an ein Echtzeit-Betriebssystem Vorhersehbarkeit (Determinismus) Vorhersehbarkeit: Das System-Verhalten muss auch bei zufällig anfallenden Ereignissen deterministisch und vorhersagbar sein. Bei gleichzeitigem Auftreten mehrerer Ereignisse, das zu einer Konkurrenzsituation bzgl. der Verarbeitung führt, muss das Verhalten bekannt und vorhersagbar sein. Die Bearbeitung der einzelnen Ereignisse darf nur in einer vorhersagbaren Form verzögert werden. Die Reaktionszeiten müssen weiterhin in den Rechtzeitigkeitsgrenzen liegen. Embedded Systemarchitekturen und Echtzeitbetriebssysteme 21

22 Nicht formal nachweisbar, wenn periodische Anforderungen (einplanbar) und unbekannte spontane Anforderungen (Signale, Alarme) gemischt auftreten. Logische und zeitliche Korrektheit einzelner Routinen reicht nicht aus, da Nebenläufigkeit und zufällige Verteilung von Ereignissen die Verifkationsmöglichkeiten beschränken. Analyse für den schlechtesten Fall (worst case), d. h. für maximal zu erwartende Signalraten, notwendig. Hierzu müssen die Programmlaufzeiten bekannt sein. 3. AUFBAUSTRUKUR VON EMBEDDED SYSTEMEN Hardware-Aufbaustruktur von Embedded Systemboards On Chip-Peripherie On Board Peripherie, Folie Komponentenaufbaustruktur Softwarekomponenten: EBS-Kernel 3.1. Embedded Systemarchitekturen - z. B. SoC - System on Chip - Grundsätzliche Ansatz für das Design einer generischen Aufbaustruktur - siehe Dissertation generischer Ansatz der Hardware-Aufbaustruktur - siehe Hardwareaufbaustrukturen im Messebuch Embedded Systems 2003/ Klassifikation von Hardwaresystemen - Designansätze: - Rein Hardwarebasierend mittels LCA, XPGAs etc. Mikroblaze etc. (siehe Berufungsvortrag an der FH Augsburg 2004), spezialisierte Hardware (Netzwerkprozessor) - Hardware und Softwarebasierend (Universal-Embedded Board, wie x-board, Tiny- Boards) - Kriterien für die Auswahl eines Embeddedboard (Kosten des Enticklungssystems, laufende Lizenzkosten, Time-to-market Entwicklungszeiten und -unterstützung, Leistungsfähigkeit (Benchmarking) etc Vergleich Mikrocontroller versus Mikroprozessor µc Chip Includes: Central Processor Program Memory Data Memory µp Chip Includes: Central Processor Separate Chips for: Central Processor Embedded Systemarchitekturen und Echtzeitbetriebssysteme 22

23 I/O Highly Integrated Low Cost Specialized Architectures Program Memory Data Memory I/O Highest Performance Highest Cost Bild: µcontroller versus µprozessor Bild: Bus orientierter Mikrocontroller, typischer Aufbau eines µcontrollers Embedded Systemarchitekturen und Echtzeitbetriebssysteme 23

24 Bild: Memory Read/Write Cycle Vor- und Nachteile von Single Chip Mikrocontrollern Advantages: Fewer chips required Lower cost and smaller Lower power Fewer connections More user I/O pins Reliability is higher Disadvantages: Reduced flexibility Expansion is limited Limited performance Limited I/O Design compromised to fit everything on one chip 3.3. Hauptfunktionskomponenten eines Embedded Systems Der Hardware-Core: Mikrocontroller Mikrocontroller-OnChip Funktionseinheiten - Digitale I/O - Standard I/O - Capture- and Compare-Einheiten - PWM (Pulsweitenmodulierte Ausgänge) - Analoge I/O - AD/DA-Wandler - RS232-asynchrone und synchrone Einheiten Embedded Systemarchitekturen und Echtzeitbetriebssysteme 24

25 Das Interrupt-System (siehe Unterlagen Dr. Jacob) - Interruptcontroller - Daisy-Chain - Mechanismus Interruptleitung, Interruptvektor und Interruptserviceroutine (ISR) Das Speichersystem - Speicherarten -> siehe Berufungsvortrag an der FH Augsburg - Flash-Speicher, z.b. für Images und Disklesssysteme - EPROM - DRAMs, SRAMs etc. Kommunikationsadapter - Digitale Chip-to-Chip-Bussysteme (I2C, SPI etc.) - Ethernet-Controller (Dallas D800C40 etc.) - Feldbus-Controller (Aufbau und Schnittstelle zum Mikrocontroller) - Ggf. USB, Wireless etc. Signalkonditionierung - Bsp. Signal-Conditioning--AD7710.pdf Bsp. Board Board aus dem Praktikum - Universal-Boards (Tiny, x-boards, Board im Automobilbereich für den Embeddedbereich etc.) - Router-Board - Settop-Box Board CPU MCU (MCU = CPU mit On-Chip Peripherie) On-Board Peripherie Schnittstellen Watchdog Diagnosemöglichkeiten mittels JTAG Memory Map eines Embedded Systems Embedded Systemarchitekturen und Echtzeitbetriebssysteme 25

26 Bild: MSP430x44x functional block diagrams Zentraleinheit Die Zentraleinheit (Central Processing Unit CPU) stellt den Rechnerkern dar, um den sich alles dreht. Sie realisiert die Ablaufsteuerung des Rechners selbst, die Durchführung arithmetischlogischer Operationen, den Transfer von Daten und den Ablauf des Programms. Bei der Familie MSP430 handelt es sich um eine 16-Bit-RISC-CPU mit verschiedenen universellen Registern, einem breiten Spektrum an Adressierarten, einem kleinen, aber flexiblen Befehlssatz, alles ausgelegt auf hohe Leistung bei besonders kleinem Stromverbrauch. Zum Test des gesamten Systems und zur Programmierung ist die CPU von einer JTAG- Schnittstelle umgeben, die es erlaubt, auf den gesamten Mikrocontroller mit nur vier Leitungen effektiv zuzugreifen. Peripherieeinheiten Die Familie MSP430 zeichnet sich durch eine breite Palette intelligenter und voneinander und von der CPU weitestgehend unabhängiger Peripherie aus, die die Realisierung komplexer Systeme mit nur geringer externer Beschaltung erlaubt. Die Peripherie ist in Modulen realisiert, die mit der CPU durch den Speicheradressbus MAB, den Speicherdatenbus MDB und Unterbrechungsdienst- und -anforderungsleitungen verbunden sind. Die Befehlsausführung bei 16-Bit-Modulen arbeitet ohne Einschränkungen (Watchdog, ADC, TIMER A, Hardware-Multiplier). Die 8 bit-peripheriemodule sind byteorientiert. Ihre SFR s werden ausnahmslos mit einem Datenbereich von 8 Bit betrieben. Embedded Systemarchitekturen und Echtzeitbetriebssysteme 26

27 "On chip"-hardwaremodule "On-board"-Hardwaremodule a) Bild: Komponentenmodell eines mikrocontrollergestützten Embedded Systems Komponente - Technologie - Gehäusety p - Taktrate - etc. Klassenschema AD Analog IOs - Adreßraum - Basisad res se - Memor y-mapp ed -... Binär DA PWM Port HSI HSO Memory - Adreßraum - Basisad res se - Datenwortbreite - Pr ogrammierausführun g -... EPROM ROM Flash, EEPROM RAM Memory- Controller SW-Timer - Reloaded - INT -... Timer - max. Zählerwert - Up /Down -... HW-Timer - ext./int.trigger - Gated -... Interface - Adreßraum - Basisad resse - Memor y-mapp ed - INT -... Protokoll CAN Kommunikations- Controller Protokoll ProfiBus Protokoll SERCOS Elementarglied - Name - Schnittstelle -... Sensor Aktor Capture- Compare-Timer Temp. Druck v Ventil Relais b) Tre ib e r (Verstä rker,puffer) Objektschema DAU Vc c Vb a t Vp rgm ADU PWM Vref Power-Control Wa tchd o g Re set Vra m 64 kbyte RAM 64 kbyte EPROM 64 kbyte FEPROM PIO HSO HSI Register Fil e Control Signal-Mikrocontroller (Singl-Chip-Controller) Interrupt / PTS Controller ALU Blo c k Control Blo c k HW-Timer 2 HW-Timer 1 24 bit Adressbus 16 bit Dat enbus St euerbus V24 16 Mhz In terfa c e Feld bus (z. B. CAN) Memory Controller (EPLD) 24 Mhz RS485 Bild: Klassenschema und Objektscheme zur topologischen Modellierung eines Embedded Systems Embedded Systemarchitekturen und Echtzeitbetriebssysteme 27

28 Feldbus MANAGEMENT MANAGEMENT FUNKTIONS- -DIAGNOSE- P ROJEKT- PROJEK- TIERUNG SIMUL. KOORDINATION KONFIGURATION? WINDOWS DOS BIOS MAIN PROCESSOR FBC COMMUNI_TASK PROCESS_TASK1?? RTM- Kernel SYSTEM CALL INTERFACE INIT_RTM MCU FBC COMMUNI_TASK PROCESS_TASK1?? RTM- Kernel SYSTEM CALL INTERFACE INIT_RTM MCU Legende: MCU- Mikrocontroller Unit FBC - Fieldbus Controller FBC Bild: Komponenten eines verteilten intelligenten Sensor-/Aktorsystems Embedded Systemarchitekturen und Echtzeitbetriebssysteme 28

29 Mikrocontrollerfamilien (Auswahl) Bild: 80C552/83C552 - Single-chip 8-bit microcontroller with 10-bit A/D, capture/compare timer, high-speed outputs, PWM Embedded Systemarchitekturen und Echtzeitbetriebssysteme 29

30 Mikrocontroller mit CAN-Interface Bild: Typische Struktur von CAN-Knoten Bild: C164CI - CAN-Schnittstelle Embedded Systemarchitekturen und Echtzeitbetriebssysteme 30

31 AT90CAN128 Bild: Block Diagram AT90CAN128 Embedded Systemarchitekturen und Echtzeitbetriebssysteme 31

32 Soft CPU Cores for FPGA Soft CPU cores are usually used to create an FPGA-based system-on-chip (SoC). In this case a CPU core controls the work of the circuit and does some random calculations, and the other parts of the circuit are responsible for interfacing and parallel processing. Hard vs Soft CPU Cores There are two types of CPU cores for FPGA: hard and soft. Hard CPU core is a dedicated part of the integrated circuit, whereas soft CPU core is implemented utilizing general-purpose FPGA logic cells. Embedded Systemarchitekturen und Echtzeitbetriebssysteme 32

33 Bild: Block Diagram AT90CAN128 PSoC Mixed-Signal Array The PSoC family consists of many Mixed-Signal Array with On-Chip Controller devices. These devices are designed to replace multiple traditional MCU-based system components with one, low cost single-chip programmable component. A PSoC device includes configurable blocks of analog and digital logic, as well as programmable interconnect. This architecture allows the user to create customized peripheral configurations, to match the requirements of each individual application. Additionally, a fast CPU, Flash program memory, SRAM data memory, and configurable IO are included in a range of convenient pinouts. Bild: Block Diagram Cypress PSoC TM CY8C21434 Embedded Systemarchitekturen und Echtzeitbetriebssysteme 33

34 Bild: Digital System Block Diagram Embedded Systemarchitekturen und Echtzeitbetriebssysteme 34

35 Bild: Analog System Block Diagram Embedded Systemarchitekturen und Echtzeitbetriebssysteme 35

36 Weitere Mikrocontrollerfamilien 3.4. Beurteilungskriterien für die Auswahl eines Mikrocomputersystems Datenformat (4, 8, 16, 32 bit) Befehlsvorrat, Adressierungsmöglichkeiten CPU-Struktur Mikroprogrammierbarkeit Geschwindigkeit Interrupt - Möglichkeiten Schnittstelleneigenschaften Speicherkonzept Versorgungsspannung Verfügbarkeit von Bausteinen Sicherung der Lieferfähigkeit (Zweitlieferant), Zukunftssicherheit des Systems Zusatz-Hard- und Software für Systementwicklung, Tool-Chain Unterstützung durch den Hersteller Dokumentations-und Ausbildungsangebot Preis Embedded Systemarchitekturen und Echtzeitbetriebssysteme 36

37 Auswahl geeigneter Mikrocontroller - Bsp. TI MSP430 Bild: Mikrocontroller- Derivate am Beispiel der MSP430 Roadmap Bild: MSP430 Roadmap (Bsp) Embedded Systemarchitekturen und Echtzeitbetriebssysteme 37

38 Bild: Positionierung der Microkontrollerfamilie MSP430 (1) Bild: Positionierung der Microkontrollerfamilie MSP430 (2) Embedded Systemarchitekturen und Echtzeitbetriebssysteme 38

39 Bild: MSP430 Mikrocontrollerfamilie (8MHz), Quelle: MSP430-slab034j.pdf Bild: MSP430 Mikrocontrollerfamilie (16 MHz), Quelle: MSP430-slab034j.pdf -> TI Product Selection Webseite Embedded Systemarchitekturen und Echtzeitbetriebssysteme 39

40 -T- GSPA_T&sectionId=95&tabId=1200&appId=null&viewDeviceCallingPage=null&totalCount=1 00&showAdditionalParameters=yes&lc= &lc= &lc= &lc= &lc= &lc= &lc= &compare=yes&download=yes&sort=yes&customize=yes &paramresults=yes&paramcriteria=yes&familytree=yes&military=no&basystem=yes&para mtable=no&sortoption=&sortmode=&searchpaths= &pageid=342&templateid=0&na vigationid=0&family=mcu&paramtable=no&military=no&ul=msp430fw427&ul=msp430fw 425&ul=MSP430FW423&ul=MSP430FG4619&ul=MSP430FG4618&ul=MSP430FG4617&ul= MSP430FG4616&ul=MSP430FG439&ul=MSP430FG438&ul=MSP430FG437&&uiTemplateId =PP-T-GSPA_T&sectionId=95&tabId=1200&appId=null&viewDeviceCallingPage=null#sdp -> siehe auch Product Selection Guide TI MSP430.xls Embedded Systemarchitekturen und Echtzeitbetriebssysteme 40

41 -> µc-familie am Bsp von MSP430, siehe pdf-files von TI OTP-Chip (One-Time-Programmable Embedded Systemarchitekturen und Echtzeitbetriebssysteme 41

42 3.5. Der Adressraum der MSP430-Mikrocontrollerfamilie Die MSP430-Familie arbeitet nur über einen Adressraum, der auf eine Adressbreite von 16 Bit festgelegt ist. Dieser Adressraum umfasst alle Spezialregister der CPU und der weiteren im Chip integrierten peripheren Module, den Schreib-Lese-Speicher, der zur Aufnahme des Stapelspeichers (Stack), variabler Daten und Programme verwendet wird, den Programmspeicher leere Bereiche ohne Speicher Interruptvektoren in einem 16-Bit-Bereich, also den Adressen zwischen 0 und 0FFFFH bzw. 0 bis dezimal. Bild: Blockschaltbild MSP430 Embedded Systemarchitekturen und Echtzeitbetriebssysteme 42

43 Bild: Feature List MSP430x43x und MSP430x44x Bild: MSP430x44x Speicherorganisation (memory map) Damit sind dieselben Befehle zur Speicherbearbeitung, für Peripherieaktivitäten und für Ein-/Ausgabeoperationen zuständig, und das mit allen Adressierungsarten. Embedded Systemarchitekturen und Echtzeitbetriebssysteme 43

44 In Zukunft soll der Speicher durch segmentierte Speicherblöcke erweitert werden. Dazu werden im Statusregister die führenden Adressbits von Codesegmenten (Programmsegmenten) als Codesegmentzeiger (Code Segment Pointer CSP) und getrennt davon ein Teil der Datenadresse als Datenzeiger (Data Pointer DPP) gespeichert. Separate Memory Address Spaces für Programme - Non-volatile (nichtflüchtig, permanent) Internal ROM External EPROM Daten - Volatile External SRAM Internal RAM o General Purpose Registers o Bit Addressable Registers o Special Function Registers MSP430 Memory Map im Detail Memory Address 0FFE0h 0FFFFh Description Interrupt Vectors 0FFDFh End of code space - All device 0F800h 0F000h 0E000h 0D000h 0C000h 0A000h 08000h 04000h 01100h Start of code space - 2K device Start of code space - 4K device Start of code space - 8K device Start of code space - 12K device Start of code space - 16K device Start of code space - 24K device Start of code space - 32K device Start of code space - 48K device Start of code space - 60K device Embedded Systemarchitekturen und Echtzeitbetriebssysteme 44

45 010FFh 0107Fh 01000h End of Information Memory: Flash devices except 'F110 and 'F1101 End of Information Memory: 'F110 and 'F1101 Start of Information Memory: Flash devices only 0FFFh 0C00h End of Boot Memory: Flash devices only Start of Boot Memory: Flash devices only 09FFh 05FFh 03FFh 02FFh 027Fh 0200h End of RAM-2k devices End of RAM-1k devices End of RAM-512 byte devices End of RAM-256 byte devices End of RAM-128 byte devices Start of RAM-All devices 01B0h 01FFh 01A0h 01AFh 0160h 017Fh 0140h 015Fh 0130h 013Fh 0110h 011Fh 0100h 010Fh 00B0h 00FFh 0090h 00AFh 0080h 008Fh 0070h 007Fh 0060h 006Fh 0050h 005Fh 0040h 004Fh 0030h 003Fh 0020h 002Fh Unused (All devices) ADC Control ('1xx and '4xx devices) / Unused ('3xx devices) Timer A (All devices) ADC Conversion ('1xx and '4xx devices) / Unused ('3xx devices) Multiplier (All devices) ADC ('3xx devices) / Unused ('1xx and '4xx devices) Unused (All devices) Unused (All devices) LCD (Byte addressed, '4xx devices) / Unused ('1xx and '3xx devices) ADC memory control (Byte addressed, '1xx and '4xx devices) / Unused ('3xx devices) USART (Byte addressed, All devices) Unused (All devices) System Clock (Byte addressable, All devices) / Comparator ('1xx and '4xx devices) / Brownout ('4xx devices) / EPROM and crystal buffer ('3xx devices) Basic Timer and 8-bit Counter (Byte addressable, '3xx and '4xx devices) / Unused ('1xx devices) I/O ports 5 and 6 control (Byte addressable, '1xx and '4xx devices) / LCD (Byte addressable, '3xx devices) I/O ports 1 and 2 control (Byte addressable, All devices) Embedded Systemarchitekturen und Echtzeitbetriebssysteme 45

46 0010h 001Fh 0006h 000Fh 0005h 0004h 0003h 0002h 0001h 0000h I/O ports 3 and 4 control (Byte addressable, All devices), I/O port 0 (Byte addressable, '3xx devices) Unused (All devices) Module Enables 2 (Byte Addressable, all devices) Module Enables 1(Byte Addressable, all devices) Interrupt Flags 2 (Byte Addressable, all devices) Interrupt Flags 1 (Byte Addressable, all devices) Interrupt Enables 2 (Byte Addressable, all devices) Interrupt Enables 1 (Byte Addressable, all devices) Bild: Memory Map (detailliert) All die physikalisch getrennten Speicherbereiche, sowohl die internen Bereiche mit Festwertspeicher (ROM,..), Schreib-/Lesespeicher (RAM,..), Spezialregistern (SFR) und Peripheriemodulen, als auch -wenn vorhanden- die externen Bereiche sind in einem einzigen Adressraum positioniert (mapped). Für alle Prozessoren mit einer maximalen Größe des Adressraumes von 64 kbyte ( Bytes), gilt das kleine Speichermodell (small memory model). Dieses Speichermodell benutzt einen eindimensionalen linearen Adressraum mit Adressen von Null (00000h) bis (0FFFFh) Das Device Description File msp430f449.ddf ;;/************************************************** ;; * Definitions of I/O register description file, ;; * interrupt/exception vectors, interrupt control registers, ;; * I/O register reset values. ;; * ;; * Copyright IAR Systems. All rights reserved. ;; * $Revision: 1.9 $ ;; **************************************************/ ;; Memory information ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; Used to define address zones within the MSP430 address space (Memory). ;; ;; Name may be almost anything ;; AdrSpace must be Memory ;; StartAdr start of memory block ;; EndAdr end of memory block ;; AccType type of access, read-only (R) or read-write (RW) [Memory] ;; Name AdrSpace StartAdr EndAdr AccType Memory0 = SFR Memory 0x0000 0x01FF RW Memory1 = RAM Memory 0x0200 0x09FF RW Memory2 = INFO Memory 0x1000 0x10FF R Memory3 = FLASH Memory 0x1100 0xFFDF R Embedded Systemarchitekturen und Echtzeitbetriebssysteme 46

47 ;; I/O Register description file ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; [SfrInclude] File = MSP430F449.sfr ;; Interrupt definitions ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; [InterruptList] ; Id Table Adr Prio Enable Pending Interrupt0 = BASICTIMER_VECTOR 0x00 2 IE2.BTIE IFG2.BTIFG Interrupt1 = PORT2_VECTOR 0x02 2 P2IE.P2IE_0 P2IFG.P2IFG_0 Interrupt2 = PORT2_VECTOR 0x02 2 P2IE.P2IE_1 P2IFG.P2IFG_1 Interrupt3 = PORT2_VECTOR 0x02 2 P2IE.P2IE_2 P2IFG.P2IFG_2 Interrupt4 = PORT2_VECTOR 0x02 2 P2IE.P2IE_3 P2IFG.P2IFG_3 Interrupt5 = PORT2_VECTOR 0x02 2 P2IE.P2IE_4 P2IFG.P2IFG_4 Interrupt6 = PORT2_VECTOR 0x02 2 P2IE.P2IE_5 P2IFG.P2IFG_5 Interrupt7 = PORT2_VECTOR 0x02 2 P2IE.P2IE_6 P2IFG.P2IFG_6 Interrupt8 = PORT2_VECTOR 0x02 2 P2IE.P2IE_7 P2IFG.P2IFG_7 Interrupt9 = USART1TX_VECTOR 0x04 2 IE2.UTXIE1 IFG2.UTXIFG1 Interrupt10 = USART1RX_VECTOR 0x06 2 IE2.URXIE1 IFG2.URXIFG1 Interrupt11 = PORT1_VECTOR 0x08 2 P1IE.P1IE_0 P1IFG.P1IFG_0 Interrupt12 = PORT1_VECTOR 0x08 2 P1IE.P1IE_1 P1IFG.P1IFG_1 Interrupt13 = PORT1_VECTOR 0x08 2 P1IE.P1IE_2 P1IFG.P1IFG_2 Interrupt14 = PORT1_VECTOR 0x08 2 P1IE.P1IE_3 P1IFG.P1IFG_3 Interrupt15 = PORT1_VECTOR 0x08 2 P1IE.P1IE_4 P1IFG.P1IFG_4 Interrupt16 = PORT1_VECTOR 0x08 2 P1IE.P1IE_5 P1IFG.P1IFG_5 Interrupt17 = PORT1_VECTOR 0x08 2 P1IE.P1IE_6 P1IFG.P1IFG_6 Interrupt18 = PORT1_VECTOR 0x08 2 P1IE.P1IE_7 P1IFG.P1IFG_7 Interrupt19 = TIMERA1_VECTOR 0x0A 2 TACCTL1.CCIE TACCTL1.CCIFG Interrupt20 = TIMERA1_VECTOR 0x0A 2 TACCTL2.CCIE TACCTL2.CCIFG Interrupt21 = TIMERA1_VECTOR 0x0A 2 TACTL.TAIE TACTL.TAIFG Interrupt22 = TIMERA0_VECTOR 0x0C 2 TACCTL0.CCIE TACCTL0.CCIFG Interrupt23 = ADC_VECTOR 0x0E 2 ADC12IE ADC12IFG Interrupt24 = USART0TX_VECTOR 0x10 2 IE1.UTXIE0 IFG1.UTXIFG0 Interrupt25 = USART0RX_VECTOR 0x12 2 IE1.URXIE0 IFG1.URXIFG0 Interrupt26 = WDT_VECTOR 0x14 2 IE1.WDTIE IFG1.WDTIFG Interrupt27 = COMPARATORA_VECTOR 0x16 2 CACTL1.CAIE CACTL1.CAIFG Interrupt28 = TIMERB1_VECTOR 0x18 2 TBCCTL1.CCIE TBCCTL1.CCIFG Interrupt29 = TIMERB1_VECTOR 0x18 2 TBCCTL2.CCIE TBCCTL2.CCIFG Interrupt30 = TIMERB1_VECTOR 0x18 2 TBCCTL3.CCIE TBCCTL3.CCIFG Interrupt31 = TIMERB1_VECTOR 0x18 2 TBCCTL4.CCIE TBCCTL4.CCIFG Interrupt32 = TIMERB1_VECTOR 0x18 2 TBCCTL5.CCIE TBCCTL5.CCIFG Interrupt33 = TIMERB1_VECTOR 0x18 2 TBCCTL6.CCIE TBCCTL6.CCIFG Interrupt34 = TIMERB1_VECTOR 0x18 2 TBCTL.TBIE TBCTL.TBIFG Interrupt35 = TIMERB0_VECTOR 0x1A 2 TBCCTL0.CCIE TBCCTL0.CCIFG Interrupt36 = NMI_VECTOR 0x1C 2 IE1.OFIE IFG1.NMIIFG Interrupt37 = RESET_VECTOR 0x1E 1 ;; End of file Das Special Function Register File msp430f449.sfr ;; ;; Definitions of peripheral I/O registers and bits ;; Copyright IAR Systems. All rights reserved. ;; $Revision: 1.12 $ ;; [Sfr] ;; Special Function sfr = "IE1", sfr = "IE1.WDTIE", sfr = "IE1.OFIE", "Memory", 0x0000, 1, base=16 "Memory", 0x0000, 1, base=16, bitrange=0 "Memory", 0x0000, 1, base=16, bitrange=1 Embedded Systemarchitekturen und Echtzeitbetriebssysteme 47

48 sfr = "IE1.NMIIE", sfr = "IE1.ACCVIE", sfr = "IE1.URXIE0", sfr = "IE1.UTXIE0", sfr = "U0IE", sfr = "IFG1", sfr = "IFG1.WDTIFG", sfr = "IFG1.OFIFG", sfr = "IFG1.NMIIFG", sfr = "IFG1.URXIFG0", sfr = "IFG1.UTXIFG0", sfr = "U0IFG", sfr = "ME1", sfr = "ME1.URXE0", sfr = "ME1.UTXE0", sfr = "U0ME", sfr = "U0ME.USPIE0", sfr = "IE2", sfr = "IE2.URXIE1", sfr = "IE2.UTXIE1", sfr = "IE2.BTIE", sfr = "U1IE", sfr = "IFG2", sfr = "IFG2.URXIFG1", sfr = "IFG2.UTXIFG1", sfr = "IFG2.BTIFG", sfr = "U1IFG", sfr = "ME2", sfr = "ME2.URXE1", sfr = "ME2.UTXE1", sfr = "U1ME", sfr = "U1ME.USPIE1", ;; Watchdog Timer sfr = "WDTCTL", sfr = "WDTCTL.WDTIS0", sfr = "WDTCTL.WDTIS1", sfr = "WDTCTL.WDTSSEL", sfr = "WDTCTL.WDTCNTCL", sfr = "WDTCTL.WDTTMSEL", sfr = "WDTCTL.WDTNMI", sfr = "WDTCTL.WDTNMIES", sfr = "WDTCTL.WDTHOLD", ;; Hardware Multiplier sfr = "MPY", sfr = "MPYS", sfr = "MAC", sfr = "MACS", sfr = "OP2", sfr = "RESLO", sfr = "RESHI", "Memory", 0x0000, 1, base=16, bitrange=4 "Memory", 0x0000, 1, base=16, bitrange=5 "Memory", 0x0000, 1, base=16, bitrange=6 "Memory", 0x0000, 1, base=16, bitrange=7 "Memory", 0x0000, 1, base=16 "Memory", 0x0002, 1, base=16 "Memory", 0x0002, 1, base=16, bitrange=0 "Memory", 0x0002, 1, base=16, bitrange=1 "Memory", 0x0002, 1, base=16, bitrange=4 "Memory", 0x0002, 1, base=16, bitrange=6 "Memory", 0x0002, 1, base=16, bitrange=7 "Memory", 0x0002, 1, base=16 "Memory", 0x0004, 1, base=16 "Memory", 0x0004, 1, base=16, bitrange=6 "Memory", 0x0004, 1, base=16, bitrange=7 "Memory", 0x0004, 1, base=16 "Memory", 0x0004, 1, base=16, bitrange=6 "Memory", 0x0001, 1, base=16 "Memory", 0x0001, 1, base=16, bitrange=4 "Memory", 0x0001, 1, base=16, bitrange=5 "Memory", 0x0001, 1, base=16, bitrange=7 "Memory", 0x0001, 1, base=16 "Memory", 0x0003, 1, base=16 "Memory", 0x0003, 1, base=16, bitrange=4 "Memory", 0x0003, 1, base=16, bitrange=5 "Memory", 0x0003, 1, base=16, bitrange=7 "Memory", 0x0003, 1, base=16 "Memory", 0x0005, 1, base=16 "Memory", 0x0005, 1, base=16, bitrange=6 "Memory", 0x0005, 1, base=16, bitrange=7 "Memory", 0x0005, 1, base=16 "Memory", 0x0005, 1, base=16, bitrange=6 "Memory", 0x0120, 2, base=16 "Memory", 0x0120, 2, base=16, bitrange=0 "Memory", 0x0120, 2, base=16, bitrange=1 "Memory", 0x0120, 2, base=16, bitrange=2 "Memory", 0x0120, 2, base=16, bitrange=3 "Memory", 0x0120, 2, base=16, bitrange=4 "Memory", 0x0120, 2, base=16, bitrange=5 "Memory", 0x0120, 2, base=16, bitrange=6 "Memory", 0x0120, 2, base=16, bitrange=7 "Memory", 0x0130, 2, base=16 "Memory", 0x0132, 2, base=16 "Memory", 0x0134, 2, base=16 "Memory", 0x0136, 2, base=16 "Memory", 0x0138, 2, base=16 "Memory", 0x013A, 2, base=16 "Memory", 0x013C, 2, base=16 Embedded Systemarchitekturen und Echtzeitbetriebssysteme 48

49 sfr = "SUMEXT", ;; Digital I/O Port1/2 sfr = "P1IN", sfr = "P1IN.P1IN_0", sfr = "P1IN.P1IN_1", sfr = "P1IN.P1IN_2", sfr = "P1IN.P1IN_3", sfr = "P1IN.P1IN_4", sfr = "P1IN.P1IN_5", sfr = "P1IN.P1IN_6", sfr = "P1IN.P1IN_7", sfr = "P1OUT", sfr = "P1OUT.P1OUT_0", sfr = "P1OUT.P1OUT_1", sfr = "P1OUT.P1OUT_2", sfr = "P1OUT.P1OUT_3", sfr = "P1OUT.P1OUT_4", sfr = "P1OUT.P1OUT_5", sfr = "P1OUT.P1OUT_6", sfr = "P1OUT.P1OUT_7", sfr = "P1DIR", sfr = "P1DIR.P1DIR_0", sfr = "P1DIR.P1DIR_1", sfr = "P1DIR.P1DIR_2", sfr = "P1DIR.P1DIR_3", sfr = "P1DIR.P1DIR_4", sfr = "P1DIR.P1DIR_5", sfr = "P1DIR.P1DIR_6", sfr = "P1DIR.P1DIR_7", sfr = "P1IFG", sfr = "P1IFG.P1IFG_0", sfr = "P1IFG.P1IFG_1", sfr = "P1IFG.P1IFG_2", sfr = "P1IFG.P1IFG_3", sfr = "P1IFG.P1IFG_4", sfr = "P1IFG.P1IFG_5", sfr = "P1IFG.P1IFG_6", sfr = "P1IFG.P1IFG_7", sfr = "P1IES", sfr = "P1IES.P1IES_0", sfr = "P1IES.P1IES_1", sfr = "P1IES.P1IES_2", sfr = "P1IES.P1IES_3", sfr = "P1IES.P1IES_4", sfr = "P1IES.P1IES_5", sfr = "P1IES.P1IES_6", sfr = "P1IES.P1IES_7", sfr = "P1IE", sfr = "P1IE.P1IE_0", sfr = "P1IE.P1IE_1", sfr = "P1IE.P1IE_2", sfr = "P1IE.P1IE_3", sfr = "P1IE.P1IE_4", sfr = "P1IE.P1IE_5", sfr = "P1IE.P1IE_6", sfr = "P1IE.P1IE_7", "Memory", 0x013E, 2, base=16 "Memory", 0x0020, 1, base=16 "Memory", 0x0020, 1, base=16, bitrange=0 "Memory", 0x0020, 1, base=16, bitrange=1 "Memory", 0x0020, 1, base=16, bitrange=2 "Memory", 0x0020, 1, base=16, bitrange=3 "Memory", 0x0020, 1, base=16, bitrange=4 "Memory", 0x0020, 1, base=16, bitrange=5 "Memory", 0x0020, 1, base=16, bitrange=6 "Memory", 0x0020, 1, base=16, bitrange=7 "Memory", 0x0021, 1, base=16 "Memory", 0x0021, 1, base=16, bitrange=0 "Memory", 0x0021, 1, base=16, bitrange=1 "Memory", 0x0021, 1, base=16, bitrange=2 "Memory", 0x0021, 1, base=16, bitrange=3 "Memory", 0x0021, 1, base=16, bitrange=4 "Memory", 0x0021, 1, base=16, bitrange=5 "Memory", 0x0021, 1, base=16, bitrange=6 "Memory", 0x0021, 1, base=16, bitrange=7 "Memory", 0x0022, 1, base=16 "Memory", 0x0022, 1, base=16, bitrange=0 "Memory", 0x0022, 1, base=16, bitrange=1 "Memory", 0x0022, 1, base=16, bitrange=2 "Memory", 0x0022, 1, base=16, bitrange=3 "Memory", 0x0022, 1, base=16, bitrange=4 "Memory", 0x0022, 1, base=16, bitrange=5 "Memory", 0x0022, 1, base=16, bitrange=6 "Memory", 0x0022, 1, base=16, bitrange=7 "Memory", 0x0023, 1, base=16 "Memory", 0x0023, 1, base=16, bitrange=0 "Memory", 0x0023, 1, base=16, bitrange=1 "Memory", 0x0023, 1, base=16, bitrange=2 "Memory", 0x0023, 1, base=16, bitrange=3 "Memory", 0x0023, 1, base=16, bitrange=4 "Memory", 0x0023, 1, base=16, bitrange=5 "Memory", 0x0023, 1, base=16, bitrange=6 "Memory", 0x0023, 1, base=16, bitrange=7 "Memory", 0x0024, 1, base=16 "Memory", 0x0024, 1, base=16, bitrange=0 "Memory", 0x0024, 1, base=16, bitrange=1 "Memory", 0x0024, 1, base=16, bitrange=2 "Memory", 0x0024, 1, base=16, bitrange=3 "Memory", 0x0024, 1, base=16, bitrange=4 "Memory", 0x0024, 1, base=16, bitrange=5 "Memory", 0x0024, 1, base=16, bitrange=6 "Memory", 0x0024, 1, base=16, bitrange=7 "Memory", 0x0025, 1, base=16 "Memory", 0x0025, 1, base=16, bitrange=0 "Memory", 0x0025, 1, base=16, bitrange=1 "Memory", 0x0025, 1, base=16, bitrange=2 "Memory", 0x0025, 1, base=16, bitrange=3 "Memory", 0x0025, 1, base=16, bitrange=4 "Memory", 0x0025, 1, base=16, bitrange=5 "Memory", 0x0025, 1, base=16, bitrange=6 "Memory", 0x0025, 1, base=16, bitrange=7 Embedded Systemarchitekturen und Echtzeitbetriebssysteme 49

50 sfr = "P1SEL", sfr = "P1SEL.P1SEL_0", sfr = "P1SEL.P1SEL_1", sfr = "P1SEL.P1SEL_2", sfr = "P1SEL.P1SEL_3", sfr = "P1SEL.P1SEL_4", sfr = "P1SEL.P1SEL_5", sfr = "P1SEL.P1SEL_6", sfr = "P1SEL.P1SEL_7", sfr = "P2IN", sfr = "P2IN.P2IN_0", sfr = "P2IN.P2IN_1", sfr = "P2IN.P2IN_2", sfr = "P2IN.P2IN_3", sfr = "P2IN.P2IN_4", sfr = "P2IN.P2IN_5", sfr = "P2IN.P2IN_6", sfr = "P2IN.P2IN_7", sfr = "P2OUT", sfr = "P2OUT.P2OUT_0", sfr = "P2OUT.P2OUT_1", sfr = "P2OUT.P2OUT_2", sfr = "P2OUT.P2OUT_3", sfr = "P2OUT.P2OUT_4", sfr = "P2OUT.P2OUT_5", sfr = "P2OUT.P2OUT_6", sfr = "P2OUT.P2OUT_7", sfr = "P2DIR", sfr = "P2DIR.P2DIR_0", sfr = "P2DIR.P2DIR_1", sfr = "P2DIR.P2DIR_2", sfr = "P2DIR.P2DIR_3", sfr = "P2DIR.P2DIR_4", sfr = "P2DIR.P2DIR_5", sfr = "P2DIR.P2DIR_6", sfr = "P2DIR.P2DIR_7", sfr = "P2IFG", sfr = "P2IFG.P2IFG_0", sfr = "P2IFG.P2IFG_1", sfr = "P2IFG.P2IFG_2", sfr = "P2IFG.P2IFG_3", sfr = "P2IFG.P2IFG_4", sfr = "P2IFG.P2IFG_5", sfr = "P2IFG.P2IFG_6", sfr = "P2IFG.P2IFG_7", sfr = "P2IES", sfr = "P2IES.P2IES_0", sfr = "P2IES.P2IES_1", sfr = "P2IES.P2IES_2", sfr = "P2IES.P2IES_3", sfr = "P2IES.P2IES_4", sfr = "P2IES.P2IES_5", sfr = "P2IES.P2IES_6", sfr = "P2IES.P2IES_7", sfr = "P2IE", sfr = "P2IE.P2IE_0", sfr = "P2IE.P2IE_1", "Memory", 0x0026, 1, base=16 "Memory", 0x0026, 1, base=16, bitrange=0 "Memory", 0x0026, 1, base=16, bitrange=1 "Memory", 0x0026, 1, base=16, bitrange=2 "Memory", 0x0026, 1, base=16, bitrange=3 "Memory", 0x0026, 1, base=16, bitrange=4 "Memory", 0x0026, 1, base=16, bitrange=5 "Memory", 0x0026, 1, base=16, bitrange=6 "Memory", 0x0026, 1, base=16, bitrange=7 "Memory", 0x0028, 1, base=16 "Memory", 0x0028, 1, base=16, bitrange=0 "Memory", 0x0028, 1, base=16, bitrange=1 "Memory", 0x0028, 1, base=16, bitrange=2 "Memory", 0x0028, 1, base=16, bitrange=3 "Memory", 0x0028, 1, base=16, bitrange=4 "Memory", 0x0028, 1, base=16, bitrange=5 "Memory", 0x0028, 1, base=16, bitrange=6 "Memory", 0x0028, 1, base=16, bitrange=7 "Memory", 0x0029, 1, base=16 "Memory", 0x0029, 1, base=16, bitrange=0 "Memory", 0x0029, 1, base=16, bitrange=1 "Memory", 0x0029, 1, base=16, bitrange=2 "Memory", 0x0029, 1, base=16, bitrange=3 "Memory", 0x0029, 1, base=16, bitrange=4 "Memory", 0x0029, 1, base=16, bitrange=5 "Memory", 0x0029, 1, base=16, bitrange=6 "Memory", 0x0029, 1, base=16, bitrange=7 "Memory", 0x002A, 1, base=16 "Memory", 0x002A, 1, base=16, bitrange=0 "Memory", 0x002A, 1, base=16, bitrange=1 "Memory", 0x002A, 1, base=16, bitrange=2 "Memory", 0x002A, 1, base=16, bitrange=3 "Memory", 0x002A, 1, base=16, bitrange=4 "Memory", 0x002A, 1, base=16, bitrange=5 "Memory", 0x002A, 1, base=16, bitrange=6 "Memory", 0x002A, 1, base=16, bitrange=7 "Memory", 0x002B, 1, base=16 "Memory", 0x002B, 1, base=16, bitrange=0 "Memory", 0x002B, 1, base=16, bitrange=1 "Memory", 0x002B, 1, base=16, bitrange=2 "Memory", 0x002B, 1, base=16, bitrange=3 "Memory", 0x002B, 1, base=16, bitrange=4 "Memory", 0x002B, 1, base=16, bitrange=5 "Memory", 0x002B, 1, base=16, bitrange=6 "Memory", 0x002B, 1, base=16, bitrange=7 "Memory", 0x002C, 1, base=16 "Memory", 0x002C, 1, base=16, bitrange=0 "Memory", 0x002C, 1, base=16, bitrange=1 "Memory", 0x002C, 1, base=16, bitrange=2 "Memory", 0x002C, 1, base=16, bitrange=3 "Memory", 0x002C, 1, base=16, bitrange=4 "Memory", 0x002C, 1, base=16, bitrange=5 "Memory", 0x002C, 1, base=16, bitrange=6 "Memory", 0x002C, 1, base=16, bitrange=7 "Memory", 0x002D, 1, base=16 "Memory", 0x002D, 1, base=16, bitrange=0 "Memory", 0x002D, 1, base=16, bitrange=1 Embedded Systemarchitekturen und Echtzeitbetriebssysteme 50

51 sfr = "P2IE.P2IE_2", sfr = "P2IE.P2IE_3", sfr = "P2IE.P2IE_4", sfr = "P2IE.P2IE_5", sfr = "P2IE.P2IE_6", sfr = "P2IE.P2IE_7", sfr = "P2SEL", sfr = "P2SEL.P2SEL_0", sfr = "P2SEL.P2SEL_1", sfr = "P2SEL.P2SEL_2", sfr = "P2SEL.P2SEL_3", sfr = "P2SEL.P2SEL_4", sfr = "P2SEL.P2SEL_5", sfr = "P2SEL.P2SEL_6", sfr = "P2SEL.P2SEL_7", ;; Digital I/O Port3/4 sfr = "P3IN", sfr = "P3IN.P3IN_0", sfr = "P3IN.P3IN_1", sfr = "P3IN.P3IN_2", sfr = "P3IN.P3IN_3", sfr = "P3IN.P3IN_4", sfr = "P3IN.P3IN_5", sfr = "P3IN.P3IN_6", sfr = "P3IN.P3IN_7", sfr = "P3OUT", sfr = "P3OUT.P3OUT_0", sfr = "P3OUT.P3OUT_1", sfr = "P3OUT.P3OUT_2", sfr = "P3OUT.P3OUT_3", sfr = "P3OUT.P3OUT_4", sfr = "P3OUT.P3OUT_5", sfr = "P3OUT.P3OUT_6", sfr = "P3OUT.P3OUT_7", sfr = "P3DIR", sfr = "P3DIR.P3DIR_0", sfr = "P3DIR.P3DIR_1", sfr = "P3DIR.P3DIR_2", sfr = "P3DIR.P3DIR_3", sfr = "P3DIR.P3DIR_4", sfr = "P3DIR.P3DIR_5", sfr = "P3DIR.P3DIR_6", sfr = "P3DIR.P3DIR_7", sfr = "P3SEL", sfr = "P3SEL.P3SEL_0", sfr = "P3SEL.P3SEL_1", sfr = "P3SEL.P3SEL_2", sfr = "P3SEL.P3SEL_3", sfr = "P3SEL.P3SEL_4", sfr = "P3SEL.P3SEL_5", sfr = "P3SEL.P3SEL_6", sfr = "P3SEL.P3SEL_7", sfr = "P4IN", sfr = "P4IN.P4IN_0", sfr = "P4IN.P4IN_1", sfr = "P4IN.P4IN_2", sfr = "P4IN.P4IN_3", "Memory", 0x002D, 1, base=16, bitrange=2 "Memory", 0x002D, 1, base=16, bitrange=3 "Memory", 0x002D, 1, base=16, bitrange=4 "Memory", 0x002D, 1, base=16, bitrange=5 "Memory", 0x002D, 1, base=16, bitrange=6 "Memory", 0x002D, 1, base=16, bitrange=7 "Memory", 0x002E, 1, base=16 "Memory", 0x002E, 1, base=16, bitrange=0 "Memory", 0x002E, 1, base=16, bitrange=1 "Memory", 0x002E, 1, base=16, bitrange=2 "Memory", 0x002E, 1, base=16, bitrange=3 "Memory", 0x002E, 1, base=16, bitrange=4 "Memory", 0x002E, 1, base=16, bitrange=5 "Memory", 0x002E, 1, base=16, bitrange=6 "Memory", 0x002E, 1, base=16, bitrange=7 "Memory", 0x0018, 1, base=16 "Memory", 0x0018, 1, base=16, bitrange=0 "Memory", 0x0018, 1, base=16, bitrange=1 "Memory", 0x0018, 1, base=16, bitrange=2 "Memory", 0x0018, 1, base=16, bitrange=3 "Memory", 0x0018, 1, base=16, bitrange=4 "Memory", 0x0018, 1, base=16, bitrange=5 "Memory", 0x0018, 1, base=16, bitrange=6 "Memory", 0x0018, 1, base=16, bitrange=7 "Memory", 0x0019, 1, base=16 "Memory", 0x0019, 1, base=16, bitrange=0 "Memory", 0x0019, 1, base=16, bitrange=1 "Memory", 0x0019, 1, base=16, bitrange=2 "Memory", 0x0019, 1, base=16, bitrange=3 "Memory", 0x0019, 1, base=16, bitrange=4 "Memory", 0x0019, 1, base=16, bitrange=5 "Memory", 0x0019, 1, base=16, bitrange=6 "Memory", 0x0019, 1, base=16, bitrange=7 "Memory", 0x001A, 1, base=16 "Memory", 0x001A, 1, base=16, bitrange=0 "Memory", 0x001A, 1, base=16, bitrange=1 "Memory", 0x001A, 1, base=16, bitrange=2 "Memory", 0x001A, 1, base=16, bitrange=3 "Memory", 0x001A, 1, base=16, bitrange=4 "Memory", 0x001A, 1, base=16, bitrange=5 "Memory", 0x001A, 1, base=16, bitrange=6 "Memory", 0x001A, 1, base=16, bitrange=7 "Memory", 0x001B, 1, base=16 "Memory", 0x001B, 1, base=16, bitrange=0 "Memory", 0x001B, 1, base=16, bitrange=1 "Memory", 0x001B, 1, base=16, bitrange=2 "Memory", 0x001B, 1, base=16, bitrange=3 "Memory", 0x001B, 1, base=16, bitrange=4 "Memory", 0x001B, 1, base=16, bitrange=5 "Memory", 0x001B, 1, base=16, bitrange=6 "Memory", 0x001B, 1, base=16, bitrange=7 "Memory", 0x001C, 1, base=16 "Memory", 0x001C, 1, base=16, bitrange=0 "Memory", 0x001C, 1, base=16, bitrange=1 "Memory", 0x001C, 1, base=16, bitrange=2 "Memory", 0x001C, 1, base=16, bitrange=3 Embedded Systemarchitekturen und Echtzeitbetriebssysteme 51

52 sfr = "P4IN.P4IN_4", sfr = "P4IN.P4IN_5", sfr = "P4IN.P4IN_6", sfr = "P4IN.P4IN_7", sfr = "P4OUT", sfr = "P4OUT.P4OUT_0", sfr = "P4OUT.P4OUT_1", sfr = "P4OUT.P4OUT_2", sfr = "P4OUT.P4OUT_3", sfr = "P4OUT.P4OUT_4", sfr = "P4OUT.P4OUT_5", sfr = "P4OUT.P4OUT_6", sfr = "P4OUT.P4OUT_7", sfr = "P4DIR", sfr = "P4DIR.P4DIR_0", sfr = "P4DIR.P4DIR_1", sfr = "P4DIR.P4DIR_2", sfr = "P4DIR.P4DIR_3", sfr = "P4DIR.P4DIR_4", sfr = "P4DIR.P4DIR_5", sfr = "P4DIR.P4DIR_6", sfr = "P4DIR.P4DIR_7", sfr = "P4SEL", sfr = "P4SEL.P4SEL_0", sfr = "P4SEL.P4SEL_1", sfr = "P4SEL.P4SEL_2", sfr = "P4SEL.P4SEL_3", sfr = "P4SEL.P4SEL_4", sfr = "P4SEL.P4SEL_5", sfr = "P4SEL.P4SEL_6", sfr = "P4SEL.P4SEL_7", ;; Digital I/O Port5/6 sfr = "P5IN", sfr = "P5IN.P5IN_0", sfr = "P5IN.P5IN_1", sfr = "P5IN.P5IN_2", sfr = "P5IN.P5IN_3", sfr = "P5IN.P5IN_4", sfr = "P5IN.P5IN_5", sfr = "P5IN.P5IN_6", sfr = "P5IN.P5IN_7", sfr = "P5OUT", sfr = "P5OUT.P5OUT_0", sfr = "P5OUT.P5OUT_1", sfr = "P5OUT.P5OUT_2", sfr = "P5OUT.P5OUT_3", sfr = "P5OUT.P5OUT_4", sfr = "P5OUT.P5OUT_5", sfr = "P5OUT.P5OUT_6", sfr = "P5OUT.P5OUT_7", sfr = "P5DIR", sfr = "P5DIR.P5DIR_0", sfr = "P5DIR.P5DIR_1", sfr = "P5DIR.P5DIR_2", sfr = "P5DIR.P5DIR_3", sfr = "P5DIR.P5DIR_4", sfr = "P5DIR.P5DIR_5", "Memory", 0x001C, 1, base=16, bitrange=4 "Memory", 0x001C, 1, base=16, bitrange=5 "Memory", 0x001C, 1, base=16, bitrange=6 "Memory", 0x001C, 1, base=16, bitrange=7 "Memory", 0x001D, 1, base=16 "Memory", 0x001D, 1, base=16, bitrange=0 "Memory", 0x001D, 1, base=16, bitrange=1 "Memory", 0x001D, 1, base=16, bitrange=2 "Memory", 0x001D, 1, base=16, bitrange=3 "Memory", 0x001D, 1, base=16, bitrange=4 "Memory", 0x001D, 1, base=16, bitrange=5 "Memory", 0x001D, 1, base=16, bitrange=6 "Memory", 0x001D, 1, base=16, bitrange=7 "Memory", 0x001E, 1, base=16 "Memory", 0x001E, 1, base=16, bitrange=0 "Memory", 0x001E, 1, base=16, bitrange=1 "Memory", 0x001E, 1, base=16, bitrange=2 "Memory", 0x001E, 1, base=16, bitrange=3 "Memory", 0x001E, 1, base=16, bitrange=4 "Memory", 0x001E, 1, base=16, bitrange=5 "Memory", 0x001E, 1, base=16, bitrange=6 "Memory", 0x001E, 1, base=16, bitrange=7 "Memory", 0x001F, 1, base=16 "Memory", 0x001F, 1, base=16, bitrange=0 "Memory", 0x001F, 1, base=16, bitrange=1 "Memory", 0x001F, 1, base=16, bitrange=2 "Memory", 0x001F, 1, base=16, bitrange=3 "Memory", 0x001F, 1, base=16, bitrange=4 "Memory", 0x001F, 1, base=16, bitrange=5 "Memory", 0x001F, 1, base=16, bitrange=6 "Memory", 0x001F, 1, base=16, bitrange=7 "Memory", 0x0030, 1, base=16 "Memory", 0x0030, 1, base=16, bitrange=0 "Memory", 0x0030, 1, base=16, bitrange=1 "Memory", 0x0030, 1, base=16, bitrange=2 "Memory", 0x0030, 1, base=16, bitrange=3 "Memory", 0x0030, 1, base=16, bitrange=4 "Memory", 0x0030, 1, base=16, bitrange=5 "Memory", 0x0030, 1, base=16, bitrange=6 "Memory", 0x0030, 1, base=16, bitrange=7 "Memory", 0x0031, 1, base=16 "Memory", 0x0031, 1, base=16, bitrange=0 "Memory", 0x0031, 1, base=16, bitrange=1 "Memory", 0x0031, 1, base=16, bitrange=2 "Memory", 0x0031, 1, base=16, bitrange=3 "Memory", 0x0031, 1, base=16, bitrange=4 "Memory", 0x0031, 1, base=16, bitrange=5 "Memory", 0x0031, 1, base=16, bitrange=6 "Memory", 0x0031, 1, base=16, bitrange=7 "Memory", 0x0032, 1, base=16 "Memory", 0x0032, 1, base=16, bitrange=0 "Memory", 0x0032, 1, base=16, bitrange=1 "Memory", 0x0032, 1, base=16, bitrange=2 "Memory", 0x0032, 1, base=16, bitrange=3 "Memory", 0x0032, 1, base=16, bitrange=4 "Memory", 0x0032, 1, base=16, bitrange=5 Embedded Systemarchitekturen und Echtzeitbetriebssysteme 52

53 sfr = "P5DIR.P5DIR_6", sfr = "P5DIR.P5DIR_7", sfr = "P5SEL", sfr = "P5SEL.P5SEL_0", sfr = "P5SEL.P5SEL_1", sfr = "P5SEL.P5SEL_2", sfr = "P5SEL.P5SEL_3", sfr = "P5SEL.P5SEL_4", sfr = "P5SEL.P5SEL_5", sfr = "P5SEL.P5SEL_6", sfr = "P5SEL.P5SEL_7", sfr = "P6IN", sfr = "P6IN.P6IN_0", sfr = "P6IN.P6IN_1", sfr = "P6IN.P6IN_2", sfr = "P6IN.P6IN_3", sfr = "P6IN.P6IN_4", sfr = "P6IN.P6IN_5", sfr = "P6IN.P6IN_6", sfr = "P6IN.P6IN_7", sfr = "P6OUT", sfr = "P6OUT.P6OUT_0", sfr = "P6OUT.P6OUT_1", sfr = "P6OUT.P6OUT_2", sfr = "P6OUT.P6OUT_3", sfr = "P6OUT.P6OUT_4", sfr = "P6OUT.P6OUT_5", sfr = "P6OUT.P6OUT_6", sfr = "P6OUT.P6OUT_7", sfr = "P6DIR", sfr = "P6DIR.P6DIR_0", sfr = "P6DIR.P6DIR_1", sfr = "P6DIR.P6DIR_2", sfr = "P6DIR.P6DIR_3", sfr = "P6DIR.P6DIR_4", sfr = "P6DIR.P6DIR_5", sfr = "P6DIR.P6DIR_6", sfr = "P6DIR.P6DIR_7", sfr = "P6SEL", sfr = "P6SEL.P6SEL_0", sfr = "P6SEL.P6SEL_1", sfr = "P6SEL.P6SEL_2", sfr = "P6SEL.P6SEL_3", sfr = "P6SEL.P6SEL_4", sfr = "P6SEL.P6SEL_5", sfr = "P6SEL.P6SEL_6", sfr = "P6SEL.P6SEL_7", ;; Basic Timer sfr = "BTCTL", sfr = "BTCTL.BTIP", sfr = "BTCTL.BTFRFQ", sfr = "BTCTL.BTDIV", sfr = "BTCTL.BTHOLD", sfr = "BTCTL.BTSSEL", sfr = "BTCNT1", sfr = "BTCNT2", "Memory", 0x0032, 1, base=16, bitrange=6 "Memory", 0x0032, 1, base=16, bitrange=7 "Memory", 0x0033, 1, base=16 "Memory", 0x0033, 1, base=16, bitrange=0 "Memory", 0x0033, 1, base=16, bitrange=1 "Memory", 0x0033, 1, base=16, bitrange=2 "Memory", 0x0033, 1, base=16, bitrange=3 "Memory", 0x0033, 1, base=16, bitrange=4 "Memory", 0x0033, 1, base=16, bitrange=5 "Memory", 0x0033, 1, base=16, bitrange=6 "Memory", 0x0033, 1, base=16, bitrange=7 "Memory", 0x0034, 1, base=16 "Memory", 0x0034, 1, base=16, bitrange=0 "Memory", 0x0034, 1, base=16, bitrange=1 "Memory", 0x0034, 1, base=16, bitrange=2 "Memory", 0x0034, 1, base=16, bitrange=3 "Memory", 0x0034, 1, base=16, bitrange=4 "Memory", 0x0034, 1, base=16, bitrange=5 "Memory", 0x0034, 1, base=16, bitrange=6 "Memory", 0x0034, 1, base=16, bitrange=7 "Memory", 0x0035, 1, base=16 "Memory", 0x0035, 1, base=16, bitrange=0 "Memory", 0x0035, 1, base=16, bitrange=1 "Memory", 0x0035, 1, base=16, bitrange=2 "Memory", 0x0035, 1, base=16, bitrange=3 "Memory", 0x0035, 1, base=16, bitrange=4 "Memory", 0x0035, 1, base=16, bitrange=5 "Memory", 0x0035, 1, base=16, bitrange=6 "Memory", 0x0035, 1, base=16, bitrange=7 "Memory", 0x0036, 1, base=16 "Memory", 0x0036, 1, base=16, bitrange=0 "Memory", 0x0036, 1, base=16, bitrange=1 "Memory", 0x0036, 1, base=16, bitrange=2 "Memory", 0x0036, 1, base=16, bitrange=3 "Memory", 0x0036, 1, base=16, bitrange=4 "Memory", 0x0036, 1, base=16, bitrange=5 "Memory", 0x0036, 1, base=16, bitrange=6 "Memory", 0x0036, 1, base=16, bitrange=7 "Memory", 0x0037, 1, base=16 "Memory", 0x0037, 1, base=16, bitrange=0 "Memory", 0x0037, 1, base=16, bitrange=1 "Memory", 0x0037, 1, base=16, bitrange=2 "Memory", 0x0037, 1, base=16, bitrange=3 "Memory", 0x0037, 1, base=16, bitrange=4 "Memory", 0x0037, 1, base=16, bitrange=5 "Memory", 0x0037, 1, base=16, bitrange=6 "Memory", 0x0037, 1, base=16, bitrange=7 "Memory", 0x0040, 1, base=16 "Memory", 0x0040, 1, base=16, bitrange=0-2 "Memory", 0x0040, 1, base=16, bitrange=3-4 "Memory", 0x0040, 1, base=16, bitrange=5 "Memory", 0x0040, 1, base=16, bitrange=6 "Memory", 0x0040, 1, base=16, bitrange=7 "Memory", 0x0046, 1, base=16 "Memory", 0x0047, 1, base=16 Embedded Systemarchitekturen und Echtzeitbetriebssysteme 53

54 ;; System Clock, FFL+ sfr = "SCFI0", sfr = "SCFI0.FN_2", sfr = "SCFI0.FN_3", sfr = "SCFI0.FN_4", sfr = "SCFI0.FN_8", sfr = "SCFI0.FLLD", sfr = "SCFI1", sfr = "SCFQCTL", sfr = "FLL_CTL0", sfr = "FLL_CTL0.DCOF", sfr = "FLL_CTL0.LFOF", sfr = "FLL_CTL0.XT1OF", sfr = "FLL_CTL0.XT2OF", sfr = "FLL_CTL0.XCAP", sfr = "FLL_CTL0.XTS_FLL", sfr = "FLL_CTL0.DCOPLUS", sfr = "FLL_CTL1", sfr = "FLL_CTL1.FFL_DIV", sfr = "FLL_CTL1.SELS", sfr = "FLL_CTL1.SELM", sfr = "FLL_CTL1.XT2OFF", sfr = "FLL_CTL1.SMCLKOFF", "Memory", 0x0050, 1, base=16 "Memory", 0x0050, 1, base=16, bitrange=2 "Memory", 0x0050, 1, base=16, bitrange=3 "Memory", 0x0050, 1, base=16, bitrange=4 "Memory", 0x0050, 1, base=16, bitrange=5 "Memory", 0x0050, 1, base=16, bitrange=6-7 "Memory", 0x0051, 1, base=16 "Memory", 0x0052, 1, base=16 "Memory", 0x0053, 1, base=16 "Memory", 0x0053, 1, base=16, bitrange=0 "Memory", 0x0053, 1, base=16, bitrange=1 "Memory", 0x0053, 1, base=16, bitrange=2 "Memory", 0x0053, 1, base=16, bitrange=3 "Memory", 0x0053, 1, base=16, bitrange=4-5 "Memory", 0x0053, 1, base=16, bitrange=6 "Memory", 0x0053, 1, base=16, bitrange=7 "Memory", 0x0054, 1, base=16 "Memory", 0x0054, 1, base=16, bitrange=0-1 "Memory", 0x0054, 1, base=16, bitrange=2 "Memory", 0x0054, 1, base=16, bitrange=3-4 "Memory", 0x0054, 1, base=16, bitrange=5 "Memory", 0x0054, 1, base=16, bitrange=6 ;; Brown-Out, Supply Voltage Supervision (SVS) sfr = "SVSCTL", "Memory", 0x0056, 1, base=16 sfr = "SVSCTL.SVSFG", "Memory", 0x0056, 1, base=16, bitrange=0 sfr = "SVSCTL.SVSOP", "Memory", 0x0056, 1, base=16, bitrange=1 sfr = "SVSCTL.SVSON", "Memory", 0x0056, 1, base=16, bitrange=2 sfr = "SVSCTL.PORON", "Memory", 0x0056, 1, base=16, bitrange=3 sfr = "SVSCTL.VLD", "Memory", 0x0056, 1, base=16, bitrange=4-7 ;; LCD Register sfr = "LCDCTL", sfr = "LCDCTL.LCDON", sfr = "LCDCTL.LCDSON", sfr = "LCDCTL.LCDMX0", sfr = "LCDCTL.LCDMX1", sfr = "LCDCTL.LCDP0", sfr = "LCDCTL.LCDP1", sfr = "LCDCTL.LCDP2", sfr = "LCDM1", sfr = "LCDM2", sfr = "LCDM3", sfr = "LCDM4", sfr = "LCDM5", sfr = "LCDM6", sfr = "LCDM7", sfr = "LCDM8", sfr = "LCDM9", sfr = "LCDM10", sfr = "LCDM11", sfr = "LCDM12", sfr = "LCDM13", sfr = "LCDM14", sfr = "LCDM15", sfr = "LCDM16", sfr = "LCDM17", "Memory", 0x0090, 1, base=16 "Memory", 0x0090, 1, base=16, bitrange=0 "Memory", 0x0090, 1, base=16, bitrange=2 "Memory", 0x0090, 1, base=16, bitrange=3 "Memory", 0x0090, 1, base=16, bitrange=4 "Memory", 0x0090, 1, base=16, bitrange=5 "Memory", 0x0090, 1, base=16, bitrange=6 "Memory", 0x0090, 1, base=16, bitrange=7 "Memory", 0x0091, 1, base=16 "Memory", 0x0092, 1, base=16 "Memory", 0x0093, 1, base=16 "Memory", 0x0094, 1, base=16 "Memory", 0x0095, 1, base=16 "Memory", 0x0096, 1, base=16 "Memory", 0x0097, 1, base=16 "Memory", 0x0098, 1, base=16 "Memory", 0x0099, 1, base=16 "Memory", 0x009A, 1, base=16 "Memory", 0x009B, 1, base=16 "Memory", 0x009C, 1, base=16 "Memory", 0x009D, 1, base=16 "Memory", 0x009E, 1, base=16 "Memory", 0x009F, 1, base=16 "Memory", 0x00A0, 1, base=16 "Memory", 0x00A1, 1, base=16 Embedded Systemarchitekturen und Echtzeitbetriebssysteme 54

55 sfr = "LCDM18", sfr = "LCDM19", sfr = "LCDM20", ;; USART 0 sfr = "U0CTL", sfr = "U0CTL.SWRST", sfr = "U0CTL.MM", sfr = "U0CTL.SYNC", sfr = "U0CTL.LISTEN", sfr = "U0CTL.CHAR", sfr = "U0CTL.SPB", sfr = "U0CTL.PEV", sfr = "U0CTL.PENA", sfr = "U0TCTL", sfr = "U0TCTL.TXEPT", sfr = "U0TCTL.STC", sfr = "U0TCTL.TXWAKE", sfr = "U0TCTL.URXSE", sfr = "U0TCTL.SSEL0", sfr = "U0TCTL.SSEL1", sfr = "U0TCTL.CKPL", sfr = "U0TCTL.CKPH", sfr = "U0RCTL", sfr = "U0RCTL.RXERR", sfr = "U0RCTL.RXWAKE", sfr = "U0RCTL.URXWIE", sfr = "U0RCTL.URXEIE", sfr = "U0RCTL.BRK", sfr = "U0RCTL.OE", sfr = "U0RCTL.PE", sfr = "U0RCTL.FE", sfr = "U0MCTL", sfr = "U0BR0", sfr = "U0BR1", sfr = "U0RXBUF", sfr = "U0TXBUF", ;; USART 1 sfr = "U1CTL", sfr = "U1CTL.SWRST", sfr = "U1CTL.MM", sfr = "U1CTL.SYNC", sfr = "U1CTL.LISTEN", sfr = "U1CTL.CHAR", sfr = "U1CTL.SPB", sfr = "U1CTL.PEV", sfr = "U1CTL.PENA", sfr = "U1TCTL", sfr = "U1TCTL.TXEPT", sfr = "U1TCTL.STC", sfr = "U1TCTL.TXWAKE", sfr = "U1TCTL.URXSE", sfr = "U1TCTL.SSEL0", sfr = "U1TCTL.SSEL1", sfr = "U1TCTL.CKPL", sfr = "U1TCTL.CKPH", sfr = "U1RCTL", "Memory", 0x00A2, 1, base=16 "Memory", 0x00A3, 1, base=16 "Memory", 0x00A4, 1, base=16 "Memory", 0x0070, 1, base=16 "Memory", 0x0070, 1, base=16, bitrange=0 "Memory", 0x0070, 1, base=16, bitrange=1 "Memory", 0x0070, 1, base=16, bitrange=2 "Memory", 0x0070, 1, base=16, bitrange=3 "Memory", 0x0070, 1, base=16, bitrange=4 "Memory", 0x0070, 1, base=16, bitrange=5 "Memory", 0x0070, 1, base=16, bitrange=6 "Memory", 0x0070, 1, base=16, bitrange=7 "Memory", 0x0071, 1, base=16 "Memory", 0x0071, 1, base=16, bitrange=0 "Memory", 0x0071, 1, base=16, bitrange=1 "Memory", 0x0071, 1, base=16, bitrange=2 "Memory", 0x0071, 1, base=16, bitrange=3 "Memory", 0x0071, 1, base=16, bitrange=4 "Memory", 0x0071, 1, base=16, bitrange=5 "Memory", 0x0071, 1, base=16, bitrange=6 "Memory", 0x0071, 1, base=16, bitrange=7 "Memory", 0x0072, 1, base=16 "Memory", 0x0072, 1, base=16, bitrange=0 "Memory", 0x0072, 1, base=16, bitrange=1 "Memory", 0x0072, 1, base=16, bitrange=2 "Memory", 0x0072, 1, base=16, bitrange=3 "Memory", 0x0072, 1, base=16, bitrange=4 "Memory", 0x0072, 1, base=16, bitrange=5 "Memory", 0x0072, 1, base=16, bitrange=6 "Memory", 0x0072, 1, base=16, bitrange=7 "Memory", 0x0073, 1, base=16 "Memory", 0x0074, 1, base=16 "Memory", 0x0075, 1, base=16 "Memory", 0x0076, 1, base=16 "Memory", 0x0077, 1, base=16 "Memory", 0x0078, 1, base=16 "Memory", 0x0078, 1, base=16, bitrange=0 "Memory", 0x0078, 1, base=16, bitrange=1 "Memory", 0x0078, 1, base=16, bitrange=2 "Memory", 0x0078, 1, base=16, bitrange=3 "Memory", 0x0078, 1, base=16, bitrange=4 "Memory", 0x0078, 1, base=16, bitrange=5 "Memory", 0x0078, 1, base=16, bitrange=6 "Memory", 0x0078, 1, base=16, bitrange=7 "Memory", 0x0079, 1, base=16 "Memory", 0x0079, 1, base=16, bitrange=0 "Memory", 0x0079, 1, base=16, bitrange=1 "Memory", 0x0079, 1, base=16, bitrange=2 "Memory", 0x0079, 1, base=16, bitrange=3 "Memory", 0x0079, 1, base=16, bitrange=4 "Memory", 0x0079, 1, base=16, bitrange=5 "Memory", 0x0079, 1, base=16, bitrange=6 "Memory", 0x0079, 1, base=16, bitrange=7 "Memory", 0x007A, 1, base=16 Embedded Systemarchitekturen und Echtzeitbetriebssysteme 55

56 sfr = "U1RCTL.RXERR", sfr = "U1RCTL.RXWAKE", sfr = "U1RCTL.URXWIE", sfr = "U1RCTL.URXEIE", sfr = "U1RCTL.BRK", sfr = "U1RCTL.OE", sfr = "U1RCTL.PE", sfr = "U1RCTL.FE", sfr = "U1MCTL", sfr = "U1BR0", sfr = "U1BR1", sfr = "U1RXBUF", sfr = "U1TXBUF", ;; Timer A sfr = "TAIV", sfr = "TAIV.IRQVEC", sfr = "TACTL", sfr = "TACTL.TAIFG", sfr = "TACTL.TAIE", sfr = "TACTL.TACLR", sfr = "TACTL.TAMC", sfr = "TACTL.TAID", sfr = "TACTL.TASSEL", sfr = "TACCTL0", sfr = "TACCTL0.CCIFG", sfr = "TACCTL0.COV", sfr = "TACCTL0.OUT", sfr = "TACCTL0.CCI", sfr = "TACCTL0.CCIE", sfr = "TACCTL0.OUTMOD", sfr = "TACCTL0.CAP", sfr = "TACCTL0.SCCI", sfr = "TACCTL0.SCS", sfr = "TACCTL0.CCIS", sfr = "TACCTL0.CM", sfr = "TACCTL1", sfr = "TACCTL1.CCIFG", sfr = "TACCTL1.COV", sfr = "TACCTL1.OUT", sfr = "TACCTL1.CCI", sfr = "TACCTL1.CCIE", sfr = "TACCTL1.OUTMOD", sfr = "TACCTL1.CAP", sfr = "TACCTL1.SCCI", sfr = "TACCTL1.SCS", sfr = "TACCTL1.CCIS", sfr = "TACCTL1.CM", sfr = "TACCTL2", sfr = "TACCTL2.CCIFG", sfr = "TACCTL2.COV", sfr = "TACCTL2.OUT", sfr = "TACCTL2.CCI", sfr = "TACCTL2.CCIE", sfr = "TACCTL2.OUTMOD", sfr = "TACCTL2.CAP", sfr = "TACCTL2.SCCI", sfr = "TACCTL2.SCS", "Memory", 0x007A, 1, base=16, bitrange=0 "Memory", 0x007A, 1, base=16, bitrange=1 "Memory", 0x007A, 1, base=16, bitrange=2 "Memory", 0x007A, 1, base=16, bitrange=3 "Memory", 0x007A, 1, base=16, bitrange=4 "Memory", 0x007A, 1, base=16, bitrange=5 "Memory", 0x007A, 1, base=16, bitrange=6 "Memory", 0x007A, 1, base=16, bitrange=7 "Memory", 0x007B, 1, base=16 "Memory", 0x007C, 1, base=16 "Memory", 0x007D, 1, base=16 "Memory", 0x007E, 1, base=16 "Memory", 0x007F, 1, base=16 "Memory", 0x012E, 2, base=16 "Memory", 0x012E, 2, base=16, bitrange=1-3 "Memory", 0x0160, 2, base=16 "Memory", 0x0160, 2, base=16, bitrange=0 "Memory", 0x0160, 2, base=16, bitrange=1 "Memory", 0x0160, 2, base=16, bitrange=2 "Memory", 0x0160, 2, base=16, bitrange=4-5 "Memory", 0x0160, 2, base=16, bitrange=6-7 "Memory", 0x0160, 2, base=16, bitrange=8-9 "Memory", 0x0162, 2, base=16 "Memory", 0x0162, 2, base=16, bitrange=0 "Memory", 0x0162, 2, base=16, bitrange=1 "Memory", 0x0162, 2, base=16, bitrange=2 "Memory", 0x0162, 2, base=16, bitrange=3 "Memory", 0x0162, 2, base=16, bitrange=4 "Memory", 0x0162, 2, base=16, bitrange=5-7 "Memory", 0x0162, 2, base=16, bitrange=8 "Memory", 0x0162, 2, base=16, bitrange=10 "Memory", 0x0162, 2, base=16, bitrange=11 "Memory", 0x0162, 2, base=16, bitrange=12-13 "Memory", 0x0162, 2, base=16, bitrange=14-15 "Memory", 0x0164, 2, base=16 "Memory", 0x0164, 2, base=16, bitrange=0 "Memory", 0x0164, 2, base=16, bitrange=1 "Memory", 0x0164, 2, base=16, bitrange=2 "Memory", 0x0164, 2, base=16, bitrange=3 "Memory", 0x0164, 2, base=16, bitrange=4 "Memory", 0x0164, 2, base=16, bitrange=5-7 "Memory", 0x0164, 2, base=16, bitrange=8 "Memory", 0x0164, 2, base=16, bitrange=10 "Memory", 0x0164, 2, base=16, bitrange=11 "Memory", 0x0164, 2, base=16, bitrange=12-13 "Memory", 0x0164, 2, base=16, bitrange=14-15 "Memory", 0x0166, 2, base=16 "Memory", 0x0166, 2, base=16, bitrange=0 "Memory", 0x0166, 2, base=16, bitrange=1 "Memory", 0x0166, 2, base=16, bitrange=2 "Memory", 0x0166, 2, base=16, bitrange=3 "Memory", 0x0166, 2, base=16, bitrange=4 "Memory", 0x0166, 2, base=16, bitrange=5-7 "Memory", 0x0166, 2, base=16, bitrange=8 "Memory", 0x0166, 2, base=16, bitrange=10 "Memory", 0x0166, 2, base=16, bitrange=11 Embedded Systemarchitekturen und Echtzeitbetriebssysteme 56

57 sfr = "TACCTL2.CCIS", sfr = "TACCTL2.CM", sfr = "TAR", sfr = "TACCR0", sfr = "TACCR1", sfr = "TACCR2", ;; Timer B sfr = "TBIV", sfr = "TBIV.IRQVEC", sfr = "TBCTL", sfr = "TBCTL.TBIFG", sfr = "TBCTL.TBIE", sfr = "TBCTL.TBCLR", sfr = "TBCTL.TBMC", sfr = "TBCTL.TBID", sfr = "TBCTL.TBSSEL", sfr = "TBCTL.TBCNTL", sfr = "TBCTL.TBCLGRP", sfr = "TBCCTL0", sfr = "TBCCTL0.CCIFG", sfr = "TBCCTL0.COV", sfr = "TBCCTL0.OUT", sfr = "TBCCTL0.CCI", sfr = "TBCCTL0.CCIE", sfr = "TBCCTL0.OUTMOD", sfr = "TBCCTL0.CAP", sfr = "TBCCTL0.CLLD", sfr = "TBCCTL0.SCS", sfr = "TBCCTL0.CCIS", sfr = "TBCCTL0.CM", sfr = "TBCCTL1", sfr = "TBCCTL1.CCIFG", sfr = "TBCCTL1.COV", sfr = "TBCCTL1.OUT", sfr = "TBCCTL1.CCI", sfr = "TBCCTL1.CCIE", sfr = "TBCCTL1.OUTMOD", sfr = "TBCCTL1.CAP", sfr = "TBCCTL1.CLLD", sfr = "TBCCTL1.SCS", sfr = "TBCCTL1.CCIS", sfr = "TBCCTL1.CM", sfr = "TBCCTL2", sfr = "TBCCTL2.CCIFG", sfr = "TBCCTL2.COV", sfr = "TBCCTL2.OUT", sfr = "TBCCTL2.CCI", sfr = "TBCCTL2.CCIE", sfr = "TBCCTL2.OUTMOD", sfr = "TBCCTL2.CAP", sfr = "TBCCTL2.CLLD", sfr = "TBCCTL2.SCS", sfr = "TBCCTL2.CCIS", sfr = "TBCCTL2.CM", sfr = "TBCCTL3", sfr = "TBCCTL3.CCIFG", "Memory", 0x0166, 2, base=16, bitrange=12-13 "Memory", 0x0166, 2, base=16, bitrange=14-15 "Memory", 0x0170, 2, base=16 "Memory", 0x0172, 2, base=16 "Memory", 0x0174, 2, base=16 "Memory", 0x0176, 2, base=16 "Memory", 0x011E, 2, base=16 "Memory", 0x011E, 2, base=16, bitrange=1-3 "Memory", 0x0180, 2, base=16 "Memory", 0x0180, 2, base=16, bitrange=0 "Memory", 0x0180, 2, base=16, bitrange=1 "Memory", 0x0180, 2, base=16, bitrange=2 "Memory", 0x0180, 2, base=16, bitrange=4-5 "Memory", 0x0180, 2, base=16, bitrange=6-7 "Memory", 0x0180, 2, base=16, bitrange=8-9 "Memory", 0x0180, 2, base=16, bitrange=11-12 "Memory", 0x0180, 2, base=16, bitrange=13-14 "Memory", 0x0182, 2, base=16 "Memory", 0x0182, 2, base=16, bitrange=0 "Memory", 0x0182, 2, base=16, bitrange=1 "Memory", 0x0182, 2, base=16, bitrange=2 "Memory", 0x0182, 2, base=16, bitrange=3 "Memory", 0x0182, 2, base=16, bitrange=4 "Memory", 0x0182, 2, base=16, bitrange=5-7 "Memory", 0x0182, 2, base=16, bitrange=8 "Memory", 0x0182, 2, base=16, bitrange=9-10 "Memory", 0x0182, 2, base=16, bitrange=11 "Memory", 0x0182, 2, base=16, bitrange=12-13 "Memory", 0x0182, 2, base=16, bitrange=14-15 "Memory", 0x0184, 2, base=16 "Memory", 0x0184, 2, base=16, bitrange=0 "Memory", 0x0184, 2, base=16, bitrange=1 "Memory", 0x0184, 2, base=16, bitrange=2 "Memory", 0x0184, 2, base=16, bitrange=3 "Memory", 0x0184, 2, base=16, bitrange=4 "Memory", 0x0184, 2, base=16, bitrange=5-7 "Memory", 0x0184, 2, base=16, bitrange=8 "Memory", 0x0184, 2, base=16, bitrange=9-10 "Memory", 0x0184, 2, base=16, bitrange=11 "Memory", 0x0184, 2, base=16, bitrange=12-13 "Memory", 0x0184, 2, base=16, bitrange=14-15 "Memory", 0x0186, 2, base=16 "Memory", 0x0186, 2, base=16, bitrange=0 "Memory", 0x0186, 2, base=16, bitrange=1 "Memory", 0x0186, 2, base=16, bitrange=2 "Memory", 0x0186, 2, base=16, bitrange=3 "Memory", 0x0186, 2, base=16, bitrange=4 "Memory", 0x0186, 2, base=16, bitrange=5-7 "Memory", 0x0186, 2, base=16, bitrange=8 "Memory", 0x0186, 2, base=16, bitrange=9-10 "Memory", 0x0186, 2, base=16, bitrange=11 "Memory", 0x0186, 2, base=16, bitrange=12-13 "Memory", 0x0186, 2, base=16, bitrange=14-15 "Memory", 0x0188, 2, base=16 "Memory", 0x0188, 2, base=16, bitrange=0 Embedded Systemarchitekturen und Echtzeitbetriebssysteme 57

58 sfr = "TBCCTL3.COV", sfr = "TBCCTL3.OUT", sfr = "TBCCTL3.CCI", sfr = "TBCCTL3.CCIE", sfr = "TBCCTL3.OUTMOD", sfr = "TBCCTL3.CAP", sfr = "TBCCTL3.CLLD", sfr = "TBCCTL3.SCS", sfr = "TBCCTL3.CCIS", sfr = "TBCCTL3.CM", sfr = "TBCCTL4", sfr = "TBCCTL4.CCIFG", sfr = "TBCCTL4.COV", sfr = "TBCCTL4.OUT", sfr = "TBCCTL4.CCI", sfr = "TBCCTL4.CCIE", sfr = "TBCCTL4.OUTMOD", sfr = "TBCCTL4.CAP", sfr = "TBCCTL4.CLLD", sfr = "TBCCTL4.SCS", sfr = "TBCCTL4.CCIS", sfr = "TBCCTL4.CM", sfr = "TBCCTL5", sfr = "TBCCTL5.CCIFG", sfr = "TBCCTL5.COV", sfr = "TBCCTL5.OUT", sfr = "TBCCTL5.CCI", sfr = "TBCCTL5.CCIE", sfr = "TBCCTL5.OUTMOD", sfr = "TBCCTL5.CAP", sfr = "TBCCTL5.CLLD", sfr = "TBCCTL5.SCS", sfr = "TBCCTL5.CCIS", sfr = "TBCCTL5.CM", sfr = "TBCCTL6", sfr = "TBCCTL6.CCIFG", sfr = "TBCCTL6.COV", sfr = "TBCCTL6.OUT", sfr = "TBCCTL6.CCI", sfr = "TBCCTL6.CCIE", sfr = "TBCCTL6.OUTMOD", sfr = "TBCCTL6.CAP", sfr = "TBCCTL6.CLLD", sfr = "TBCCTL6.SCS", sfr = "TBCCTL6.CCIS", sfr = "TBCCTL6.CM", sfr = "TBR", sfr = "TBCCR0", sfr = "TBCCR1", sfr = "TBCCR2", sfr = "TBCCR3", sfr = "TBCCR4", sfr = "TBCCR5", sfr = "TBCCR6", ;; Comparator A sfr = "CACTL1", sfr = "CACTL1.CAIFG", sfr = "CACTL1.CAIE", "Memory", 0x0188, 2, base=16, bitrange=1 "Memory", 0x0188, 2, base=16, bitrange=2 "Memory", 0x0188, 2, base=16, bitrange=3 "Memory", 0x0188, 2, base=16, bitrange=4 "Memory", 0x0188, 2, base=16, bitrange=5-7 "Memory", 0x0188, 2, base=16, bitrange=8 "Memory", 0x0188, 2, base=16, bitrange=9-10 "Memory", 0x0188, 2, base=16, bitrange=11 "Memory", 0x0188, 2, base=16, bitrange=12-13 "Memory", 0x0188, 2, base=16, bitrange=14-15 "Memory", 0x018A, 2, base=16 "Memory", 0x018A, 2, base=16, bitrange=0 "Memory", 0x018A, 2, base=16, bitrange=1 "Memory", 0x018A, 2, base=16, bitrange=2 "Memory", 0x018A, 2, base=16, bitrange=3 "Memory", 0x018A, 2, base=16, bitrange=4 "Memory", 0x018A, 2, base=16, bitrange=5-7 "Memory", 0x018A, 2, base=16, bitrange=8 "Memory", 0x018A, 2, base=16, bitrange=9-10 "Memory", 0x018A, 2, base=16, bitrange=11 "Memory", 0x018A, 2, base=16, bitrange=12-13 "Memory", 0x018A, 2, base=16, bitrange=14-15 "Memory", 0x018C, 2, base=16 "Memory", 0x018C, 2, base=16, bitrange=0 "Memory", 0x018C, 2, base=16, bitrange=1 "Memory", 0x018C, 2, base=16, bitrange=2 "Memory", 0x018C, 2, base=16, bitrange=3 "Memory", 0x018C, 2, base=16, bitrange=4 "Memory", 0x018C, 2, base=16, bitrange=5-7 "Memory", 0x018C, 2, base=16, bitrange=8 "Memory", 0x018C, 2, base=16, bitrange=9-10 "Memory", 0x018C, 2, base=16, bitrange=11 "Memory", 0x018C, 2, base=16, bitrange=12-13 "Memory", 0x018C, 2, base=16, bitrange=14-15 "Memory", 0x018E, 2, base=16 "Memory", 0x018E, 2, base=16, bitrange=0 "Memory", 0x018E, 2, base=16, bitrange=1 "Memory", 0x018E, 2, base=16, bitrange=2 "Memory", 0x018E, 2, base=16, bitrange=3 "Memory", 0x018E, 2, base=16, bitrange=4 "Memory", 0x018E, 2, base=16, bitrange=5-7 "Memory", 0x018E, 2, base=16, bitrange=8 "Memory", 0x018E, 2, base=16, bitrange=9-10 "Memory", 0x018E, 2, base=16, bitrange=11 "Memory", 0x018E, 2, base=16, bitrange=12-13 "Memory", 0x018E, 2, base=16, bitrange=14-15 "Memory", 0x0190, 2, base=16 "Memory", 0x0192, 2, base=16 "Memory", 0x0194, 2, base=16 "Memory", 0x0196, 2, base=16 "Memory", 0x0198, 2, base=16 "Memory", 0x019A, 2, base=16 "Memory", 0x019C, 2, base=16 "Memory", 0x019E, 2, base=16 "Memory", 0x0059, 1, base=16 "Memory", 0x0059, 1, base=16, bitrange=0 "Memory", 0x0059, 1, base=16, bitrange=1 Embedded Systemarchitekturen und Echtzeitbetriebssysteme 58

59 sfr = "CACTL1.CAIES", sfr = "CACTL1.CAON", sfr = "CACTL1.CAREF0", sfr = "CACTL1.CAREF1", sfr = "CACTL1.CARSEL", sfr = "CACTL1.CAEX", sfr = "CACTL2", sfr = "CACTL2.CAOUT", sfr = "CACTL2.CAF", sfr = "CACTL2.P2CA0", sfr = "CACTL2.P2CA1", sfr = "CACTL2.CACTL24", sfr = "CACTL2.CACTL25", sfr = "CACTL2.CACTL26", sfr = "CACTL2.CACTL27", sfr = "CAPD", sfr = "CAPD.CAPD0", sfr = "CAPD.CAPD1", sfr = "CAPD.CAPD2", sfr = "CAPD.CAPD3", sfr = "CAPD.CAPD4", sfr = "CAPD.CAPD5", sfr = "CAPD.CAPD6", sfr = "CAPD.CAPD7", ;; ADC12 sfr = "ADC12CTL0", sfr = "ADC12CTL0.ADC12SC", sfr = "ADC12CTL0.ENC", sfr = "ADC12CTL0.ADC12TOVIE", sfr = "ADC12CTL0.ADC12OVIE", sfr = "ADC12CTL0.ADC12ON", sfr = "ADC12CTL0.REFON", sfr = "ADC12CTL0.REF2_5V", sfr = "ADC12CTL0.MSC", sfr = "ADC12CTL0.SHT0", sfr = "ADC12CTL0.SHT1", sfr = "ADC12CTL1", sfr = "ADC12CTL1.ADC12BUSY", sfr = "ADC12CTL1.CONSEQ", sfr = "ADC12CTL1.ADC12SSEL", sfr = "ADC12CTL1.ADC12DIV", sfr = "ADC12CTL1.ISSH", sfr = "ADC12CTL1.SHP", sfr = "ADC12CTL1.SHS", sfr = "ADC12CTL1.CSTARTADD", sfr = "ADC12IFG", sfr = "ADC12IE", sfr = "ADC12IV", sfr = "ADC12MEM0", sfr = "ADC12MEM1", sfr = "ADC12MEM2", sfr = "ADC12MEM3", sfr = "ADC12MEM4", sfr = "ADC12MEM5", sfr = "ADC12MEM6", sfr = "ADC12MEM7", sfr = "ADC12MEM8", sfr = "ADC12MEM9", "Memory", 0x0059, 1, base=16, bitrange=2 "Memory", 0x0059, 1, base=16, bitrange=3 "Memory", 0x0059, 1, base=16, bitrange=4 "Memory", 0x0059, 1, base=16, bitrange=5 "Memory", 0x0059, 1, base=16, bitrange=6 "Memory", 0x0059, 1, base=16, bitrange=7 "Memory", 0x005A, 1, base=16 "Memory", 0x005A, 1, base=16, bitrange=0 "Memory", 0x005A, 1, base=16, bitrange=1 "Memory", 0x005A, 1, base=16, bitrange=2 "Memory", 0x005A, 1, base=16, bitrange=3 "Memory", 0x005A, 1, base=16, bitrange=4 "Memory", 0x005A, 1, base=16, bitrange=5 "Memory", 0x005A, 1, base=16, bitrange=6 "Memory", 0x005A, 1, base=16, bitrange=7 "Memory", 0x005B, 1, base=16 "Memory", 0x005B, 1, base=16, bitrange=0 "Memory", 0x005B, 1, base=16, bitrange=1 "Memory", 0x005B, 1, base=16, bitrange=2 "Memory", 0x005B, 1, base=16, bitrange=3 "Memory", 0x005B, 1, base=16, bitrange=4 "Memory", 0x005B, 1, base=16, bitrange=5 "Memory", 0x005B, 1, base=16, bitrange=6 "Memory", 0x005B, 1, base=16, bitrange=7 "Memory", 0x01A0, 2, base=16 "Memory", 0x01A0, 2, base=16, bitrange=0 "Memory", 0x01A0, 2, base=16, bitrange=1 "Memory", 0x01A0, 2, base=16, bitrange=2 "Memory", 0x01A0, 2, base=16, bitrange=3 "Memory", 0x01A0, 2, base=16, bitrange=4 "Memory", 0x01A0, 2, base=16, bitrange=5 "Memory", 0x01A0, 2, base=16, bitrange=6 "Memory", 0x01A0, 2, base=16, bitrange=7 "Memory", 0x01A0, 2, base=16, bitrange=8-11 "Memory", 0x01A0, 2, base=16, bitrange=12-15 "Memory", 0x01A2, 2, base=16 "Memory", 0x01A2, 2, base=16, bitrange=0 "Memory", 0x01A2, 2, base=16, bitrange=1-2 "Memory", 0x01A2, 2, base=16, bitrange=3-4 "Memory", 0x01A2, 2, base=16, bitrange=5-7 "Memory", 0x01A2, 2, base=16, bitrange=8 "Memory", 0x01A2, 2, base=16, bitrange=9 "Memory", 0x01A2, 2, base=16, bitrange=10-11 "Memory", 0x01A2, 2, base=16, bitrange=12-15 "Memory", 0x01A4, 2, base=16 "Memory", 0x01A6, 2, base=16 "Memory", 0x01A8, 2, base=16 "Memory", 0x0140, 2, base=16 "Memory", 0x0142, 2, base=16 "Memory", 0x0144, 2, base=16 "Memory", 0x0146, 2, base=16 "Memory", 0x0148, 2, base=16 "Memory", 0x014A, 2, base=16 "Memory", 0x014C, 2, base=16 "Memory", 0x014E, 2, base=16 "Memory", 0x0150, 2, base=16 "Memory", 0x0152, 2, base=16 Embedded Systemarchitekturen und Echtzeitbetriebssysteme 59

60 sfr = "ADC12MEM10", sfr = "ADC12MEM11", sfr = "ADC12MEM12", sfr = "ADC12MEM13", sfr = "ADC12MEM14", sfr = "ADC12MEM15", sfr = "ADC12MCTL0", sfr = "ADC12MCTL0.INCH", sfr = "ADC12MCTL0.SREF", sfr = "ADC12MCTL0.EOS", sfr = "ADC12MCTL1", sfr = "ADC12MCTL1.INCH", sfr = "ADC12MCTL1.SREF", sfr = "ADC12MCTL1.EOS", sfr = "ADC12MCTL2", sfr = "ADC12MCTL2.INCH", sfr = "ADC12MCTL2.SREF", sfr = "ADC12MCTL2.EOS", sfr = "ADC12MCTL3", sfr = "ADC12MCTL3.INCH", sfr = "ADC12MCTL3.SREF", sfr = "ADC12MCTL3.EOS", sfr = "ADC12MCTL4", sfr = "ADC12MCTL4.INCH", sfr = "ADC12MCTL4.SREF", sfr = "ADC12MCTL4.EOS", sfr = "ADC12MCTL5", sfr = "ADC12MCTL5.INCH", sfr = "ADC12MCTL5.SREF", sfr = "ADC12MCTL5.EOS", sfr = "ADC12MCTL6", sfr = "ADC12MCTL6.INCH", sfr = "ADC12MCTL6.SREF", sfr = "ADC12MCTL6.EOS", sfr = "ADC12MCTL7", sfr = "ADC12MCTL7.INCH", sfr = "ADC12MCTL7.SREF", sfr = "ADC12MCTL7.EOS", sfr = "ADC12MCTL8", sfr = "ADC12MCTL8.INCH", sfr = "ADC12MCTL8.SREF", sfr = "ADC12MCTL8.EOS", sfr = "ADC12MCTL9", sfr = "ADC12MCTL9.INCH", sfr = "ADC12MCTL9.SREF", sfr = "ADC12MCTL9.EOS", sfr = "ADC12MCTL10", sfr = "ADC12MCTL10.INCH", sfr = "ADC12MCTL10.SREF", sfr = "ADC12MCTL10.EOS", sfr = "ADC12MCTL11", "Memory", 0x0154, 2, base=16 "Memory", 0x0156, 2, base=16 "Memory", 0x0158, 2, base=16 "Memory", 0x015A, 2, base=16 "Memory", 0x015C, 2, base=16 "Memory", 0x015E, 2, base=16 "Memory", 0x0080, 1, base=16 "Memory", 0x0080, 1, base=16, bitrange=0-3 "Memory", 0x0080, 1, base=16, bitrange=4-6 "Memory", 0x0080, 1, base=16, bitrange=7 "Memory", 0x0081, 1, base=16 "Memory", 0x0081, 1, base=16, bitrange=0-3 "Memory", 0x0081, 1, base=16, bitrange=4-6 "Memory", 0x0081, 1, base=16, bitrange=7 "Memory", 0x0082, 1, base=16 "Memory", 0x0082, 1, base=16, bitrange=0-3 "Memory", 0x0082, 1, base=16, bitrange=4-6 "Memory", 0x0082, 1, base=16, bitrange=7 "Memory", 0x0083, 1, base=16 "Memory", 0x0083, 1, base=16, bitrange=0-3 "Memory", 0x0083, 1, base=16, bitrange=4-6 "Memory", 0x0083, 1, base=16, bitrange=7 "Memory", 0x0084, 1, base=16 "Memory", 0x0084, 1, base=16, bitrange=0-3 "Memory", 0x0084, 1, base=16, bitrange=4-6 "Memory", 0x0084, 1, base=16, bitrange=7 "Memory", 0x0085, 1, base=16 "Memory", 0x0085, 1, base=16, bitrange=0-3 "Memory", 0x0085, 1, base=16, bitrange=4-6 "Memory", 0x0085, 1, base=16, bitrange=7 "Memory", 0x0086, 1, base=16 "Memory", 0x0086, 1, base=16, bitrange=0-3 "Memory", 0x0086, 1, base=16, bitrange=4-6 "Memory", 0x0086, 1, base=16, bitrange=7 "Memory", 0x0087, 1, base=16 "Memory", 0x0087, 1, base=16, bitrange=0-3 "Memory", 0x0087, 1, base=16, bitrange=4-6 "Memory", 0x0087, 1, base=16, bitrange=7 "Memory", 0x0088, 1, base=16 "Memory", 0x0088, 1, base=16, bitrange=0-3 "Memory", 0x0088, 1, base=16, bitrange=4-6 "Memory", 0x0088, 1, base=16, bitrange=7 "Memory", 0x0089, 1, base=16 "Memory", 0x0089, 1, base=16, bitrange=0-3 "Memory", 0x0089, 1, base=16, bitrange=4-6 "Memory", 0x0089, 1, base=16, bitrange=7 "Memory", 0x008A, 1, base=16 "Memory", 0x008A, 1, base=16, bitrange=0-3 "Memory", 0x008A, 1, base=16, bitrange=4-6 "Memory", 0x008A, 1, base=16, bitrange=7 "Memory", 0x008B, 1, base=16 Embedded Systemarchitekturen und Echtzeitbetriebssysteme 60

61 sfr = "ADC12MCTL11.INCH", sfr = "ADC12MCTL11.SREF", sfr = "ADC12MCTL11.EOS", sfr = "ADC12MCTL12", sfr = "ADC12MCTL12.INCH", sfr = "ADC12MCTL12.SREF", sfr = "ADC12MCTL12.EOS", sfr = "ADC12MCTL13", sfr = "ADC12MCTL13.INCH", sfr = "ADC12MCTL13.SREF", sfr = "ADC12MCTL13.EOS", sfr = "ADC12MCTL14", sfr = "ADC12MCTL14.INCH", sfr = "ADC12MCTL14.SREF", sfr = "ADC12MCTL14.EOS", sfr = "ADC12MCTL15", sfr = "ADC12MCTL15.INCH", sfr = "ADC12MCTL15.SREF", sfr = "ADC12MCTL15.EOS", ;; Flash Memory sfr = "FCTL1", sfr = "FCTL1.ERASE", sfr = "FCTL1.MERAS", sfr = "FCTL1.WRT", sfr = "FCTL1.BLKWRT", sfr = "FCTL1.KEY", sfr = "FCTL2", sfr = "FCTL2.FN0", sfr = "FCTL2.FN1", sfr = "FCTL2.FN2", sfr = "FCTL2.FN3", sfr = "FCTL2.FN4", sfr = "FCTL2.FN5", sfr = "FCTL2.SSEL0", sfr = "FCTL2.SSEL1", sfr = "FCTL2.KEY", sfr = "FCTL3", sfr = "FCTL3.BUSY", sfr = "FCTL3.KEYV", sfr = "FCTL3.ACCVIFG", sfr = "FCTL3.WAIT", sfr = "FCTL3.LOCK", sfr = "FCTL3.EMEX", sfr = "FCTL3.KEY", : ;;End of file "Memory", 0x008B, 1, base=16, bitrange=0-3 "Memory", 0x008B, 1, base=16, bitrange=4-6 "Memory", 0x008B, 1, base=16, bitrange=7 "Memory", 0x008C, 1, base=16 "Memory", 0x008C, 1, base=16, bitrange=0-3 "Memory", 0x008C, 1, base=16, bitrange=4-6 "Memory", 0x008C, 1, base=16, bitrange=7 "Memory", 0x008D, 1, base=16 "Memory", 0x008D, 1, base=16, bitrange=0-3 "Memory", 0x008D, 1, base=16, bitrange=4-6 "Memory", 0x008D, 1, base=16, bitrange=7 "Memory", 0x008E, 1, base=16 "Memory", 0x008E, 1, base=16, bitrange=0-3 "Memory", 0x008E, 1, base=16, bitrange=4-6 "Memory", 0x008E, 1, base=16, bitrange=7 "Memory", 0x008F, 1, base=16 "Memory", 0x008F, 1, base=16, bitrange=0-3 "Memory", 0x008F, 1, base=16, bitrange=4-6 "Memory", 0x008F, 1, base=16, bitrange=7 "Memory", 0x0128, 2, base=16 "Memory", 0x0128, 2, base=16, bitrange=1 "Memory", 0x0128, 2, base=16, bitrange=2 "Memory", 0x0128, 2, base=16, bitrange=6 "Memory", 0x0128, 2, base=16, bitrange=7 "Memory", 0x0128, 2, base=16, bitrange=8-15 "Memory", 0x012A, 2, base=16 "Memory", 0x012A, 2, base=16, bitrange=0 "Memory", 0x012A, 2, base=16, bitrange=1 "Memory", 0x012A, 2, base=16, bitrange=2 "Memory", 0x012A, 2, base=16, bitrange=3 "Memory", 0x012A, 2, base=16, bitrange=4 "Memory", 0x012A, 2, base=16, bitrange=5 "Memory", 0x012A, 2, base=16, bitrange=6 "Memory", 0x012A, 2, base=16, bitrange=7 "Memory", 0x012A, 2, base=16, bitrange=8-15 "Memory", 0x012C, 2, base=16 "Memory", 0x012C, 2, base=16, bitrange=0 "Memory", 0x012C, 2, base=16, bitrange=1 "Memory", 0x012C, 2, base=16, bitrange=2 "Memory", 0x012C, 2, base=16, bitrange=3 "Memory", 0x012C, 2, base=16, bitrange=4 "Memory", 0x012C, 2, base=16, bitrange=5 "Memory", 0x012C, 2, base=16, bitrange=6-13 Embedded Systemarchitekturen und Echtzeitbetriebssysteme 61

62 3.6. Mikrocontrollerspeicher Bild: Merkmale von Speichertypen auf Halbleiterbasis Der Speicher der MSP430-Familie ist vollständig auf dem Silizium-Chip enthalten. Auf den gesamten Speicher wird über zwei 16-Bit-Busse zugegriffen: Speicher-Adress-Bus (Memory Address Bus MAB) zur Bereitstellung der Speicheradresse durch die CPU Speicher-Daten-Bus (Memory Data Bus MDB) zum Lesen (Speicher => CPU) und Schreiben (CPU => Speicher) Der Speicher ist technologisch einzuteilen in die beiden Arten Festwertspeicher: ein Speicher, dessen Inhalt durch die CPU nicht beliebig geändert werden kann (ROM, OTPROM, EPROM, EEPROM,..) Schreib-Lese-Speicher: ein Speicher, dessen Inhalt jederzeit geändert werden kann und der bei Abschaltung der Versorgungsspannung seinen Wert verliert (Random Access Memory RAM) Festwertspeicher kann bei der Definition eines Familienmitgliedes entweder benutzerprogrammierbar (One Time Programmable Read-Only Memory OTPROM, Ereasable Programmable Read-Only Memory EPROM) oder bei der Fertigung festgelegt (Read-Only Memory ROM) werden. Der Zugriff auf gewöhnlichen externen Speicher ist für spätere Familien mitglieder vorgesehen.programmseitig ist der Speicher jedoch einzuteilen in Programmspeicher und Datenspeicher. Programmspeicher Embedded Systemarchitekturen und Echtzeitbetriebssysteme 62

63 Der Zugriff auf den Programmspeicher ist beim Zugriff auf Anweisungen immer Wordorientiert, d. h. die CPU greift nur auf gerade Adressen wortweise mit jeweils 16 Bit zu. Daten können wortweise (16 Bit an gerader Adresse) oder byteweise (8 Bit an beliebiger Adresse) gelesen oder geschrieben werden. Jeder Zugriff auf den Speicher benutzt den 16-Bit-Datenbus und soviele der niederwertigen Adressleitungen wie für die Speicherunterscheidung gerade benötigt werden. Speicherblöcke werden erst bei Zugriff automatisch selektiert und durch Modulaktivierungssignale (Module Enable Signals) aktiviert, um den Stromverbrauch des MSP430 möglichst klein zu halten. Datenspeicher Der gesamte Befehlssatz arbeitet wort- oder byteorientiert. Alle Zugriffe auf den Stapelspeicher und den Programmzähler haben wortorientiert mit geraden Adressen zu erfolgen. Spezialregister Der Betrieb der verschiedenen Module der MSP430-Familie wird im wesentlichen durch Informationen gesteuert, die in Spezialregistern (SFR) gespeichert sind. Die verschiedenen Bits in den SFR erlauben Unterbrechungen (Interrupts), liefern dem Programm Informationen über die Ursache einer Unterbrechung und steuern den Betrieb peripherer Module. Angehaltene Peripheriegeräte stellen ihren Betrieb ein, um den Stromverbrauch zu minimieren. Dabei bleiben alle in den Registern des Moduls enthaltenen Daten erhalten. Die SFR s sind in zwei Adressbereichen untergebracht, einem für Byte-Register und einem für Word-Register Die CPU Die CPU Register The 16-bit program counter (PC/R0) points to the next instruction to beexecuted. Each instruction uses an even number of bytes (two, four, or six),and the PC is incremented accordingly. Instruction accesses in the 64-KBaddress space are performed on word boundaries, and the PC is aligned toeven addresses. The PC can be addressed with all instructions and addressing modes. Examples MOV #LABEL, PC MOV LABEL, PC PC ; Branch to address LABEL ; Branch to address contained in LABEL ; Branch indirect to address in R14 Stack Pointer The stack pointer (SP/R1) is used by the CPU to store the return addressesof subroutine calls and interrupts. It uses a predecrement, postincrementscheme. In addition, the SP can be used by software with all instructions andaddressing modes. Examples MOV 2(SP), R6 ; Item I2 > R6 Embedded Systemarchitekturen und Echtzeitbetriebssysteme 63

64 MOV R7, 0(SP) PUSH #0123h POPR 8 ; Overwrite TOS with R7 ; Put 0123h onto TOS ; R8 = 0123h Bild: CPU Block Diagram Status Register The status register (SR/R2), used as a source or destination register, can beused in the register mode only addressed with word instructions. The remain-ing combinations of addressing modes are used to support the constant gen-erator. Figure 3 6 shows the SR bits. Embedded Systemarchitekturen und Echtzeitbetriebssysteme 64

65 Bild: Description of Status Register Bits Addressing Modes Seven addressing modes for the source operand and four addressing modesfor the destination operand can address the complete address space with noexceptions. The bit numbers in Table 3 3 describe the contents of the As(source) and Ad (destination) mode bits. Embedded Systemarchitekturen und Echtzeitbetriebssysteme 65

66 Bild: Seven Addressing Modes The Instruction Set Bild: Befehlsübersicht Embedded Systemarchitekturen und Echtzeitbetriebssysteme 66

67 Bild: MSP430 Instruction Set Embedded Systemarchitekturen und Echtzeitbetriebssysteme 67

68 Bild: Core Instruction Map The source and destination of an instruction are defined by the following fields: Embedded Systemarchitekturen und Echtzeitbetriebssysteme 68

69 Double Operand (Format I) Instructions Single Operand (Format II) Instructions Embedded Systemarchitekturen und Echtzeitbetriebssysteme 69

70 Jumps The next Table lists and describes the jump instructions. Embedded Systemarchitekturen und Echtzeitbetriebssysteme 70

71 3.8. Kontrollfragen What functions are in a microcontroller chip but NOT in a microprocessor? Interrupts, Instruction Decoder, Instruction Register Program memory, Data memory, I/O Program Counter, Registers, Data Bus Peripheral Devices, Address Bus, Data Bus What buses are present in a microcontroller system? Address, Data, and Control Input and Output Address and Instruction Address, Data and Bluebird From what point of reference are the terms "read" and "write" defined? The data bus The I/O Device The CPU The Memory What is the purpose of the address decoder? To translate logical addresses to physical addresses. It selects the appropriate CPU register. It recognizes addresses of individual devices connected to the bus and enables the devices when they are selected. It decodes the instructions. Embedded Systemarchitekturen und Echtzeitbetriebssysteme 71

72 4. DER SOFTWARE BUILD PROZESS BEI EMBEDDED SYSTEMEN Bild: Toolchain Compiler Die Aufgabe des Compilers liegt darin, den in einer Hochsprache abgefassten Quellcode, in Assembler-Quellcode zu übersetzen. Die vielen problemorientierten, für Menschen lesbaren Hochsprachen, müssen von Compilern in eine prozessorspezifische Maschinensprache übersetzt werden, die von dem Computer direkt verarbeitet werden kann. Assembler Der Assembler ist das Werkzeug, das den Assembler-Sourcecode (meistens erzeugt vom Compiler) in Maschinensprache übersetzt, in einen so genannten Objectcode. Dies ist die Sprache des Prozessors, die für Menschen nur sehr schwer lesbar ist. Der Zwischenschritt von Compiler und Assembler über den Assembler-Sourcecode ist auf den ersten Blick unnötig. Tatsächlich gibt es ältere Compiler, die diesen Schritt auslassen. Es hat sich jedoch gezeigt, dass dieser Zwischenschritt sinnvoll ist, da sehr viel Flexibilität Embedded Systemarchitekturen und Echtzeitbetriebssysteme 72

73 erreicht werden kann. Zum Beispiel ist es möglich, Teile von Programmen in verschiedenen Hochsprachen zu schreiben, diese mit entsprechenden Compilern in Assembler-Sourcecode zu übersetzen und dann mit einem Assembler den Objektcode für den Prozessor zu erzeugen. Es wird so auch möglich Optimierungen oder Fehlerbehebungen durchzuführen, zu denen der Compiler nicht in der Lage ist. Linker Der vom Assembler generierte Objektcode liegt in Bruchstücken vor. Die Aufgabe des Linkers besteht nun darin, alle benötigten Stücke zu sammeln und zusammenzufügen (engl. to link = verbinden, koppeln). Dabei können die einzelnen Object-Codedateien aus verschiedenen Source-Code Dateien stammen und von verschiedenen Compilern (Pascal, C/C++) erzeugt worden sein. Softwareroutinen, die nicht benötigt werden, z. B. unbenutzte Teile einer Softwarebibliothek (Library), können so weggelassen werden, um das ausführbare Programm möglichst klein zu halten. Das Resultat des Linkers sind Gruppierungen von Bruchstücken, die Gemeinsamkeiten aufweisen wie z. B. gemeinsam genutzter Speicher etc.. Dies kann die Vorstufe zu einem ausführbaren Programm oder aber eine Softwarebibliothek (library) sein. Locator Als letzte Station tritt der Locator in Aktion. Er ist es, der die vom Linker erzeugten Gruppen an den richtigen Stellen platziert (engl. to locate = fixieren, siedeln). Somit ist ein ausführbares Programm erzeugt und bereit zur Ausführung. Debugger Der Begriff debugging bezeichnet den Prozess des Auffindens von Softwarefehlern, d. h. Bugs zu finden und zu entfernen. Mittels spezieller Tools kann der Entwickler das Programm Schritt für Schritt ausführen und alle logischen Abläufe überprüfen. Embedded Systemarchitekturen und Echtzeitbetriebssysteme 73

74 C Source-Code schreiben Bloodshed Dev-C++ IDE *.dev Dev-C++ Projektdatei *.c C-Quellcodedateien Legende: Datei Dev-C++:Menü->Ausführen->Kompilieren Kompilieren MSPGCC Crosscompiler *.o Objektdateien Linken MSPGCC Linker Makefile.win *.h MSPGCC Headerdateien *.lib MSPGCC Bibliothekdateien Automatisierter Ablauf. Keine Interaktion nötig. Hilfsdatei Vorgang *.exe Programmdatei Programmname Bild: Ablaufdiagramm: Vom Quellcode zur Programmdatei Embedded Systemarchitekturen und Echtzeitbetriebssysteme 74

75 Lokalisieren und Verifizieren der Programmdatei Windows Explorer Sourcecode abändern Bloodshed Dev-C++ IDE Siehe Ablaufplan *.exe Programmdatei Programm im Debugger laden Programm simulieren Insight Debugger Insight Simulator Verbindung zum Target herstellen gdbproxy Legende: Datei Hardwareinteraktion Vorgang MSP STK Programmname/Objekt Bild: Programm Simulation/Debugging Embedded Systemarchitekturen und Echtzeitbetriebssysteme 75

76 4.1. Entwicklungsschritte für ein Mikrocomputersystem Problemdefinition: Leistungsumfang des Systems definieren, Datenflussplan erstellen (SADT); Requirementsanalyse (Functional, Non-Functional, System, Software, Hardware-, GUI- Requirements) Wirtschaftlichkeitsprüfung (Realisierungsbeschluss): Abschätzen von Geschwindigkeit, Speicherbedarf, Bauelementeaufwand, Prüfung auf technische und wirtschaftliche Realisierbarkeit Systemanalyse: Problemstruktur analysieren, Use Cases definieren, Klassendesign u. Transaktionsdiagramme erstelen (UML) Programmablaufplan erstellen, Blockschaltbild der Schaltung Hardwareentwicklung: Kauf/Eigenentwicklung Softwareentwicklung: Detaillierter Programmablaufplan, Codieren, Programmeingabe, Übersetzen, Simulation, Debugging Modultest, Integrationstest, Systemtest, Fehlerkorrektur: Anbindung des Prozesses, Test des Zusammenspiels Dokumentation: Hardware, Software 4.2. IAR Debug- und Testverfahren im Überblick The IAR C-SPY Debugger can be used for debugging either a software target system or a hardware target system. The figure below shows an overview of C-SPY and possible target systems. Embedded Systemarchitekturen und Echtzeitbetriebssysteme 76

77 Bild: IAR C-SPY Debugger and target systems DEBUGGER The debugger, for instance C-SPY, is the program that you use for debugging your applications on a target system. TARGET SYSTEM The target system is the system on which you execute your application when you are debugging it. The target system can consist of hardware, either an evaluation board or your own hardware design. It can also be completely or partially simulated by software. Each type of target system needs a dedicated C-SPY driver. USER APPLICATION A user-application is the software you have developed and which you want to debug using the IAR C-SPY Debugger IAR C-SPY Debugger Sysytems The IAR C-SPY Debugger consists of both a general part which provides a basic set of C- SPY features, and a driver. The C-SPY driver is the part that provides communication with and control of the target system. The driver also provides the user interface menus, windows, and dialog boxes to the functions provided by the target system, for instance, special breakpoints. The following C-SPY drivers are provided: Simulator driver Embedded Systemarchitekturen und Echtzeitbetriebssysteme 77

78 ROM-monitor driver Emulator driver If you have more than one C-SPY driver installed on your computer you can easily switch between them just by choosing the appropriate driver from within the IAR Embedded Workbench. ROM-MONITOR PROGRAM The ROM-monitor program is a piece of firmware that must be loaded to non-volatile memory on your target hardware; it runs in parallel with your application. The ROMmonitor communicates with the debugger and provides services needed for debugging the application, for instance stepping and breakpoints. Adapting C-SPY to target hardware by the DEVICE DESCRIPTION FILE C-SPY handles several of the target-specific adaptations by using device description files provided with the product. They contain device-specific information such as: Memory information for device-specific memory zones Definitions of memory-mapped peripheral units, device-specific CPU registers, and groups of these Definitions for interrupt simulation in the simulator. You can find customized device description files for each MSP430 device in the 430\config directory. Memory Zones To view memory conveniently, the C-SPY Debugger uses device-specific memory zones. By default there is only one address zone in the debugger, Memory, which covers the whole MSP430 memory range. If you load a device description file, additional zones that adhere better to the specific device memory layout are defined. Figure: Memory Zones for MSP430F149 If your hardware does not have the same memory layout as the device description file, you can define customized zones by adding them to the appropriate file. Embedded Systemarchitekturen und Echtzeitbetriebssysteme 78

79 Memory zones are used in several contexts, perhaps most notably in the Memory and Disassembly windows. The Zone box in these windows allows you to choose which memory zone to display Test im EPROM Source Code schreiben Editor / IDE Source Code kompilieren Compiler EPROM Brenner Test im EPROM Zielhardware Bild: Test im EPROM Embedded Systemarchitekturen und Echtzeitbetriebssysteme 79

80 Bild: Entwicklungszyklus mit Emulation Hardware Editor gibt eventuell über Syntax Highlightning und Intelli-Sense Hinweise über Programmierfehler. Der Compiler stellt formale Programmierfehler fest Nachdem der kompilierte Code in ein übertragungsfähiges Format überführt wurde, wird ein EPROM geschrieben und in der Zielhardware eingebaut. Tritt ein Fehler auf, muss dass Programm modifiziert, erneut kompiliert, neu gebrannt und nochmals eingebaut werden, dies solange bis alle Fehler aufgefunden wurden. Insgesamt ein sehr aufwendiges Verfahren und veraltet Test im Monitor Bild: Kommunikation bei der Monitor-Testumgebung Embedded Systemarchitekturen und Echtzeitbetriebssysteme 80

81 Source Code schreiben Editor / IDE Compiler Source Code kompilieren Monitor Test im Monitorprogramm Zielhardware Bild: Debugging im Monitor Editor gibt eventuell über Syntax Highlightning und Intelli-Sense Hinweise über Programmierfehler. Compiler stellt formale Programmierfehler fest. Mit der Hilfe des Monitorprogramms in der Zielhardware kann der compilierte Code übertragen werden. Die Monitorbefehle ermöglichen das Setzen von Haltepunkten an markanten Stellen und erlauben eine schrittweise Ausführung des Anwenderprogramms; ferner können Speicherinhalte editiert werden. Der Einsatz eines Monitorprogramms ermöglichte komfortableres Debugging, ist aber heute von moderneren Verfahren wie JTAG abgelöst worden Test im Simulator Embedded Systemarchitekturen und Echtzeitbetriebssysteme 81

82 Source Code schreiben Editor / IDE Editor gibt eventuell über Syntax Highlightning und Intelli-Sense Hinweise über Programmierfehler Compiler stellt formale Programmierfehler fest Source Code kompilieren Compiler Test im Simulator Simulator / In-Circuit Emulator (ICE) Monitor, EPROM Brenner, JTAG Vor dem Test in der eigentlichen Zielhardware können in der Simulation des Mikrokontrollers bereits Fehler beseitigt werden. Wird heute häufig eingesetzt, da es sehr effizient ist. Test in Zielhardware Zielhardware Bild: Test im Simulator Debugging mit dem JTAG Interface Embedded Systemarchitekturen und Echtzeitbetriebssysteme 82

83 Source Code schreiben Editor / IDE Editor gibt eventuell über Syntax Highlightning und Intelli-Sense Hinweise über Programmierfehler Compiler stellt formale Programmierfehler fest Source Code kompilieren Compiler JTAG Test mit JTAG Zielhardware Bild: Test mit JTAG Der kompilierte Code kann mit der Boundary Scan Technik (JTAG) auf einfachster Weise in die Zielhardware geschrieben werden und das Interface erlaubt die vollständige Kontrolle des Mikrocontrollers. D ie komfortabelste Methode des Debuggens; sehr schnell und effizient. Das JTAG Interface oder auch als BDM (Background Debug Mode) Interface bezeichnet, macht sich die Boundary Scan Methode zu Nutzen. In der Anfangszeit hatte man für das Debugging nur wenige Tools wie z. B. Oszilloskope zur Verfügung. Die später eingesetzten Emulatoren, spezielle Prozessoren für die Entwicklung mit herausgeführten Kontakten, waren für größere Prozessoren nicht mehr einsetzbar. Das BDM/JTAG Interface ist auch bei komplexen CPUs verwendbar. Dabei hat das JTAG Entwicklungswerkzeug den Prozessor vollkommen im Griff und die darauf aufsetzende Debugoberfläche steuert wiederum das JTAG Interface. Idealerweise kann man so direkt aus der Integrierten Entwicklungsoberfläche heraus Software debuggen. Der Programmcode kann editiert, compiliert, auf die Zielhardware übertragen und anschließend direkt im Prozessor debugged werden. Über ein paralleles oder serielles Interface kann man direkt auf den Speicher und auf die Register zugreifen. So ist es möglich, die Reaktionen der Hardware auszulesen, oder irgendwelche Zustände extern herbeizuführen um beispielsweise eine spezielle Situation auszutesten. Über die Debuggeroberfläche kann Schritt für Schritt der Sourcecode ausgeführt werden und man hat dabei volle Kontrolle, ob man in Unterfunktionen verzweigen möchte, oder zu bestimmten Stellen springen möchte. Mit so genannten Breakpoints ist es möglich, Haltepunkte innerhalb des Sourcecodes zu setzen, um während des Programmablaufs an dieser Stelle eine Pause zu machen, um sich in aller Ruhe den aktuellen Zustand anschauen zu können und kann bei Bedarf auch Embedded Systemarchitekturen und Echtzeitbetriebssysteme 83

84 Register abzuändern, um z. B. einen konditionalen Sprung auszuführen, der durch eine falsche Rechenoperation doch nicht erreicht wurde. Bild: Schaltplan JTAG Interface Bild: Pinbbelegung JTAG Interface Embedded Systemarchitekturen und Echtzeitbetriebssysteme 84

85 Bild: Schaltplan des Evaluation Boards MSP STK 4.3. Building Salco RTOS Applications Salvo applications are typically built in one of two ways, as a library build, or as a sourcecode build. The most important salvo files are as follows: salvo.h This is Salvo s main header file and must be included in any source file that uses Salvo services. It should not be modified by the user. This file in turn includes salvocfg.h. mem.c This is a major file, supplied with Salvo. It holds global objects, which define characteristics for the features used, like tasks, semaphores and so on. It should not be modified by the user, although the contents of salvocfg.h impact upon it. salvocfg.h This file, written by the user, determines much of the configuration of the system for the application. It sets certain key elements, like which library is to be used, and how many tasks and events there will be. Embedded Systemarchitekturen und Echtzeitbetriebssysteme 85

86 Bild: Salvo Build Process Overview In a source-code build, a Salvo application is built from user source code (C and Assembly) and from Salvo source code (C and Assembly, where applicable), including Salvo s mem.c. The user C source code makes calls to Salvo services that are contained in the Salvo source code. Again, Salvo s global objects (i.e. its task control blocks, etc.) are in \salvo\src\mem.c. In a source-code build, all of Salvo s source-code modules must be re-compiled each time the project s Salvo configuration - defined in the project s salvocfg.h file - is changed. The next Figure presents an overview of the Salvo source-code build process. In a source-code build, the configuration options in the project s salvocfg.h affect the user C source files and all of Salvo s C source files, where the desired user services are contained. Each configuration option that the user wishes to set to a nondefault value must be defined in salvocfg.h. All other configuration options are automatically set to their default values in salvo.h. As in a library build, certain configuration options (e.g. OSTASKS) set the sizes of Salvo s various global objects (e.g. the number of task control blocks). Embedded Systemarchitekturen und Echtzeitbetriebssysteme 86

87 Bild: Salvo Source-Code Build Overview Benefits of Different Build Types Library builds have the advantage that all of the Salvo services are available in the library, and the linker will add only those necessary when building the application. Embedded Systemarchitekturen und Echtzeitbetriebssysteme 87

88 The disadvantage is that if a different library configuration is required, both the salvocfg.h and the project file must be edited to ensure a match between the desired library and the library that linker sees. With a source-code build, Salvo can be completely reconfigured just by simply adding or changing entries in salvocfg.h, and by adding the required Salvo source files to the project. Another benefit of library builds is that rebuilding a project within a Makefile-driven system is faster, since the library need not be rebuilt when allowable changes (e.g. changing the number of tasks) are made to salvocfg.h. 5. LOW POWER OPERATING MODES The MSP430 operating modes support various advanced requirements for ultralow power and ultralow energy consumption. The intelligent management of the operations during the different module operation modes and CPU states achieves this. The requirements are fully supported during interrupt event handling. An interrupt event awakens the system from each of the various operating modes and returns with the RETI instruction to the mode that was selected before the interrupt event. The clocks used are ACLK, SMCLK, and MCLK. ACLK is the crystal frequency, MCLK and SMCLK are either multiples of ACLK or come from the crystal oscillators. MCLK and SMCLK are used as the system clock and subsystem clock. Um effektiv Leistung einzusparen, gibt es ein ganzes Bündel an Details, die bei der Familie MSP430 berücksichtigt worden sind. Das reicht vom Verbrauch von Quarzoszillatoren in Abhängigkeit von Oszillator schaltung, Anschwing dauer und Schwingfrequenz bis zur schaltungstechnischen Auslegung von Ein-/Ausgängen Bild: Operation Modes Embedded Systemarchitekturen und Echtzeitbetriebssysteme 88

89 The software can conbild several operating modes: Active mode AM; SCG1=0, SCG0=0, OscOff=0, CPUOff=0: CPU clocks are active Low-power mode 0 (LPM0); SCG1=0, SCG0=0, OscOff=0, CPUOff=1: CPU is disabled ACLK and SMCLK remain active. MCLK is disabled FLL+ Loop control remains active Low-power mode 1 (LPM1); SCG1=0, SCG0=1, OscOff=0, CPUOff=1: CPU is disabled FLL+ Loop control is disabled ACLK and SMCLK remain active. MCLK is disabled Low-power mode 2 (LPM2); SCG1=1, SCG0=0, OscOff=0, CPUOff=1: CPU is disabled MCLK and FLL+ loop control and DCOCLK are disabled DCO s dc-generator remains enabled ACLK remains active Low-power mode 3 (LPM3); SCG1=1, SCG0=1, OscOff=0, CPUOff=1: CPU is disabled MCLK, FLL+ loop control, and DCOCLK are disabled DCO s dc-generator is disabled ACLK remains active Low-power mode 4 (LPM4); SCG1=X, SCG0=X, OscOff=1, CPUOff=1: CPU is disabled ACLK is disabled MCLK, FLL+ loop control, and DCOCLK are disabled DCO s dc-generator is disabled Crystal oscillator is stopped Embedded Systemarchitekturen und Echtzeitbetriebssysteme 89

90 Bild: Betriebszustände und Übergangsbedingungen 6. INTERRUPTS UND INTERRUPT SERVICE ROUTINEN (ISR) Ziele: Begriffsdefinition Embedded Systemarchitekturen und Echtzeitbetriebssysteme 90

91 Shared Interrupt (Wired OR auf Basis von Open Collector Schaltungen) NMI (maskable, non maskable) Message-Signaled Interrupts Unterschiedliche Arten von Interrupts Hardware-, Softwareinterrupts (DOS 21h, BIOS 10h) BIOS-Interrupts Exceptions (Fault, Trap, Abort) Interrupt-Controller Kaskadierte Interruptcontroller Bsp.: 8259 Vermittlung an den PC Wired OR-Shared Interrupt Einsatzgebiete von Interrupts Anwendungsbsp.: Gegenüberstelung Polling - Interruptbasierende Verarbeitung Wake on LAN Diagnosebearbeitung und Power Save Funktionsweise IRQ -> Interruptvektortabelle -> ISR C -> ASM -> HexCode bei der Implementierung von Interrupts am MSP430xx Interruptvektoren umbiegen IRQs am Systembus Bsp: Interrupt-Ressourcen im PC Bsp.: Interrupts beim MSP430, Auflösung der Makroanweisung #pragma Literatur und Weblinks Begriffsdefinitionen, unterschiedliche Arten von Interrupts Das englische Wort "Interrupt" bedeutet einfach Unterbrechung. Diese Bezeichnung verwendet man allgemein für Anweisungen an den PC-Hauptprozessor, den gerade laufenden Prozess zu unterbrechen und (vorübergehend) einen anderen Befehl abzuarbeiten. Es werden begrifflich verschiedene Arten von Interrupts unterschieden, auf die nachstehend eingegangen werden soll Hardware-Interrupts ( Interrupt Request -Leitungen) Über Interrupt Requests (Abkürzung IRQ, englisch für Unterbrechungsanforderung ) wird in Mikrocomputern eine Unterbrechung eines Prozessors ausgelöst, in der Regel ausge- Embedded Systemarchitekturen und Echtzeitbetriebssysteme 91

92 hend von Peripheriegeräten im System. Der Prozessor unterbricht dann seine derzeitige Aufgabe und führt die Unterbrechungsroutine (Interrupt Service Routine = ISR) aus. Danach wird die zuvor unterbrochene Aufgabe fortgesetzt. Bsp: Der serielle Schnittstellenbaustein UART generiert einen Interrupt Request (IRQ), wenn ein Zeichen über das COM-Interface empfangen hat. Die dem IRW zugeordnete Unterbrechungsroutine (ISR) kann nun das jeweilige Zeichen von dem UART-Baustein lesen und z.b. in den Hauptspeicher (Arbeitsspeicher) übertragen. Weitere Beispiele, in denen Geräte einen Interrupt Request generieren: Netzwerkkarte: wenn Daten empfangen wurden und im Puffer bereitliegen Festplatte: wenn die vorher angeforderten Daten gelesen wurden und abholbereit sind (das Lesen von der Festplatte dauert relativ lange) Interrupt Request oder IRQ Als IRQ bezeichnet man eine elektrisches Signal, das eine PC-Hardwarekomponente auslösen kann, um die CPU zur Abarbeitung von Befehlen aufzufordern. So meldet etwa ein SCSI- oder EIDE-Hostadapter dem Hauptprozessor, dass angeforderte Daten bereitstehen und jetzt verarbeitet werden müssen. Auch eine Soundkarte teilt über einen IRQ mit, dass sie jetzt neue Daten benötigt, die die CPU berechnen oder aus dem Speicher liefern soll. Die CPU besitzt nur einen Eingang für Interruptanforderungen. Um zu entscheiden, welche Hardwarekomponente die Aufmerksamkeit des Prozessor braucht, gibt es eine festgelegte Vorgehensweise: Ein spezieller Controller im Chipsatz, der Programmable Interrupt Controller (PIC), stellt mehrere Eingänge für IRQ-Anforderungen von Hardwarekomponenten zur Verfügung. Löst nun eine Hardwarekomponente einen IRQ aus, so schickt der PIC seinerseits eine Interruptanforderung an die CPU und übermittelt dieser gleichzeitig eine Speicheradresse (siehe Vektorisierung von Interrupts), an der die jetzt auszuführenden Anweisungen stehen. Diese arbeitet die CPU dann ab. Der PIC hat sich historisch aus der XT-Architektur entwickelt. Damals bot er nur acht Eingänge (IRQ 0-7). Mit der AT-Architektur kam ein zweiter PIC hinzu, der an den IRQ2 des ersten PIC angeschlossen ist. In modernen Chipsätzen ist diese Bauform nicht mehr vorhanden, aber die Funktionsweise blieb so. Die Nummerierung der IRQs gibt die Priorität dieser IRQs an; diese ist aber nicht absolut zu nehmen. Die meisten der 15 verschiedenen IRQs sind fest belegt, andere lassen sich je nach Konfiguration des PC unterschiedlich nutzen: IRQ0 besitzt jedoch in beiden Fällen stets die höchste und IRQ15 ebenfalls die niedrigste Priorität. IRQ typische Bedeutung Alternativen Embedded Systemarchitekturen und Echtzeitbetriebssysteme 92

93 00 Systemtaktgeber 01 Tastatur-Controller 02 programmierbarer Interrupt-Controller alte Modems, EGA, COM3, COM4 03 serielle Schnittstelle COM2 (E/A-Bereich 02F8) COM4, Modems, SK, NWK 04 serielle Schnittstelle COM1 (E/A-Bereich 03F8) COM3, Modems, SK, NWK 05 frei, oft Soundkarte (Soundblaster-Emulation) oder LPT2 06 Floppy-Controller 07 parallele (Drucker-)Schnittstelle LPT1 (E/A-Bereich 0378) 08 Echtzeituhr LPT2, LPT3, COM3/4, Modems, NWK LPT2, COM3/4, Modems, SK, NWK 09 frei SK, NWK, SCSI, PCI 10 frei SK, NWK, SCSI, IDE, PCI 11 frei SK, NWK, SCSI, VGA, IDE, PCI 12 PS/2-Mausanschluss SK, NWK, SCSI, VGA, 3. IDE, PCI 13 Math.-Coprozessor (ob separat oder in CPU integriert) IDE-Channel (primärer IDE-Kanal) SCSI IDE-Channeln (sekundärer IDE-Kanal) NWK, SCSI Für Komponenten, die über den ISA-Bus angeschlossen sind, muss aus elektrischen Gründen jeweils eine eigene, ungeteilte IRQ-Leitung zur Verfügung stehen. Es gibt nur eine Ausnahme, das sind die COM-Ports: Stehen mehr als zwei serielle Schnittstellen zur Verfügung, so teilen sich COM1 und COM3 den IRQ4 und COM2 und COM4 den IRQ3; Die E/A-Bereiche von COM1 und COM3 bzw. COM2 und COM4 sind jedoch verschieden. Eine tatsächlich gleichzeitige Benutzung der IRQ-Leitung etwa durch COM1 und COM3 kann bei höheren Datenübertragungsraten zu Problemen führen. Embedded Systemarchitekturen und Echtzeitbetriebssysteme 93

94 Bild: Bsp.: Interruptliste eines Pentium-Rechners 6.2. Übertragung des Interruptvektors von der Peripherie an die CPU Übertragung des Interruptvektors von der Peripherie an die CPU: Vektorisierung Das Verzweigen zur Interrupt-Service-Routine wird allgemein mit Vektorisierung von Interrupts bezeichnet. Bei der Vektorisierung gibt es viele Möglichkeiten, von denen hier die wichtigsten vorgestellt werden: 1. Die Interruptquelle legt den CALL-Befehl auf den Datenbus. Dieser wird vom Prozessor gelesen und wird daraufhin decodiert und ausgeführt. 2. Die Interruptquelle legt nicht den CALL-Befehl selbst, sondern seine (Speicher-) Adresse auf den Datenbus. Der Prozessor liest mit dieser Adresse den CALL-Befehl aus dem Speicher, decodiert den Befehl und führt ihn aus. Embedded Systemarchitekturen und Echtzeitbetriebssysteme 94

95 3. Anstelle des ganzen Befehls legt die Interruptquelle nur die im benötigten Befehl befindliche Adresse auf den Datenbus. Dies ist schließlich gleich der Adresse der Service-Routine. Der Prozessor liest die Service-Routine und verzweigt direkt zum Mikroprogramm des CALL-Befehls (oder gar zu einem bestimmten Mikroprogramm für den Interrupt). Die Decodierung entfällt. 4. Statt der Adresse der Service-Routine wird nur die Vektornummer auf den Datenbus gelegt. Durch den Interrupt wird die Vektornummer bestimmt. In der im Speicher befindlichen Vektortabelle werden die Startadressen der jeweiligen Service-Routinen festgehalten. (Vgl. Abschnitt ). Die Adresse der Service-Routine wird vom Prozessor aus dem Speicher gelesen und verzweigt direkt zum Mikroprogramm des CALL- Befehls (oder zu einem bestimmen Mikroprogramm für den Interrupt). Solche Interrupts nennt man Vektor-Interrupts. 5. Anders als in 4. legt die Interruptquelle keine Angabe für die Service-Routine auf den Datenbus. Die Vektornummer ist für den jeweiligen Interrupt prozessorintern gespeichert, so dass sie nicht erst (prozessorextern, z.b. über den Speicher) gelesen werden muss. Der Prozessor benutzt die Vektornummer unmittelbar zur Indizierung der Vektortabelle. Man nennt diese Interrupts Autovektor-Interrupts. Embedded Systemarchitekturen und Echtzeitbetriebssysteme 95

96 Bewertung der Methoden: In der Praxis wird die Vektormethode 4. und 5. am häufigsten eingesetzt. Durch sie entsteht ein großer Hardware-Aufwand, da für jede Interrupt-Anforderung ein Eingang am Prozessor vorgesehen sein muss. Flexibler sind jedoch die ersten drei Methoden, weil mehrere mögliche ISR auf einen einzigen Interrupt angewendet werden können. Die Effizienz ist allerdings geringer Maskierbare und nichtmaskierbare Interrupts Maskierbare Interrupts (maskable Interrupts) Wenn durch einen Interrupt das Hardware-Interruptsignal INT=1 gesetzt ist, kann es bei einem Hardwaretest zu Problemen führen. Im unmittelbaren Befehlszyklus nach Ausführung der Service-Routine wird wieder derselbe Interrupt ausgelöst, auch wenn die Peripherie diesen nicht erwünscht hat. Folglich muss ein zusätzliches Bit untergebracht werden, welches das Interruptsignal unwirksam macht. Ein solches Bit heißt Maskenbit, da das Interruptsignal,,maskiert`` wird. Für den Prozessor ist das Interruptsignal, solange es maskiert ist, praktisch unsichtbar. Das Entfernen (,,Demaskieren``) des Interrupts sollte erst nach Abarbeitung der Service-Routine erfolgen, da damit zeitgleich auch das Interrupt-Pending-Bit gelöscht wird. Nicht maskierbare Interrupts (non-maskable Interrupt, NMI) Neben den maskierbaren Interrupts gibt es aber auch solche, die sich nicht maskieren lassen. Es handelt sich um nicht-maskierbare Interrupts (NMI). NMIs können nicht ausmaskiert werden. Auch die Software besitzt keine Möglichkeit, diese Interrupts zu unterbinden. Sie sind in der Lage, bereits laufende (maskierbare) Interrupts zu unterbrechen. NMIs haben stets die höchste Priorität und sind nur für die schlimmsten Ereignisse konzipiert worden. Ausgelöst werden sie z. B. bei unmittelbar bevorstehendem Stromverlust oder bei Speicher(zugriffs)fehlern (Page Faults). Die NMIs muss die CPU unmittelbar verarbeiten, da sie bei zeitkritischen Unterbrechungsanforderungen zum Einsatz kommen Software-Interrupts (BIOS-Interrupt) Embedded Systemarchitekturen und Echtzeitbetriebssysteme 96

97 Literatur und Weblinks: Interruptliste siehe Buch: PC Intern - Systemprogrammierung, Michael Tischer Über die so genannten BIOS-Interrupts stellt das BIOS bestimmte Funktionen bereit. Diese nutzt das Betriebssystem oder irgend ein Programm durch Aufruf des BIOS-Interrupts, ähnlich wie ein Unterprogramm. Bekannt ist etwa der INT 13h, über den man große Festplatten ansprechen kann. Bild: Schichtenmodell zum MS-DOS Betriebssystem Software-Interrupts beim PC, z.b. Interrupt 10h - BIOS (Bildschirm) Interrupt 16h - BIOS (Tastatur) Interrupt 21h - DOS (Betriebssystemfunktionen) BIOS-Interrupt zur Tastaturabfrage: Interrupt 16h Funktion 00h - Zeichen auslesen Funktion 01h - Prüfen, ob Zeichen vorhanden ist Embedded Systemarchitekturen und Echtzeitbetriebssysteme 97

98 Bild: Funktion 01h - Prüfen, ob Zeichen vorhanden ist BIOS-Interrupt zur Bildschirmansteuerung: Interrupt 10h Funktion 00h - Setzen des Videomodus Funktion 02h - Positionierung des Cursors Funktion 03h - Auslesen der Cursorposition Funktion 09h - Schreiben eines Zeichens / Farbe Funktion 0Eh - Schreiben eines Zeichens Bild: BIOS-Interrupt 10h, Funktion 03h - Auslesen der Cursorposition DOS-Interrupts zum Aufruf von Betriebssystemfunktionen: Interrupt 21h Embedded Systemarchitekturen und Echtzeitbetriebssysteme 98

99 Funktion 02h - Ausgabe eines Zeichens Funktion 09h - Ausgabe einer Zeichenkette Funktion 0Ah - Eingabe einer Zeichenkette Funktion 31h - Programm speicherresident beenden Funktion 3Ch - Datei erstellen Funktion 3Dh - Datei öffnen Funktion 3Eh - Datei schließen Funktion 3Fh - Datei lesen Funktion 40h - Datei beschreiben Funktion 41h - Datei löschen Funktion 42h - Dateizeiger bewegen Funktion 49h - RAM-Speicher freigeben Funktion 4Ch - Programm mit Ende-Code beenden Funktion 4Eh - Ersten Verzeichniseintrag suchen Funktion 4Fh - Nächsten Verzeichniseintrag suchen Bild: DOS-Interrupt 21h, Funktion 41h - Datei löschen Embedded Systemarchitekturen und Echtzeitbetriebssysteme 99

100 Bild: DOS-Interrupt 21h, Funktion 4Eh - Ersten Verzeichniseintrag suchen Interrupt Service Routinen (ISR) Heutzutage ist es undenkbar, nur eine einzige Interruptanfrage bearbeiten zu können. Es wird nach einem Verfahren gesucht, welches es ermöglicht, auch mehrere unterschiedliche Interruptquellen zu gestatten. Unabhängig von der Art des Tests (Soft- oder Hardware) springt der Prozessor zu einem Programm, das der Interruptquelle zugeordnet ist. Diese Ausnahmeroutine bezeichnet man als die (Interrupt-)Service-Routine, ISR. Eine ISR ist eine Art Unterprogramm, welches sich an einer bestimmten Stelle im Speicher befindet. Embedded Systemarchitekturen und Echtzeitbetriebssysteme 100

101 Ähnlich laufen auch die Unterprogrammaufrufe durch CALL- und RETURN-Befehle ab. Durch das IRQ-Signal (entspricht dem CALL) wird zu einer bestimmten ISR verzweigt und die Rücksprungadresse zum bisherigen Prozess auf dem Stack abgelegt. Der Assembler-Befehl RETI (RETURN) bewirkt die Rückkehr. Damit es zu keinen Konflikten mit den aktuellen Statusregistern des Prozessors kommt, muss ein Unterprogramm in einer ISR reentrant (wiedereintrittsfest) sein. Konkret heißt das, dass am Anfang der ISR die Statusregister und der Programmzähler auf dem Stack abgelegt werden. Vor der Rückkehr werden diese wieder vom Stack zurückgelesen. Es gibt einen speziellen RETURN-Befehl für Interrupts, den EOI-Befehl (End Of Interrupt). Nachdem die Service-Routine abgearbeitet worden ist, kehrt der Prozessor wieder an die Stelle im Normalprogramm zurück, das er abgearbeitet hatte, bevor der Interrupt einsetzte. Nun wird das Normalprogramm reaktiviert. Der Aufruf von Interrupts ist daher schematisch gleichbedeutend mit der Quasi-Parallelverarbeitung von Prozessen. Bild: Quasi-Parallelität von Prozessen. Werden die Prozesse wie in Abbildung verschachtelt und jeweils verzahnt ausgeführt, so haben wir eine stückchenweise Parallelverarbeitung. Man spricht dann auch von Quasi- Parallelität. Voraussetzung dafür ist allerdings die Unterbrechbarkeit des Prozessors - und damit der einzelnen Prozesse. Eine derart asynchrone Unterbrechung wird als (Prozessor-)Interrupt bezeichnet. Asynchron daher, weil der Interrupt nicht synchron, d.h. zu vorhersehbarer Zeit, sondern zu ganz bestimmten externen Ereignissen - und damit asynchron - eintrifft Der Programmable Interrupt-Controller 8259 (PIC) Im Folgenden wird der Programmable Interrupt-Controller 8259 PIC von INTEL vorgestellt, der in der Praxis eine große Rolle spielt. Embedded Systemarchitekturen und Echtzeitbetriebssysteme 101

102 Bild: Ankopplung des Interruptcontrollers 8259 an die CPU Peripheriebausteine Timer-Baustein (8253) Paralleles Interface (8255) Serielles Interface (8251) DMA-Controller (8237) Programmierbare Interruptsteuerung (8259) Bild: Blockschaltbild des PIC 8259 PICs typically have a common set of registers: Interrupt Request Register (IRR), In-Service Register (ISR), Interrupt Mask Register (IMR). The IRR specifies which interrupts are Embedded Systemarchitekturen und Echtzeitbetriebssysteme 102

103 pending acknowledgement, and is typically a symbolic register which can not be directly accessed. The ISR register specifies which interrupts have been acknowledged, but are still waiting for an End Of Interrupt (EOI). The IMR specifies which interrupts are to be ignored and not acknowledged. A simple register schema such as this allows up to two distict interrupt requests to be outstanding at one time, one waiting for acknowledgement, and one waiting for EOI. There are a number of common priority schemas in PICs including hard priorities, specific priorities, and rotating priorities. Interrupt may be edge triggered or level triggered. There are a number of common ways of acknowledgeing an interrupt has completed when an EOI is issued. These include specifying which interrupt completed, using an implied interrupt which has completed (usually the highest priority pending in the ISR), and treating interrupt acknowledgement as the EOI. Bild: Stark vereinfachter Aufbau des 8259 PIC Interrupt-Controller von INTEL und dessen Anbindung an die CPU Sein Aufbau und seine Funktionsweise ist sehr trivial und daher leicht nachzuvollziehen. Aber dennoch verfügt er über alle bisher besprochenen Features. Er kann einzeln bis zu 8 externe Interruptquellen verwalten, kann diese priorisieren, maskieren und erkennt, welche Interrupts gerade hängend (pending) sind und welcher gerade bedient (ge,,service``d) wird PIC intern Bild: codierte Interrupt-Vektornummer Die codierte Interrupt-Vektornummer ist in den niederwertigen 3 Bits angegeben. Die 5 übrigen Bits dienen als Offset des ersten IRQ (IRQ0) in der Vektortabelle, der bei Initialisierung des Interrupt-Controllers geändert werden kann ( Umbiegen von Interrupts ). Die Vektornummer berechnet sich durch Offset + IRQ-Nummer. Der Prozessor holt die Interrupt-Vektornummer vom Datenbus und ruft die entsprechende Interrupt-Service-Routine auf. Nach Beenden der Service-Routine wird ein EOI-Befehl an den Controller übergeben. Das ISR-Bit wird dann gelöscht. Embedded Systemarchitekturen und Echtzeitbetriebssysteme 103

104 In einer anderen Betriebsart, die den Normalfall darstellt, wird direkt beim Ausklingen des zweiten /INTA-Signals das ISR-Bit automatisch gelöscht. Befindet sich noch ein gesetztes Bit im PR, so beginnt dieser Vorgang von vorn. Eine Ausnahme besteht dann, wenn der PR erkennt, dass während der Abarbeitung einer Interrupt-Service-Routine ein weiterer Interrupt höherer Priorität angefordert wird. In diesem Fall wird die Interrupt-Service-Routine - entsprechend dem Abbruch eines Normalprogramms - abgebrochen und die neue Routine aufgerufen. Kaskadierung von Interrupt-Controllern Bild: Zwei kaskadierte 8259 PIC Interrupt-Controller Der ursprüngliche 8-Bit IBM-PC und der PC/XT besaßen nur einen einzigen IC, daher konnten nur 8 Hardware-Interrupts unterstützt werden. Wenig später, mit dem IBM PC/AT 16-Bit ISA-Bus, wurde aus Gründen der Abwärtskompatibilität ein zweiter PIC mit dem bereits vorhandenen zusammengeschaltet ( kaskadiert ). Da die INTEL 80x86-Prozessorserie aber nur über eine einzige INT-Leitung verfügt, wurde der zweite PIC (PIC2) an den IRQ2-Anschluß des ersten PIC (PIC1) angeschlossen. Folglich sind insgesamt 15 Hardware-Interrupts implementiert. Sind in einem System zwei PIC Interrupt-Controller kaskadiert, so ist einer Master und der andere Slave. Erreichen den Master Interruptanforderungen auf den Leitungen IRi, ändert sich nichts im Vergleich zu einem Single-Betrieb. Wenn eine Anforderung auf die Leitungen des Slave eintrifft, dann wird INT signalisiert. INT ist nicht - wie bisher - mit dem Prozessor, sondern mit dem Master-PIC verbunden. Im IRR-Register wird das 2. Bit gesetzt und gegen die ISR- und IMR-Register verglichen. Anschließend, wenn nichts dagegen spricht, wird der Slave durch die CASi-Leitungen aktiviert. Wenn im folgenden der Prozessor sein /INTA-Signal setzt, um den Interrupt zu bestätigen, fühlt sich nur der Slave davon angesprochen. Der Master ruht währenddessen. Der Rest geschieht analog zum Embedded Systemarchitekturen und Echtzeitbetriebssysteme 104

105 Single-Betrieb. Es ist denkbar, bis zu 8 Slaves an einem Master zu betreiben. In diesem Fall können bis zu 64 Interrupts verwaltet werden Zusammenspiel zwischen CPU und 8259-Controller Bild: Der Industry Standard Architecture (ISA)-Bus Zuallererst stellt sich natürlich die Frage, welche Aufgabe der Interrupt-Controller hat. In der Prozessorbeschreibung wurde bereits auf die Möglichkeit der Programmunterbrechung (Interrupts) durch externe Signale hingewiesen. Dazu besitzt der zwei Interrupteingänge. Der eine Eingang (NMI) ist für besonders wichtige Unterbrechungen vorgesehen. Embedded Systemarchitekturen und Echtzeitbetriebssysteme 105

Microcontroller Kurs. 08.07.11 Microcontroller Kurs/Johannes Fuchs 1

Microcontroller Kurs. 08.07.11 Microcontroller Kurs/Johannes Fuchs 1 Microcontroller Kurs 08.07.11 Microcontroller Kurs/Johannes Fuchs 1 Was ist ein Microcontroller Wikipedia: A microcontroller (sometimes abbreviated µc, uc or MCU) is a small computer on a single integrated

Mehr

Embedded OS für ARM Cortex Microcontroller

Embedded OS für ARM Cortex Microcontroller Embedded OS für ARM Cortex Microcontroller RTOS Design, Timinganalyse und Test mit Core Simulation und Hardware Debugger Entscheidende Fragen für oder gegen RTOS Lohnt sich der Einsatz eines RTOS auch

Mehr

GinLink Interface 1GHz RISC CPU M-RAM High-Speed Feldbus Controller RISC-CPU, 800MHz... 1GHz Bis zu 256 MByte SDRAM

GinLink Interface 1GHz RISC CPU M-RAM High-Speed Feldbus Controller RISC-CPU, 800MHz... 1GHz Bis zu 256 MByte SDRAM GinLink-News Feldbus-Controller GinLink Interface 1GHz RISC CPU M-RAM High-Speed Feldbus Controller RISC-CPU, 800MHz... 1GHz Bis zu 256 MByte SDRAM Technische Daten GIN-SAM3 610736800 Schnittstellen 2

Mehr

11: Echtzeitbetriebssystem ucos-ii

11: Echtzeitbetriebssystem ucos-ii 11: Echtzeitbetriebssystem ucos-ii Sie lernen anhand aufeinander aufbauender Übungen, welche Möglichkeiten ein Echtzeitbetriebssystem wie das ucosii bietet und wie sich damit MC-Applikationen realisieren

Mehr

Kurzanleitung um Transponder mit einem scemtec TT Reader und der Software UniDemo zu lesen

Kurzanleitung um Transponder mit einem scemtec TT Reader und der Software UniDemo zu lesen Kurzanleitung um Transponder mit einem scemtec TT Reader und der Software UniDemo zu lesen QuickStart Guide to read a transponder with a scemtec TT reader and software UniDemo Voraussetzung: - PC mit der

Mehr

Echtzeitbetriebssysteme (am Beispiel QNX) Dr. Stefan Enderle HS Esslingen

Echtzeitbetriebssysteme (am Beispiel QNX) Dr. Stefan Enderle HS Esslingen Echtzeitbetriebssysteme (am Beispiel QNX) Dr. Stefan Enderle HS Esslingen 1. Einführung 1.1 Embedded Systeme Embedded Systeme besitzen / benutzen einen Mikrocontroller Embedded Systeme erfüllen meist eine

Mehr

ZK2000SF ACCESS CONTROL ZUTRITTSKONTROLLE

ZK2000SF ACCESS CONTROL ZUTRITTSKONTROLLE ZUTRITTSKONTROLLE ACCESS CONTROL SMPX.xx SMPX.xG ZK2000SF Kommunikation über ISDN oder TCP/IP Intelligenter ler Individuelle Rechteverwaltung Verwaltung von 150.000 Personen Communication via ISDN or TCP/IP

Mehr

Anleitung zur Schnellinstallation TFM-560X YO.13

Anleitung zur Schnellinstallation TFM-560X YO.13 Anleitung zur Schnellinstallation TFM-560X YO.13 Table of Contents Deutsch 1 1. Bevor Sie anfangen 1 2. Installation 2 Troubleshooting 6 Version 06.08.2011 1. Bevor Sie anfangen Packungsinhalt ŸTFM-560X

Mehr

Group and Session Management for Collaborative Applications

Group and Session Management for Collaborative Applications Diss. ETH No. 12075 Group and Session Management for Collaborative Applications A dissertation submitted to the SWISS FEDERAL INSTITUTE OF TECHNOLOGY ZÜRICH for the degree of Doctor of Technical Seiences

Mehr

Embedded Touch Panel PC OTP/57V

Embedded Touch Panel PC OTP/57V Embedded Touch Panel PC OTP/57V 19 / 3HE Operator Touch Panel System 5.7 VGA LCD, Touch Screen für X86: Linux / Java oder ARM: Web Applications Beschreibung Kompakter Touch Panel PC für moderne HMI Anwendungen

Mehr

Software-SPS: Software PLC: Vom Industrie-PC fähigen From industrial PCzur to leistungs high-performance Steuerung controller Zur Visualisierung und Bedienung von PCs are used in countless machines and

Mehr

Name: ES2 Klausur Thema: ARM 25.6.07. Name: Punkte: Note:

Name: ES2 Klausur Thema: ARM 25.6.07. Name: Punkte: Note: Name: Punkte: Note: Hinweise für das Lösen der Aufgaben: Zeit: 95 min. Name nicht vergessen! Geben Sie alle Blätter ab. Die Reihenfolge der Aufgaben ist unabhängig vom Schwierigkeitsgrad. Erlaubte Hilfsmittel

Mehr

Einbau- und Bedienungsanleitung KEMPER KHS-Kabelset Figur 686 03 004

Einbau- und Bedienungsanleitung KEMPER KHS-Kabelset Figur 686 03 004 Einbau- und Bedienungsanleitung KEMPER KHS-Kabelset Figur 686 03 004 DE EN Anschluss an die Gebäudeleittechnik Die Hygienespülung verfügt über zwei Schnittstellen: Schnittstelle RS485 Digitale Schnittstelle

Mehr

Titelmasterformat durch Klicken bearbeiten

Titelmasterformat durch Klicken bearbeiten Titelmasterformat durch Klicken Titelmasterformat durch Klicken Die neue HDS Panama Serie Enterprise Plattform für den gehobenen Mittelstand Andreas Kustura, Silvio Weber Kramer & Crew GmbH & Co. KG Titelmasterformat

Mehr

Embedded Systemarchitekturen und Echtzeitbetriebssysteme

Embedded Systemarchitekturen und Echtzeitbetriebssysteme Embedded Systemarchitekturen und Echtzeitbetriebssysteme Inhaltsverzeichnis 1. ANWENDUNGSFELDER VON EMBEDDED SYSTEMEN... 2 2. BEGRIFFSDEFINITIONEN UND ANFORDERUNGEN... 2 3. AUFBAUSTRUKTUR VON EMBEDDED

Mehr

Mikrocontroller Grundlagen. Markus Koch April 2011

Mikrocontroller Grundlagen. Markus Koch April 2011 Mikrocontroller Grundlagen Markus Koch April 2011 Übersicht Was ist ein Mikrocontroller Aufbau (CPU/RAM/ROM/Takt/Peripherie) Unterschied zum Mikroprozessor Unterschiede der Controllerarten Unterschiede

Mehr

Developing Interactive Integrated. Receiver Decoders: DAB/GSM Integration

Developing Interactive Integrated. Receiver Decoders: DAB/GSM Integration Developing Interactive Integrated Wolfgang Klingenberg Robert-Bosch GmbH Hildesheim Wolfgang.Klingenberg@de.bosch.co Receiver Decoders: DAB/GSM Integration DAB-GSM-Integration.ppt 1 Overview DAB receiver

Mehr

TomTom WEBFLEET Tachograph

TomTom WEBFLEET Tachograph TomTom WEBFLEET Tachograph Installation TG, 17.06.2013 Terms & Conditions Customers can sign-up for WEBFLEET Tachograph Management using the additional services form. Remote download Price: NAT: 9,90.-/EU:

Mehr

Softwareanforderungen für Microsoft Dynamics CRM Server 2015

Softwareanforderungen für Microsoft Dynamics CRM Server 2015 Softwareanforderungen für Microsoft Dynamics CRM Server 2015 https://technet.microsoft.com/de-de/library/hh699671.aspx Windows Server-Betriebssystem Microsoft Dynamics CRM Server 2015 kann nur auf Computern

Mehr

IDS Lizenzierung für IDS und HDR. Primärserver IDS Lizenz HDR Lizenz

IDS Lizenzierung für IDS und HDR. Primärserver IDS Lizenz HDR Lizenz IDS Lizenzierung für IDS und HDR Primärserver IDS Lizenz HDR Lizenz Workgroup V7.3x oder V9.x Required Not Available Primärserver Express V10.0 Workgroup V10.0 Enterprise V7.3x, V9.x or V10.0 IDS Lizenz

Mehr

Grundlagen der Programmierung II BMI Bakk.

Grundlagen der Programmierung II BMI Bakk. BMI Bakk. Teil 2 Rainer Schubert Institut für Biomedizinische Bildanalyse Inhalt Aufbau eines µprozessors Grundbegriffe Allgemein PIC16F690 Ports Programmspeicher Datenspeicher RAM, ROM Spezialregister

Mehr

Computer: PC. Informationstechnik für Luft-und Raumfahrt Aerospace Information Technology

Computer: PC. Informationstechnik für Luft-und Raumfahrt Aerospace Information Technology Computer: PC Informationstechnik für Luft-und Raumfahrt Ab Morgen nur eingebete Systeme Aber es gibt auch PCs Na gut... dann Heute. dann haben wir es hinter uns Und nicht wenige! PCs in N Jahren Industrie

Mehr

Hybride Apps DPR und Android auf dem Xilinx ZYNQ. Endric Schubert, Missing Link Electronics Fabian Zentner, Univ. Ulm

Hybride Apps DPR und Android auf dem Xilinx ZYNQ. Endric Schubert, Missing Link Electronics Fabian Zentner, Univ. Ulm Hybride Apps DPR und Android auf dem Xilinx ZYNQ Endric Schubert, Missing Link Electronics Fabian Zentner, Univ. Ulm Konvergenz der Rechenplattformen Processing System Memory Interfaces 7 Series Programmable

Mehr

German English Firmware translation for T-Sinus 154 Access Point

German English Firmware translation for T-Sinus 154 Access Point German English Firmware translation for T-Sinus 154 Access Point Konfigurationsprogramm Configuration program (english translation italic type) Dieses Programm ermöglicht Ihnen Einstellungen in Ihrem Wireless

Mehr

p^db=`oj===pìééçêíáåñçêã~íáçå=

p^db=`oj===pìééçêíáåñçêã~íáçå= p^db=`oj===pìééçêíáåñçêã~íáçå= Error: "Could not connect to the SQL Server Instance" or "Failed to open a connection to the database." When you attempt to launch ACT! by Sage or ACT by Sage Premium for

Mehr

LWL Transceiver 9 x 1 SIP 650nm

LWL Transceiver 9 x 1 SIP 650nm LWL Transceiver 9 x 1 SIP 650nm Bild/Pic. 1 1 Allgemeine Beschreibung Der 9 x 1 Transceiver ist speziell geeignet für Anwendungen mit dem 1mm Standard- Kunststofflichtwellenleiter. Bestückt mit einer schnellen

Mehr

eurex rundschreiben 094/10

eurex rundschreiben 094/10 eurex rundschreiben 094/10 Datum: Frankfurt, 21. Mai 2010 Empfänger: Alle Handelsteilnehmer der Eurex Deutschland und Eurex Zürich sowie Vendoren Autorisiert von: Jürg Spillmann Weitere Informationen zur

Mehr

Links um und über Lego Mindstorm RCX und NXT

Links um und über Lego Mindstorm RCX und NXT Links um und über Lego Mindstorm RCX und NXT Einführungen Einführung LEGO RCX vs. NXT http://www.nxt-in-der-schule.de/lego-mindstorms-education-nxt-system/rcx-vs-nxt Essentials an NXT Tutorial http://www.ortop.org/nxt_tutorial/html/essentials.html

Mehr

Programmierbare Logik CPLDs. Studienprojekt B Tammo van Lessen

Programmierbare Logik CPLDs. Studienprojekt B Tammo van Lessen Programmierbare Logik CPLDs Studienprojekt B Tammo van Lessen Gliederung Programmierbare Logik Verschiedene Typen Speichertechnologie Komplexe Programmierbare Logik System On a Chip Motivation Warum Programmierbare

Mehr

Load balancing Router with / mit DMZ

Load balancing Router with / mit DMZ ALL7000 Load balancing Router with / mit DMZ Deutsch Seite 3 English Page 10 ALL7000 Quick Installation Guide / Express Setup ALL7000 Quick Installation Guide / Express Setup - 2 - Hardware Beschreibung

Mehr

JAEMACOM Berlin. Benjamin Schantze IGEL Technology GmbH

JAEMACOM Berlin. Benjamin Schantze IGEL Technology GmbH JAEMACOM Berlin Benjamin Schantze IGEL Technology GmbH Agenda IGEL Technology GmbH Der Universal Desktop Ansatz IGEL Hardware / Software New UD2 LX MM Preview Q4 2012 / 2013 Universal Management Suite

Mehr

Security for Safety in der Industrieautomation Konzepte und Lösungsansätze des IEC 62443

Security for Safety in der Industrieautomation Konzepte und Lösungsansätze des IEC 62443 Security for Safety in der Industrieautomation Konzepte und Lösungsansätze des IEC 62443 Roadshow INDUSTRIAL IT SECURITY Dr. Thomas Störtkuhl 18. Juni 2013 Folie 1 Agenda Einführung: Standard IEC 62443

Mehr

Teil VIII Von Neumann Rechner 1

Teil VIII Von Neumann Rechner 1 Teil VIII Von Neumann Rechner 1 Grundlegende Architektur Zentraleinheit: Central Processing Unit (CPU) Ausführen von Befehlen und Ablaufsteuerung Speicher: Memory Ablage von Daten und Programmen Read Only

Mehr

Anleitung zur Schnellinstallation TE100-P1U

Anleitung zur Schnellinstallation TE100-P1U Anleitung zur Schnellinstallation TE100-P1U V2 Table of Contents Deutsch 1 1. Bevor Sie anfangen 1 2. Installation 2 3. Konfiguration des Druckservers 3 4. Hinzufügen des Druckers zu Ihren PC-Einstellungen

Mehr

Mikrocontroller in eigenen Hobbyprojekten nutzen

Mikrocontroller in eigenen Hobbyprojekten nutzen PIC-Mikrocontroller Mikrocontroller in eigenen Hobbyprojekten nutzen - Mikrocontroller Definition und Historie - die PIC-Familie - Entwicklungssysteme - Programmierung - Softwareerstellung - Debugging

Mehr

StarterKit Embedded Control SC13 + DK51. From the electronic to the automation

StarterKit Embedded Control SC13 + DK51. From the electronic to the automation SC13 + DK51 From the electronic to the automation 21.10.2005 No. 1 /14 Entwicklungssystem für Embedded Controller Applikationsspezifische Komponenten ergänzen. Ethernet-Anbindungen seriellen Schnittstellen

Mehr

Der 80535-Übungsrechner

Der 80535-Übungsrechner 6. Für den Test kleinerer Programmodule ohne Berücksichtigung des Echtzeitverhaltens ist der Simulator das geeignete Werkzeug. Durch die Möglichkeit der Einzelschrittausführung sind erste Tests von Programmen

Mehr

Kurzinformation Brief information

Kurzinformation Brief information AGU Planungsgesellschaft mbh Sm@rtLib V4.1 Kurzinformation Brief information Beispielprojekt Example project Sm@rtLib V4.1 Inhaltsverzeichnis Contents 1 Einleitung / Introduction... 3 1.1 Download aus

Mehr

White Paper. Embedded Treiberframework. Einführung

White Paper. Embedded Treiberframework. Einführung Embedded Treiberframework Einführung White Paper Dieses White Paper beschreibt die Architektur einer Laufzeitumgebung für Gerätetreiber im embedded Umfeld. Dieses Treiberframework ist dabei auf jede embedded

Mehr

(Prüfungs-)Aufgaben zum Thema Scheduling

(Prüfungs-)Aufgaben zum Thema Scheduling (Prüfungs-)Aufgaben zum Thema Scheduling 1) Geben Sie die beiden wichtigsten Kriterien bei der Wahl der Größe des Quantums beim Round-Robin-Scheduling an. 2) In welchen Situationen und von welchen (Betriebssystem-)Routinen

Mehr

Embedded Software Engeneering mit dem Raspberry Pi

Embedded Software Engeneering mit dem Raspberry Pi Embedded Software Engeneering mit dem Raspberry Pi Übersicht Rasperry Pi Betriebssystem Hardware ARM Μ-Controller vs. Μ-Prozessor vs. SoC Embedded Software Engineering vs. Software Engineering Fazit Raspberry

Mehr

Institut für Technische Informatik, Professur für VLSI-Entwurfssysteme, Diagnostik und Architektur. PCI Express. Dirk Wischeropp. Dresden, 07.06.

Institut für Technische Informatik, Professur für VLSI-Entwurfssysteme, Diagnostik und Architektur. PCI Express. Dirk Wischeropp. Dresden, 07.06. Institut für Technische Informatik, Professur für VLSI-Entwurfssysteme, Diagnostik und Architektur PCI Express Dirk Wischeropp Dresden, 07.06.2011 Gliederung 1 Einleitung 2 Architektur 3 Layering 4 Zusammenfassung

Mehr

Military Air Systems

Military Air Systems Trennung von Applikationen unterschiedlicher Kritikalität in der Luftfahrt durch Software en am Beispiel des Real-time Operating Systems PikeOS Dr. Bert Feldmann DGLR Workshop Garching, 09.10.2007 Seite

Mehr

SARA 1. Project Meeting

SARA 1. Project Meeting SARA 1. Project Meeting Energy Concepts, BMS and Monitoring Integration of Simulation Assisted Control Systems for Innovative Energy Devices Prof. Dr. Ursula Eicker Dr. Jürgen Schumacher Dirk Pietruschka,

Mehr

Linux Terminal mit Ethernet und Java. Eine dynamische Plattform für Automatisierungsapplikationen?

Linux Terminal mit Ethernet und Java. Eine dynamische Plattform für Automatisierungsapplikationen? Linux Terminal mit Ethernet und Java. Eine dynamische Plattform für Automatisierungsapplikationen? JULIA SCHILLING SSV EMBEDDED SYSTEMS HEISTERBERGALLEE 72 D-30453 HANNOVER WWW.SSV-EMBEDDED.DE Ethernet

Mehr

Vorlesungsziele. Mit gängigen Begriffen etwas anfangen können. In der Lage sein, die Architektur von Mikroprozessoren zu verstehen

Vorlesungsziele. Mit gängigen Begriffen etwas anfangen können. In der Lage sein, die Architektur von Mikroprozessoren zu verstehen Vorlesungsziele Mit gängigen Begriffen etwas anfangen können In der Lage sein, die Architektur von Mikroprozessoren zu verstehen Die Grundkomponenten eines Mikroprozessor - Systems und ihr Zusammenwirken

Mehr

Virtualisierung im Echtzeitbereich. Andreas Hollmann FH Landshut EADS Military Air Systems

Virtualisierung im Echtzeitbereich. Andreas Hollmann FH Landshut EADS Military Air Systems Virtualisierung im Echtzeitbereich Andreas Hollmann FH Landshut EADS Military Air Systems 2 Überblick Hintergrund und Motivation Vorstellung von Lösungsansätzen Auswahl und Evaluierung Einschränkungen

Mehr

IBM XIV System Storage

IBM XIV System Storage IBM XIV System Storage Ein technischer Überblick Christian Ott XIV Solution Architect Agenda Heutige Herausforderungen Vergleich zwei Speicherarchitekturen Einführung XIV Speichertechnologie XIV Architektur

Mehr

Mark Fink @ VHS Augsburg 2015. Einführung in die Mikrocontroller-Programmierung. mark@mark-fink.de

Mark Fink @ VHS Augsburg 2015. Einführung in die Mikrocontroller-Programmierung. mark@mark-fink.de Mark Fink @ VHS Augsburg 2015 mark@mark-fink.de Mark Fink Testautomation & PerformanceEngineering Finance, Telco, Logistic Mark Fink Webmaster Media-Site Open-Source @ Github Robotics Seminar-Ablauf Haftungs-Ausschluss

Mehr

Exercise (Part XI) Anastasia Mochalova, Lehrstuhl für ABWL und Wirtschaftsinformatik, Kath. Universität Eichstätt-Ingolstadt 1

Exercise (Part XI) Anastasia Mochalova, Lehrstuhl für ABWL und Wirtschaftsinformatik, Kath. Universität Eichstätt-Ingolstadt 1 Exercise (Part XI) Notes: The exercise is based on Microsoft Dynamics CRM Online. For all screenshots: Copyright Microsoft Corporation. The sign ## is you personal number to be used in all exercises. All

Mehr

GmbH, Stettiner Str. 38, D-33106 Paderborn

GmbH, Stettiner Str. 38, D-33106 Paderborn Serial Device Server Der Serial Device Server konvertiert die physikalische Schnittstelle Ethernet 10BaseT zu RS232C und das Protokoll TCP/IP zu dem seriellen V24-Protokoll. Damit können auf einfachste

Mehr

Parameter-Updatesoftware PF-12 Plus

Parameter-Updatesoftware PF-12 Plus Parameter-Updatesoftware PF-12 Plus Mai / May 2015 Inhalt 1. Durchführung des Parameter-Updates... 2 2. Kontakt... 6 Content 1. Performance of the parameter-update... 4 2. Contact... 6 1. Durchführung

Mehr

TVHD800x0. Port-Weiterleitung. Version 1.1

TVHD800x0. Port-Weiterleitung. Version 1.1 TVHD800x0 Port-Weiterleitung Version 1.1 Inhalt: 1. Übersicht der Ports 2. Ein- / Umstellung der Ports 3. Sonstige Hinweise Haftungsausschluss Diese Bedienungsanleitung wurde mit größter Sorgfalt erstellt.

Mehr

CX6530. Keyvi3 Verwaltungssoftware CX6530 MS Access. Keyvi3 Management Software CX6530 MS Access. Keyvi3 Verwaltungssoftware

CX6530. Keyvi3 Verwaltungssoftware CX6530 MS Access. Keyvi3 Management Software CX6530 MS Access. Keyvi3 Verwaltungssoftware Keyvi3 Verwaltungssoftware Keyvi3 Management Software CX6530 Keyvi3 Verwaltungssoftware CX6530 MS Access Mit der Keyvi Verwaltungssoftware für Clex prime wird die Schließanlage zentral und komfortabel

Mehr

2.2 Rechnerorganisation: Aufbau und Funktionsweise

2.2 Rechnerorganisation: Aufbau und Funktionsweise 2.2 Rechnerorganisation: Aufbau und Funktionsweise é Hardware, Software und Firmware é grober Aufbau eines von-neumann-rechners é Arbeitsspeicher, Speicherzelle, Bit, Byte é Prozessor é grobe Arbeitsweise

Mehr

Hardwareaufbau der Mikrocontroller der 51er -Familie

Hardwareaufbau der Mikrocontroller der 51er -Familie Hardwareaufbau der Mikrocontroller der 51er -Familie Mikrocontroller (51er Familie) Quarz Port Timer A D Serielle Schnittst. CPU ROM RAM Ext. ROM Ext. RAM Programmspeicher (ROM) Datenspeicher (RAM) FFFFh

Mehr

FOR ENGLISCH VERSION PLEASE SCROLL FORWARD SOME PAGES. THANK YOU!

FOR ENGLISCH VERSION PLEASE SCROLL FORWARD SOME PAGES. THANK YOU! FOR ENGLISCH VERSION PLEASE SCROLL FORWARD SOME PAGES. THANK YOU! HELPLINE GAMMA-SCOUT ODER : WIE BEKOMME ICH MEIN GERÄT ZUM LAUFEN? Sie haben sich für ein Strahlungsmessgerät mit PC-Anschluss entschieden.

Mehr

Prozessor- und Rechnerarchitekturen (Master)

Prozessor- und Rechnerarchitekturen (Master) Prozessor- und Rechnerarchitekturen (Master) Themen am 27.05.15: Vortrag; Demo: TI-Chronos Dev Kit; Motorola / Freescale: Coldfire; Befehlsstruktur bei ARM Prozessoren; Ulrich Schaarschmidt FH Düsseldorf,

Mehr

Steuerungen. 4 Typen verbindungsprogrammierte Steuerung (VPS), speicherprogrammierte Steuerung (SPS), Mikrokontroller (MC) und Industrie-PCs (IPC)

Steuerungen. 4 Typen verbindungsprogrammierte Steuerung (VPS), speicherprogrammierte Steuerung (SPS), Mikrokontroller (MC) und Industrie-PCs (IPC) Steuerungen 4 Typen verbindungsprogrammierte Steuerung (VPS), speicherprogrammierte Steuerung (SPS), Mikrokontroller (MC) und Industrie-PCs (IPC) VPS - Funktion der Steuerung in der Schaltungstopologie

Mehr

Abteilung Internationales CampusCenter

Abteilung Internationales CampusCenter Abteilung Internationales CampusCenter Instructions for the STiNE Online Enrollment Application for Exchange Students 1. Please go to www.uni-hamburg.de/online-bewerbung and click on Bewerberaccount anlegen

Mehr

SemTalk Services. SemTalk UserMeeting 29.10.2010

SemTalk Services. SemTalk UserMeeting 29.10.2010 SemTalk Services SemTalk UserMeeting 29.10.2010 Problemstellung Immer mehr Anwender nutzen SemTalk in Verbindung mit SharePoint Mehr Visio Dokumente Viele Dokumente mit jeweils wenigen Seiten, aber starker

Mehr

Granite Gerhard Pirkl

Granite Gerhard Pirkl Granite Gerhard Pirkl 2013 Riverbed Technology. All rights reserved. Riverbed and any Riverbed product or service name or logo used herein are trademarks of Riverbed Technology. All other trademarks used

Mehr

B1 Stapelspeicher (stack)

B1 Stapelspeicher (stack) B1 Stapelspeicher (stack) Arbeitsweise des LIFO-Stapelspeichers Im Kapitel "Unterprogramme" wurde schon erwähnt, dass Unterprogramme einen so genannten Stapelspeicher (Kellerspeicher, Stapel, stack) benötigen

Mehr

Video Line Array Highest Resolution CCTV

Video Line Array Highest Resolution CCTV Schille Informationssysteme GmbH Video Line Array Highest Resolution CCTV SiDOC20120817-001 Disadvantages of high resolution cameras High costs Low frame rates Failure results in large surveillance gaps

Mehr

Reaktive Systeme und synchrones Paradigma

Reaktive Systeme und synchrones Paradigma Sascha Kretzschmann Freie Universität Berlin Reaktive Systeme und synchrones Paradigma Einführung in das Seminar über synchrone Programmiersprachen Worum geht es? INHALT 2 Inhalt 1. Einleitung - Wo befinden

Mehr

Angewandte Informatik

Angewandte Informatik Angewandte Informatik Teil 2.1 Was ist Hardware? Die Zentraleinheit! 1 von 24 Inhaltsverzeichnis 3... Was ist Hardware? 4... Teile des Computers 5... Zentraleinheit 6... Die Zentraleinheit 7... Netzteil

Mehr

Sensors Monitoring Systems

Sensors Monitoring Systems Sensors Monitoring Systems Dr.E.Horn GmbH Im Vogelsang 1 71101 Schönaich Germany Tel: +49 7031 6302-0 info@dr-horn.org DK 002629 Rev: 2 01.07.2015 1 /14 Absolut-Drehgeber Absolut-Encoder EGD50.5X und EGD50.7X

Mehr

Netduino Mikroprozessor für.net Entwickler

Netduino Mikroprozessor für.net Entwickler Netduino Mikroprozessor für.net Entwickler Patrick Herting Softwareentwickler BlueTem Software GmbH Blog E-Mail www.wdev.de pher@live.de Ablaufplan - Theorieteil Was ist der Netduino? Welche Modelle gibt

Mehr

Slothful Linux: An Efficient Hybrid Real-Time System by Hardware-Based Task Dispatching. Rainer Müller

Slothful Linux: An Efficient Hybrid Real-Time System by Hardware-Based Task Dispatching. Rainer Müller Slothful Linux: An Efficient Hybrid Real-Time System by Hardware-Based Task Dispatching Rainer Müller 21. November 2013 Spezialisierung von Betriebssystemen Vielzweckbetriebssysteme (General Purpose OS,

Mehr

Sprachausgabe. Die Steuerung des Interfaces kann, abhängig von der Besückung über I2C, RS232 oder USB erfolgen

Sprachausgabe. Die Steuerung des Interfaces kann, abhängig von der Besückung über I2C, RS232 oder USB erfolgen Sprachausgabe Einleitung Dieses Interface ist bindet das Sprachausgabe Modul MSM2 von ELV in da MYC System ein. Das Interface arbeitet als Slave am I2C Bus oder kann über RS232 /USB gesteuert werden. Dieses

Mehr

Cloud und Big Data als Sprungbrett in die vernetzte Zukunft am Beispiel Viessmann

Cloud und Big Data als Sprungbrett in die vernetzte Zukunft am Beispiel Viessmann Cloud und Big Data als Sprungbrett in die vernetzte Zukunft am Beispiel Viessmann Adam Stambulski Project Manager Viessmann R&D Center Wroclaw Dr. Moritz Gomm Business Development Manager Zühlke Engineering

Mehr

MHG - Modular Humidity Generator

MHG - Modular Humidity Generator MHG - Modular Humidity Generator Humidity Control Kontrollierte Luftfeuchtigkeit To provide reliable and reproducible results, an increasing number of analytical test methods require controlled environmental

Mehr

Employment and Salary Verification in the Internet (PA-PA-US)

Employment and Salary Verification in the Internet (PA-PA-US) Employment and Salary Verification in the Internet (PA-PA-US) HELP.PYUS Release 4.6C Employment and Salary Verification in the Internet (PA-PA-US SAP AG Copyright Copyright 2001 SAP AG. Alle Rechte vorbehalten.

Mehr

Introducing PAThWay. Structured and methodical performance engineering. Isaías A. Comprés Ureña Ventsislav Petkov Michael Firbach Michael Gerndt

Introducing PAThWay. Structured and methodical performance engineering. Isaías A. Comprés Ureña Ventsislav Petkov Michael Firbach Michael Gerndt Introducing PAThWay Structured and methodical performance engineering Isaías A. Comprés Ureña Ventsislav Petkov Michael Firbach Michael Gerndt Technical University of Munich Overview Tuning Challenges

Mehr

Microcontroller Architectures and Examples

Microcontroller Architectures and Examples Microcontroller Architectures and Examples Thomas Basmer telefon: 0335 5625 334 fax: 0335 5625 671 e-mail: basmer [ at ] ihp-microelectronics.com web: Outline Microcontroller in general Introduction Main

Mehr

1 Proseminar: Konzepte von Betriebssystem-Komponenten. Thema: Server OS AS/400 Referend: Sand Rainer. Server OS - AS/400

1 Proseminar: Konzepte von Betriebssystem-Komponenten. Thema: Server OS AS/400 Referend: Sand Rainer. Server OS - AS/400 1 Proseminar: Konzepte von Betriebssystem-Komponenten Server OS - AS/400 Gliederung Was ist eine AS/400? Wie ist OS/400 aufgebaut? Was kann eine AS/400? Bsp.: Logische Partitionierung 2 Proseminar: Konzepte

Mehr

Total Security Intelligence. Die nächste Generation von Log Management and SIEM. Markus Auer Sales Director Q1 Labs.

Total Security Intelligence. Die nächste Generation von Log Management and SIEM. Markus Auer Sales Director Q1 Labs. Total Security Intelligence Die nächste Generation von Log Management and SIEM Markus Auer Sales Director Q1 Labs IBM Deutschland 1 2012 IBM Corporation Gezielte Angriffe auf Unternehmen und Regierungen

Mehr

Lufft UMB Sensor Overview

Lufft UMB Sensor Overview Lufft Sensor Overview Wind Radiance (solar radiation) Titan Ventus WS310 Platinum WS301/303 Gold V200A WS300 WS400 WS304 Professional WS200 WS401 WS302 Radiance (solar radiation) Radiation 2 Channel EPANDER

Mehr

Technology for you. Media Solutions

Technology for you. Media Solutions Technology for you Media Solutions Media Units / Media Units Media Units Robuste Installationstechnik für jeden Klassenund Schulungsraum Robust installation technology for each class- and conference room

Mehr

Customer-specific software for autonomous driving and driver assistance (ADAS)

Customer-specific software for autonomous driving and driver assistance (ADAS) This press release is approved for publication. Press Release Chemnitz, February 6 th, 2014 Customer-specific software for autonomous driving and driver assistance (ADAS) With the new product line Baselabs

Mehr

IT für Führungskräfte. Zentraleinheiten. 11.04.2002 Gruppe 2 - CPU 1

IT für Führungskräfte. Zentraleinheiten. 11.04.2002 Gruppe 2 - CPU 1 IT für Führungskräfte Zentraleinheiten 11.04.2002 Gruppe 2 - CPU 1 CPU DAS TEAM CPU heißt Central Processing Unit! Björn Heppner (Folien 1-4, 15-20, Rollenspielpräsentation 1-4) Harald Grabner (Folien

Mehr

1. Juli 2014. Hybrid Bus System: PCI-Bus, Feldbus und Punkt-Punktverbindungen mit GB Ethernet, SATA,

1. Juli 2014. Hybrid Bus System: PCI-Bus, Feldbus und Punkt-Punktverbindungen mit GB Ethernet, SATA, Hybrid Bus System: PCI-Bus, Feldbus und Punkt-Punktverbindungen mit GB Ethernet, SATA, USB sowie PCIe Trenew Electronic AG 5 unabhängige Bereiche mit viel Synergie-Potential: Distributor + Hersteller Embedded

Mehr

BLK-2000. Quick Installation Guide. English. Deutsch

BLK-2000. Quick Installation Guide. English. Deutsch BLK-2000 Quick Installation Guide English Deutsch This guide covers only the most common situations. All detail information is described in the user s manual. English BLK-2000 Quick Installation Guide

Mehr

lome6 (Lights-Out-Management-Ether6) by warhog 2011

lome6 (Lights-Out-Management-Ether6) by warhog <warhog@gmx.de> 2011 lome6 (Lights-Out-Management-Ether6) by warhog 2011 Inhaltsverzeichnis 1 GPL...2 2 Einleitung...3 3 Funktionen...3 4 Erster Prototyp...4 5 Hardware...4 6 Software...5 6.1 Ethersex...5 6.2

Mehr

Reflex The Real-Time Event Flow EXecutive

Reflex The Real-Time Event Flow EXecutive Einführung The Real-Time Event Flow EXecutive Karsten Walther, und Jörg Nolte Brandenburgische Technische Universität Cottbus 1. Statusseminar des InnoProfile Projekt TANDEM 2007 Gliederung Einführung

Mehr

Scrum @FH Biel. Scrum Einführung mit «Electronical Newsletter» FH Biel, 12. Januar 2012. Folie 1 12. Januar 2012. Frank Buchli

Scrum @FH Biel. Scrum Einführung mit «Electronical Newsletter» FH Biel, 12. Januar 2012. Folie 1 12. Januar 2012. Frank Buchli Scrum @FH Biel Scrum Einführung mit «Electronical Newsletter» FH Biel, 12. Januar 2012 Folie 1 12. Januar 2012 Frank Buchli Zu meiner Person Frank Buchli MS in Computer Science, Uni Bern 2003 3 Jahre IT

Mehr

The Single Point Entry Computer for the Dry End

The Single Point Entry Computer for the Dry End The Single Point Entry Computer for the Dry End The master computer system was developed to optimize the production process of a corrugator. All entries are made at the master computer thus error sources

Mehr

Funktionale Sicherheit ISO 26262 Schwerpunkt Requirements Engineering,

Funktionale Sicherheit ISO 26262 Schwerpunkt Requirements Engineering, Funktionale Sicherheit ISO 26262 Schwerpunkt Requirements Engineering, Manfred Broy Lehrstuhl für Software & Systems Engineering Technische Universität München Institut für Informatik ISO 26262 Functional

Mehr

Exercise (Part II) Anastasia Mochalova, Lehrstuhl für ABWL und Wirtschaftsinformatik, Kath. Universität Eichstätt-Ingolstadt 1

Exercise (Part II) Anastasia Mochalova, Lehrstuhl für ABWL und Wirtschaftsinformatik, Kath. Universität Eichstätt-Ingolstadt 1 Exercise (Part II) Notes: The exercise is based on Microsoft Dynamics CRM Online. For all screenshots: Copyright Microsoft Corporation. The sign ## is you personal number to be used in all exercises. All

Mehr

Rechnerorganisation 2 TOY. Karl C. Posch. co1.ro_2003. Karl.Posch@iaik.tugraz.at 16.03.2011

Rechnerorganisation 2 TOY. Karl C. Posch. co1.ro_2003. Karl.Posch@iaik.tugraz.at 16.03.2011 Technische Universität Graz Institut tfür Angewandte Informationsverarbeitung und Kommunikationstechnologie Rechnerorganisation 2 TOY Karl C. Posch Karl.Posch@iaik.tugraz.at co1.ro_2003. 1 Ausblick. Erste

Mehr

O N E SOLUTION. VIS//ON Overview Module Datacenter and Cablemanagement. VIS//ON Übersicht Module Datacenter und Kabelmanagement

O N E SOLUTION. VIS//ON Overview Module Datacenter and Cablemanagement. VIS//ON Übersicht Module Datacenter und Kabelmanagement O N E SOLUTION VIS//ON Overview Module Datacenter and Cablemanagement VIS//ON Übersicht Module Datacenter und Kabelmanagement Ü B E R S C H R I F T A R T I K E L I N N E N S E I T E C O M PA N Y OVERV

Mehr

Mehr erreichen mit der bestehenden Infrastuktur. Mathias Widler Regional Sales Manager DACH mwidler@a10networks.com

Mehr erreichen mit der bestehenden Infrastuktur. Mathias Widler Regional Sales Manager DACH mwidler@a10networks.com Mehr erreichen mit der bestehenden Infrastuktur Mathias Widler Regional Sales Manager DACH mwidler@a10networks.com 1 Das Unternehmen A10 Networks Gegründet 2004, 240 Mitarbeiter Mission: Marktführer im

Mehr

Lösungen rund um das Zentrum der Virtualisierung

Lösungen rund um das Zentrum der Virtualisierung Lösungen rund um das Zentrum der Virtualisierung Bernd Carstens Dipl.-Ing. (FH) Sales Engineer D/A/CH Bernd.Carstens@vizioncore.com Lösungen rund um VMware vsphere Das Zentrum der Virtualisierung VESI

Mehr

Arrow University München 03.03.2015. Thin Client Lösungen performant (auch im 3D-Umfelfd), zukunftssicher und zentral verwaltet!

Arrow University München 03.03.2015. Thin Client Lösungen performant (auch im 3D-Umfelfd), zukunftssicher und zentral verwaltet! Arrow University München 03.03.2015 Thin Client Lösungen performant (auch im 3D-Umfelfd), zukunftssicher und zentral verwaltet! Produkte & Services IGEL Produkt-Überblick Thin Client Management Thin Client

Mehr

EyeCheck Smart Cameras

EyeCheck Smart Cameras EyeCheck Smart Cameras 2 3 EyeCheck 9xx & 1xxx Serie Technische Daten Speicher: DDR RAM 128 MB FLASH 128 MB Schnittstellen: Ethernet (LAN) RS422, RS232 (nicht EC900, EC910, EC1000, EC1010) EtherNet / IP

Mehr

Advanced DAQ System Development Using NI-DAQmx and Intelligent DAQ (FPGA)

Advanced DAQ System Development Using NI-DAQmx and Intelligent DAQ (FPGA) Advanced DAQ System Development Using NI-DAQmx and Intelligent DAQ (FPGA) Rudolf Gierlinger National Instruments, Österreich AGENDA Teil 1: Advanced NI-DAQmx Datenerfassungsmöglichkeiten Konfiguration

Mehr

SECVEL Kartenschutzhüllen Testbericht 2014

SECVEL Kartenschutzhüllen Testbericht 2014 SECVEL Kartenschutzhüllen Testbericht 2014 Ort: idtronic GmbH Donnersbergsweg 1 67059 Ludwigshafen Teilnehmer: Tobias Böhler (Support) Peter Löcher (Key Account Manager Professional RFID) Rahmenbedingungen

Mehr

Embedded Linux. Embedded Linux. Daniel Buchheim daniel.buchheim@informatik.tu-cottbus.de. Seminar "Eingebettete drahtlose Systeme"

Embedded Linux. Embedded Linux. Daniel Buchheim daniel.buchheim@informatik.tu-cottbus.de. Seminar Eingebettete drahtlose Systeme Daniel Buchheim daniel.buchheim@informatik.tu-cottbus.de Embedded Linux 30.01.2009 Daniel Buchheim Inhalt: Was ist Embedded Linux? Hardwareunterstützung in Eingebetteten Systemen Open Source Aspekte Aufbau

Mehr

Forschungsprojekt OSAMI Teilprojekt: Entwicklung eines telemedizinischen Trainingssystems

Forschungsprojekt OSAMI Teilprojekt: Entwicklung eines telemedizinischen Trainingssystems Forschungsprojekt OSAMI Teilprojekt: Entwicklung eines telemedizinischen Trainingssystems Schüchtermann-Klinik, Abteilung für Rehabilitation Bad Rothenfelde, November 2008 Erläuterungen Erläuterungen zu

Mehr