ESI Einführung.

Slides:



Advertisements
Ähnliche Präsentationen
Kleines Seminar WS01/02 von Sebastian Süß
Advertisements

KA – Rechnerarchitektur I ____________________________________________________________________________________________ ____________________________________________________________________________________________.
Prozessorstruktur Ulrich Borchert.
Referat zum Thema: Soundkarte Von Julian Weger IT-Klasse 2482.
Vom Steinzeitmonitor bis
Multimediasteuerungen
Neuerungen in PalmOS® 5 Florian Schulze (SS 2003).
Name des Vortragenden Klasse Ort / tt.mm.jjjj Beschreibung Zentraleinheit CPU, Motherbord, RAM.
Prof. Dr. Uwe Brinkschulte Lehrstuhl für Eingebettete Systeme Robert-Mayer-Straße Sekretariat: Linda Stapleton,
Die Geschichte der Rechenmaschinen
Abschlusspräsentation Informationstechnik:
Atmel AVR JTAG Einführung
W. Oberschelp G. Vossen Kapitel 7.
© 2006 W. Oberschelp, G. Vossen Rechneraufbau & Rechnerstrukturen, Folie 12.1.
WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK TotalView Debugger Vorgestellt von Marco Dyballa mail:
ilmenau.de Exploiting Pocket PC. ilmenau.de Exploiting Pocket PC PocketPC existiert seit über 5 Jahren (Windows CE seit ca. 10)
Embedded Applications
Vorlesung 2 Rechnerarchitektur Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Open Source Prozessor Leon2 Peer Royla und Marco Siebert RST-Labor WS 04/05 Prof. Dr.-Ing. Thomas Risse.
PCI-Express als Grafikschnittstelle
Medienverarbeitung I, WS 99/00 Simon Barkow, Gunnar Kiesel
Zentralübung Automotive Software Engineering – Übungsblatt 4
CPLD/FPGA-Programmierung mit E-blocks. Wozu die CPLD/FPGA-Programmierung untersuchen? Zusammenhang zur modernen Digitalen Elektronik Verschwinden der.
Zeitreise durch die Computergeschichte
Name des Vortragenden Klasse Ort / tt.mm.jjjj Beschreibung Zentraleinheit CPU, Motherbord, RAM.
University of Applied Sciences Übung Objektorientierte Programmierung II Dipl.-Inf. (FH) Markus Vogler.
Zwischenpräsentation
Mobiltelefone heute (Smartphones)
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Präsentation von Alexander Schönfeld
Aufbau eines von-Neumann- Rechners Marcel Waldvogel.
BREWERY-AUTOMATION Solutions for Micro- Breweries
Die Geschichte des Computers
INTEL Pentium 4 Prozessor
Basic Input/Output System
Mikrocomputertechnik 1 Einführung Prof. J. Walter Stand Oktober Mikrocomputertechnik Jürgen Walter EVA-WIE-Quickie Eingabe – Verarbeitung - Ausgabe.
3.4 CPU-Chips und Busse CPU-Chips
Embedded Systems Prof. Dr. H. Kristl
Computerorientierte Physik VORLESUNG und Übungen Vorlesung Zeit: Di., 8.30 – Uhr Ort: Hörsaal 5.01, Institut für Experimentalphysik, Universitätsplatz.
Computerorientierte Physik VORLESUNG und Übungen Vorlesung Zeit: Mo., – Uhr Ort: Hörsaal 5.01, Institut für Physik, Universitätsplatz 5, A-8010.
Computerorientierte Physik VORLESUNG
auf kleinen Linux-Devices
Kickoff Präsentation WS Eigenständige Entwicklung und Konstruktion einer ControllerplatineProjektziel.
Projektmanagement Ziel und Umfang eines Softwareprojektes definieren
Die verschiedenen Schnittstellen eines Computers und ihre Verwendung
Embedded Linux Portierung auf mobiles Datenerfassungsterminal
Hardware / Software Codesign Hardware vs. Software: Maßnahmen zur Erreichung der Design-Ziele.
Vienna University of Technology Pirker Simon 1. Überblick Definition Motivation Vorteile Entwurf von VP Pirker Simon 2.
Infoscreen 2.0.
Infoscreen 2.0. Agenda Motivation Projektorganisation Hardware Software Zukunftsvision.
Rechnersysteme: Halbzeit Marcel Waldvogel. Marcel Waldvogel, IBM Zurich Research Laboratory, Universität Konstanz, , 2 Daten und Information.
Datenverarbeitung im PC
EN/FAD Ericsson GmbH EDD/ Information im 21. Jahrundert muss Erwünscht Relevant Erreichbar Schnell Kostenlos!?
Präsentation von Nadine Hartmann und Buket Barut
Mikrocomputertechnik 1 Einführung Prof. J. Walter Stand Oktober Mikrocomputertechnik Jürgen Walter „EVA-WAS-Quickie“ Eingabe – Verarbeitung - Ausgabe.
Grundlagen, Prinzipien und Aufgaben eines Betriebssystems
Universität Rostock Fachbereich Elektrotechnik und Informationstechnik Institut für Angewandte Mikroelektronik und Datentechnik Eine Prozessorarchitektur.
Mikrocomputertechnik Jürgen Walter
Aloaha Software – Martin Wrocklage 05451/943522) Aloaha Software Ein Überblick.
Referat von Marcel Poppen & Oliver Lennartz
Mikrocomputertechnik 1 Einführung Prof. J. Walter Stand Januar Mikrocomputertechnik Jürgen Walter „Configuration-Quickie“ Hardware konfigurieren.
Mainboard Kolbe, Klein, Hollermann.
Von Marcel Poppen & Oliver Lennartz
Computerhardware Paul Pumsenberger. Allgemein ● Materielle Teil des Computers ●,angreifbar' ● Geht (fast) nie kaputt ● Gegensatz: Software – Oft fehlerhaft,
Betriebssystem, BIOS, Firmware, Treiber, Systemtools
Vorgestern, gestern und heute
System-on-Chip zur Steuerung von Messsystemen
Vom HW-Automaten zum Prozessor
Aufbau und Anwendungen von Mikrokontrollern

 Präsentation transkript:

ESI Einführung

Embedded System Implementation Vertiefungsmodul im 6. Semester für die Studiengänge ET, ME und SI Voraussetzungen: DT, TIn1 + TIn2, MC, ESE und C-Programmierung Organisation ESI: 2 Dozierende Hans Gelke: ARM Prozessoren Praktikum 1: ARM (Gelk) Hans Käser: Grundlagen und Entwicklung von Embedded Systemen, Programmierung, Embedded PC Systeme Praktikum 2: Embedded PC (Ksha)

Inhalt Modul ESI Einführung (Gelk) ARM Systeme (Gelk)  Praktikum 1 ARM Radio Programmierung und Hardware nahe Software (Ksha) Embedded PC Systeme (Ksha)  Praktikum 2 JRex ePC Entwurf und Realisation von Embedded System (Ksha)

Semesterprogramm

Lernziele und Leistungsvereinbarung Unterschiede Embedded System  Universalrechner Vorgehensweise bei der Entwicklung von Embedded System Besonderheiten der ARM Architektur (IP = Intellectual Property) Praktische Umsetzung an Embedded PC System und ARM System Für Modulnote und Credits sind notwendig: 2 Kurzprüfungen 45 Minuten  2 Noten Teilnahme und Mitarbeit im Praktikum  Praktikumsnote Erfahrungsnote = (Note K1 + Note K2 + Praktikumsnote) / 3 Modulendprüfung 90 Minuten  M-Prüfungsnote Modulnote = (Erfahrungsnote + 2*M-Prüfungsnote) / 3

Umgang und Erwartungen Lernen bedeutet Fehler machen  Fragen sind erwünscht Unterstützung bei Fragen und Problemen im Labor  Assistenten Anwesenheit und Pünktlichkeit in Theorie und Praktikum Aufmerksamkeit und Mitarbeit im Unterricht Ordnung und Sauberkeit im Labor: Kein Essen und Trinken  Fragebogen und Laborgruppe bitte mit Namen und Studiengang

1. Einführung in Embedded Systems Was sind eingebettete Systeme?

Merkmale und Eigenschaften von Embedded Systems Embedded System: Prozess („reale Welt“) und Bediener im Zentrum Rechner (HW+SW) ist oft unsichtbar in das System (Gerät) integriert Spezialisierung: Mikrocontroller mit speziellem Programm (Firmware) Zuverlässigkeit und Robustheit Systemumfeld bestimmt die Anforderungen an das ES Echtzeitanforderungen (Realtime) Ausfallsicherheit Batteriebetrieb Oft kein Lademedium (Disk)  Firmware in ROM / Flash Spezielle Entwicklungswerkzeuge notwendig Prozessorwahl ist von zentraler Bedeutung

2. Bedienkonzepte Entwicklung: GUI (Graphical User Interface) … PARC, Apple, OSF/Motiv, Windows MMI (Man Machine Interaction) …  Embedded Systems Ergonomie Ben Shneiderman: Designing the User Interface Wichtige Aspekte: Ziele guter Bedienkonzepte MMI: Man Machine Interaction (auch Man Machine Interface) Ein-/Ausgabe Elemente Prototyping

Beispiel eines guten Benutzerinterfaces: TwoTimer von Tissot Digitaluhren mit Zusatzfunktionen mit vier Knöpfen  Bedienung? Tissot TwoTimer wird nur mit einer „konventionellen“ Krone bedient! Die sechs Funktionen können mit dem einzigen Bedienungselement „Krone“ bedient werden  Anzeigeflag als Feedback Konsistente Bedienungsphilosophie der Krone: vorwärts/rückwärts, langsam/schnell, „ausziehen“ (set) und „eindrücken“ (start/stop/reset) … einen guten Start ins letzte Semester …

Geschichte und Architekturen der ARM Prozessoren ARM Systeme Geschichte und Architekturen der ARM Prozessoren

Ablauf Semester Woche Vorlesung 1 Einführung ESI 2 Vorlesung fällt aus, Praktikum findet statt 3 ARM Architektur: - Register - Exception - ARM Befehlssätze 4 Software Entwicklung: - ARM und Thumb Compiler - Entwicklungstools - Interrupts 5 Philips LPC Systemperipherie: - Flash Memory, Bootloader/Startup Code Timer Counter 6 - Externe Speicher - Andere Prozessoren mit ARM

Leistungsnachweise Elektronisches Multiple Choice Quiz am 14.4.2010 ARM Radioprojekt muss am 7.4.2010 (G1/G3) bzw. 14.4.2010 (G2) vorführbereit sein. Von den Vorschläge für ein Benutzerinterface darf abgewichen werden, es müssen aber alle Features unterstützt werden Anstelle einer Dokumentation eine Power Point Präsentation auf Lap Top Beschreibung der Haupt Statemachine Flussdiagramme der Hauptfunktionen Welche Softwaremodule (c-Dateien) wurden verwendet Welche Subroutinen gibt es und was sind ihre Funktionen Kurzbedienungsanleitung Abgesetzte Modulendprüfung in den Prüfungswochen Übungen zu den Lektionen befinden sich im www

Inhalt der Heutigen Vorlesung Geschichte der ARM Prozessoren ARM7 und Cortex-M3 Ausstattungsmerkmale

ARM Geschichte 1980 Acorn Computer entwickelt den ATOM Heimcomputer basierend auf den Motorola 6502 8-bit Prozessor. 1983 begann Acorn mit dem Acorn Risc Machine Projekt . Architektur für dem ARM1 als Coprozessor zum BBC Micro. Chip Hersteller war VLSI Technologie. 1990 gründen Acorn und Apple Computer die ARM LTD, mit je 43%. VLSI ist Investor und Lizenznehmer (VLSI wird 1999 von Philips [heute NXP] gekauft). 1998 geht ARM Holdings an die Börse. 1999 wird ARM Holdings von Acorn Computer abgetrennt.

BBC Micro 1982

ARM verkauft keine Prozessoren sondern Intellektual Property (IP)

Beispiel: Mobil Phone IC mit ARM7 core

Beispiele für den Einsatz des ARM Die meisten Mobiltelephone haben mindestens einen Prozessor von ARM (IPhone hat 3 ARM Prozessoren mit 600MHz IPhone 3G Cortex A9) MP3 Spieler PDAs wie PALMTreo Navigationssysteme Game Boy Advance DECT Telephone TV Set Top Boxen

Warum hat sich ARM bei embedded Produkten als Standard durchgesetzt Geringer Stromverbrauch (ARM 7 TDMI 0.1mW/MHz) Gute Rechenleistung und Real Time Verhalten Bekannte Schnittstellen (AMBA Bus Standard). Modularer Aufbau möglich. Softwareinvestitionen auf ganze Prozessorfamilie einsetzbar. Kompakter Softwarekode. 32-bit und 16-bit Befehle Niedrige Kosten. Mikrocontroller von ST ab $1.- Stromverbrauch ARM 7 TDMI verbraucht nur 0.1mW/MHz im 0.13u Prozess. Statisches Design, keine Taktsignale nötig, der Prozessor kann im Standby Modus abgeschaltet werden. Gute Rechenleistung und Real Time Verhalten: Effiziente 32-bit RISC Architektur und schnelle Interrupt Verarbeitung Offene Architektur: Bekannte Schnittstellen (AMBA Bus Standard) ermöglichen einfaches Anschliessen von anderen wieder verwendbaren IP-Blöcken. Modularer Aufbau möglich. Softwareinvestitionen. Die selbe Software kann auf unterschiedlichen ARM Plattformen wieder verwendet werden. Kompakter Softwarekode. Der ARM Befehlssatz basiert auf 32-Daten Bits. Zusätzlich verfügt ARM über einen Zweiten Befehlssatz, der nur 16-bit Datenbreite hat (Thumb) und damit Speichergrösse spart. Niedrige Kosten. Man bekommt einen NXP LPC schon ab $5.-

Produkte die ARM anbietet Hardware IP – synthetisierbares RTL oder Macrozellen Prozessor Cores (Arm7, ARM9, ARM11, Caches) Eingebettete Debugging Hardware (ETM) Direct Memory Access Controller (DMA) Peripherals (SDRAM Controller, UART, Card Interface) Java Accelerator, MP3 Codec Software -Audio Codecs -MPEG2 encoder System On chip design tools (SOC) - Debugger und C-Assembler - Entwicklungsysteme (Keil gehört zu ARM) - Testbenches zur Design Verifizierung - Beispielprogramme Software und Hardware Consulting Mehr unter: www.arm.com/products

ARM Entwicklung und Lizenznehmer 2005: ARM Cortex Analog Devices Apple Atmel Conexant Freescale (ehemals Motorola) HTC Corporation HP IBM Infineon Intel (XScale) Luminary Micro Motorola NEC NetSilicon Nintendo NXP (ehemals Philips Semiconductors) Oki Palm Samsung Sony STMicroelectronics Texas Instruments Toshiba Zilog

(Stand November 2008) ARM Prozessor Cores

Unterscheidungsmerkmale Typ Processor Ver Pipe-line Cache MMU DSP Java Befehls-satz MIPS@MHz Embedded ARM7TDMI v4 3 nein Thumb ARM 15@16.8 Cortex-M1 v7 Thumb-2 136DMIPS@170 Cortex-M3 MPU 125DMIPS@100 Cortex-R4 8 ja Thumb-2 ARM 600DMIPS@375 Application ARM926E-S v5 5 220@200 ARM1136J-S v6 740@600 Cortex-A8 13 2000DMIPS@1GHz

Ein Keil uVision4 Projekt einrichten Vorbereitung auf das Praktikum Ein Keil uVision4 Projekt einrichten

Dateistruktur der Projekte

Keil uVision 4

Keil ULINK 2 ULINK2 PC USB JTAG- controller ARM Core Scan Chain Scan Flip-Flops JTAG Port LPC2138

Keil ULINK2 und ULINK-ME

Funktionen des Startup Code Definieren der Exception Vektoren Konfigurieren der Stack Pointer Konfigurieren der Systemperipherie (einstellen der Chip-Selects, Speicher Waitstates, I/O etc.) Ist abhängig von der Systemperipherie jedes einzelnen Bausteins und wird als Default beim Aufsetzen des Projektes kopiert.

Linken aller Source Dateien

Anleitung für das erste Praktikum

NXP LPC2138 wie in den Übungen benutzt ARM7 Core Pulse Width Modulator A/D – D/A Converter Interrupt Controller Real Time Clock I2C/SPI Controller UART SRAM/Flash Bus/Systeme Takt Erzeugung General Purpose I/O Core Teil System Teil

Target Hardware für Praktikum MCB2130 Radioplatine SCL Radio TEA5764 SDA JTAG INTx ARM LPC2138 P0.15 GPIO 0.15 P0.12 CS LCD display P0.6 SID MOSI P0.5 SOD MISO P0.7 EINT0 ENA P0.1 EINT2 Drehgeber IOPIN0.13 P0.13 ENB P1.16, P1,17, P1.18 Tastatur P1.19, P1,23

Bit 11 u. 10 von PINSEL0 Register GPIO Port0.5 00 P0.5 MISO (SPI0) 01 Match0.1 (Timer 0) 10 AD0.7 11 LPC Ausgangspad Bit 11 u. 10 von PINSEL0 Register

PINSEL0 Beschreibung aus UM10120 (LPC2138) Datenblatt

General Purpose I/O Register im LPC2138 GPIO-1 GPIO-0 I0 PIN 31 16 I0 PIN 31 I0 SET 31 16 I0 SET 31 I0 CLR 31 16 I0 CLR 31 I0 DIR 31 16 I0 DIR 31 P1.31 … P1.18 P1.17 P1.16 P0.31 … P0.2 P0.1 P0.0

IODIR Register

Beispielprogramm LED Lauflicht int main(void) { unsigned int delay; unsigned int flasher = 0x00010000; // define locals IODIR1 = 0x00FF0000; // set all ports to output while(1) for(delay = 0;delay<0x10000;delay++) //simple delay loop ; } IOCLR1 = ~flasher; //clear output pins IOSET1 = flasher; //set the state of the ports flasher = flasher <<1; //shift the active led if(flasher&0x01000000) flasher = 0x00010000; //Increment flasher //led and test for } //overflow

Übung 1 Im Radioprojekt soll Pin 0.15 als Ausgang und auf Log 1 gesetzt werden, damit der Verstärker aus der Stummschaltung gebracht wird. Bestimmen Sie die Werte für die Register: PINSEL0 = 0x IODIR0 = 0x IOCLR0 = 0x IOSET0 = 0x Ausschnitt aus IO Registern: Ausschnitt aus Pinsel Register: Ausschnitt aus IODIR Register:

Ansteuern der SPI Schnittstelle

SPI (Serial Peripheral Interface) zwischen ARM und LCD-Display SCLK P0.5 MISO Character Display P0.6 MOSI P0.12 SSEL SPI Master SPI Slave

Übermittlung von Daten im SPI

Display Routine char tempstring[21]; Temporärer String zum Zwischenspeichern des Textes 1 Zeile hat 20 Buchstaben + SPI Synchronization String char tempstring[21]; sprintf(tempstring,“hello world“); sendLine2Display(n, tempstring) Zeile 1-4 Sendet Zeile über SPI an LCD

Variablen in Display Routine Temporärer String zum Zwischenspeichern des Textes 1 Zeile hat 20 Buchstaben + SPI Synchronization String char tempstring[21]; int count = 0 ; sprintf(tempstring,“Zählerwert: %d Runden“, count); sendLine2Display(n, tempstring) Zeile 1-4 Sendet Zeile über SPI an LCD