Embedded Systems II Materialsammlung

Update: 2016-09-20

Neues Material zum STM32L476 (ab WS17/18).

Altes Material zum STM32VLDiscovery (CM3) für Vorlesung und Praktikum: stm32f1 (bis WS16/17).

Inhalt

1   Einführung

  1. Barr, Massa, Programming Embedded Systems, 2nd Edition, 2006, O'Reilly.

    Chapter 1: intro/Barr-Massa-PES2-ch1.pdf (18 pages)

    Safari: http://my.safaribooksonline.com/book/programming/0596009836

2   GNU Toolchain

  1. Bill Gatliff, Embedding with GNU: The GNU compiler and linker, 2000 (4 pages), gnu/EEIOL_2000FEB01_EMS_TA.pdf

  2. Barr, Massa, Programming Embedded Systems, 2nd Edition, 2006, O'Reilly.

    Chapter 4: "Compiling, Linking and Locating", gnu/Barr-Massa-PES2-ch4.pdf (20 pages)

  3. Joseph Yiu, Definitive Guide to the Cortex-M3, 2nd edition, 2010. Chapter 19: Starting Cortex-M3 development using the GNU toolchain, gnu/DGCM3-2e-ch19.pdf (15 pages).

  4. Bill Gatliff, Embedding with GNU: GNU Debugger, ESP 1999 (9 pages), gnu/ew_gdb.pdf.

  5. Andy Oram, Mike Loukides, Programming with GNU Software, O'Reilly 1996.

  6. Dominic Rath, H. Högl, Open On-Chip Debugger, Dec 2006, 10 pages openocd/oocd-2006.pdf

  7. Openocd Manual 0.9.0, 164 pages, openocd/openocd.pdf

  8. Brian T. Hogan, Tmux - Productive Mouse-Free Development, Pragmatic Programmers, 2012, tmux/tmux_p3_0.pdf

3   Mikrocontroller

  1. ST Micro, Microcontrollers made easy, AN887, 2000, uc/4966.pdf
  2. H. Högl, Folien zum Vortrag "Stand der Mikroprozessortechnik", 2010, uc/vortrag/

3.1   Beispiele aus den vier Kategorien

Alle AVR Bausteine der Firma Atmel sind 8-Bit Controller. Der MSP430 von Texas Instruments ist ein 16-Bit Controller. Alle Controller aus Kategorie 3 sind 32-Bit.

Kategorie 1

  1. AVR Tiny2313
  2. AVR Mega88
  3. AVR Mega32

Kategorie 2

  1. AVR Mega128 mit CAN
  2. MSP430

Kategorie 3

  1. STM32F1xx (Cortex M3), siehe stm32f1
  2. LM3S811 (Cortex M3)
  3. Atmel SAM7X (ARM7)

Kategorie 4

  1. AVR32 AP7000

  2. LPC3131 ARM926, 180 MHz, wird auf dem Gnublin Board verwendet:

  3. SAM9G45 ARM926, 400 MHz

4   Speichertechnologien

Speicherübersicht memory/speicheruebersicht.jpg (aus: Elektronik scout 2006. Gerhard Stelzer, Ein Gedächtnis für alle Fälle. Eine aktuelle Bestandsaufnahme bei Speicher-ICs. Das darin enthaltene Bild hat als Quelle angegeben: Joachim Binder, Infineon 2005)

4.1   RAM

RAM = random access memory. Bezeichnet den Hauptspeicher im Rechner.

Technische Ausführung

  • SRAM
  • SDRAM

4.1.1   SRAM

SRAM = static RAM

4.1.2   SDRAM

DRAM = dynamic RAM

SDRAM = synchronous dynamic RAM

  1. Maxwell Technologies, Introduction to SDRAM, 2003, 15 Seiten, memory/sdram/Intro_to_SDRAM.pdf
  2. Datenblatt des 4M x 16 x 4 (256 MBit) SDRAM auf dem Gnublin Board, memory/sdram/A43L4616A.pdf. Dazu ist es auch hilfreich, wenn man sieht, wie der SDRAM Baustein im Schaltplan angeschlossen ist.

4.2   Flash

  1. National Semiconductor, AN-920, "What's All This Flash Stuff?", 1994, 3 Seiten, memory/flash/an-920.pdf
  2. Stephen Ledford, Non-Volatile Memory Technology Overview, Motorola 2004, AN1837, 28 Seiten, memory/flash/AN1837.pdf.
  3. Mark Robinson, NAND und NOR - ein ungleiches Pärchen, Elektronik 17/2005, 4 Seiten, memory/flash/robinson
  4. Hubert Högl, Vortrag über Flash-Speicher, 2003, memory/flash/vortrag-ueber-flash-2003.pdf
  5. Jan Axelson, Mass storage basics, 24 Seiten http://janaxelson.com/files/usb_mass_storage_chapter_1.pdf (aus dem Buch: USB Mass Storage. Designing and Programming Devices and Embedded Hosts).
  6. NOR Flash Baustein Atmel AT49BV802, 8 MBit, 512K x 16, memory/flash/nor/doc3626.pdf
  7. NOR Flash Baustein Atmel AT49BV640 64 MBit, 4M x 16, memory/flash/nor/AT49BV640.pdf
  8. NAND Flash Baustein von Samsung, 2 Gbit, 128M x 16 oder 256M x 8, memory/flash/nand/k9xxg08uxm.pdf
  9. NAND Flash Baustein von Micron, 2Gb, x8, x16, memory/flash/nand/MT29F2Gxxx.pdf (auf SAM9G45-EKES Board)

4.3   EEPROM

  1. Basic Serial EEPROM Operation, AN536, Microchip 1997, memory/eeprom/00536.pdf
  2. Jan Axelson, Using Serial EEPROMs, Circuit Cellar 1997, http://janaxelson.com/files/seeprom.pdf (lokal: memory/eeprom/seeprom.pdf, memory/eeprom/seeprom.zip). Enthält auch eine Anleitung für Microwire, SPI und I2C. Teil 1: Using Serial EEPROMs. Teil 2: Programming Serial EEPROMs from a PC's serial port.

4.5   e-MMC

  1. Applikationsschrift von Micron:

    memory/emmc/e_mmc_simplifies_storage.pdf

  2. Micron Produktseite zu e-MMC

    http://www.micron.com/products/managed-nand/e-mmc

  3. Kingston 8 GByte Embedded MultiMediaCard (eMMC), 34 Seiten, 2011

    memory/emmc/0900766b81105a81.pdf

  4. Micron 8 GByte eMMC MTFC2GMVEA-0M WT (auf Beagle Bone Black)

    memory/emmc/emmc_2gb_4gb_8gb_16gb_32gb_64gb-wt.pdf

  5. Siehe auch den Wikipedia Eintrag über die MMC Karte

    http://en.wikipedia.org/wiki/MultiMediaCard

  6. Spezifikation der MMC Karte

    memory/emmc/mmc3_1.pdf

5   Interfaces

Lee Seshia, Embedded Systems, Chap. 9 (Input/Output0 iface/lee-seshia-chap9.pdf

5.1   UART

iface/uart

  1. Dallas Semiconductor Application Note 83: Fundamentals of RS-232 Serial Communications, 1995 (9 Seiten), iface/uart/an83.pdf
  2. Craig Peacock, Interfacing the Serial / RS-232 Port (40 Seiten), iface/uart/serial.pdf
  3. John Goldie, Summary of Well Known Interface Standards, National Semiconductor Application Note 216, 1996, (RS-232, RS-422, RS-485), iface/uart/AN216.pdf

Siehe auch das LIN Protokoll. Von ST-Micro gibt es eine Applikationsschrift iface/lin/AN1278-LIN.pdf.

  1. David Marsh, LIN simplifies and standardises in-vehicle networks, EDN Europe, Feb. 2005, 8 Seiten, EDN Magazine, 2005, iface/uart/499208.pdf
  2. LIN protocol on AVR microcontrollers, iface/uart/doc7548.pdf

5.2   RS-485

  1. Weidmüller RS-485 Primer, 1999, 7 Seiten, iface/rs485/SIP02_991635_RS-485_Primer.pdf

  2. Texas Instruments, 422 and 485 standards overview, 2002, 33 Seiten, iface/rs485/slla070c.pdf

  3. John Goldie, 10 ways of bulletproof RS-485 interfaces, National Semiconductor 1995, 10 Seiten, iface/rs485/AN-1057.pdf

  4. Sipex RS-485 Transceiver Datasheet, 2000, 11 Seiten, iface/rs485/SP481.pdf

  5. Elektorbus, iface/rs485/ElektorBusReference.pdf 2012, siehe auch http://www.elektor.de. Die Ansteuerung des Elektorbus wird mit der Firmware Bibliothek "EFL" gemacht: https://www.elektormagazine.com/labs/embedded-firmware-library-efl, Sourceforge

  6. Link Network Protocol

    https://cms.seng.de/technologie/link-network-protocol/

  7. CAN vs. RS485, Fa. Ixxat, iface/rs485/artikel_20105_can-vs-rs485_e.pdf

5.3   SPI

  1. Wikipedia

    http://en.wikipedia.org/wiki/Serial_Peripheral_Interface_Bus

  2. Atmel Application Note AVR151: Setup and Use of the SPI, iface/spi/doc2585.pdf

  3. MicroWire Serial Interface (National Semiconductor), iface/spi/AN-452.pdf

5.4   I2C

  1. I2C Specification and User Manual, 2014, iface/i2c/UM10204.pdf (Quelle: http://www.i2c-bus.org/specification)

  2. SMBus (System Management Bus), abgeleitet von I2C, http://en.wikipedia.org/wiki/System_Management_Bus

    SMBus Specification, iface/i2c/smbus20.pdf

  3. Philips I2C Manual, 2003, 51 Seiten, iface/i2c/AN10216_1.pdf

  4. iface/i2c/i2c-selection-guide.pdf (16 Seiten)

  5. Philips I2C Handbuch iface/i2c/philips_i2c_handbook.pdf

5.5   1-Wire

  1. Maxim AN1796, 2008, Overview of 1-Wire and Its Use (11 pages), iface/w1/AN1796.pdf.

5.6   CAN

  1. Renesas, Introduction to CAN, 44 Seiten, iface/can/rej05b0804_m16cap.pdf
  2. H. Boterenbrood, CANopen high-level protocol, 23 Seiten, iface/can/CANopen30.pdf
  3. CANopen Communication Profile Features, iface/can/CANopenCiA.pdf

5.7   USB

  1. Jack Ganssle, An Introduction to USB Development (ein schöner Übersichtsartikel, nur die Chips am Ende sind schon ein wenig veraltet).

    http://www.ganssle.com/articles/usb.htm

    lokal: iface/usb/usb_ganssle/usb_ganssle.htm

  2. Craig Peacock, USB in an Nutshell, 30 Seiten, iface/usb/usb-in-a-nutshell.pdf

  3. Jan Axelson, "USB Complete"

    http://janaxelson.com/usb.htm

  1. Diplomarbeit von Benedikt Sauter, USB Stack für eingebettete Systeme, 2007

    http://elk.informatik.fh-augsburg.de/da/da-36

  2. Diplomarbeit über den USB Bus von Eik Arnold, TU Chemnitz iface/usb/arnold_da.pdf

6   Programmierung

Bibliotheken

Entwicklung mit freien Werkzeugen

Echtzeit Betriebssysteme

Allg. Buchtipps:

Programmiersprachen

Zustandsmaschinen

Low-Power Programmierung

7   Bücher

  1. John Catsoulis, Designing Embedded Hardware, O'Reilly 2005.

  2. Michael Barr, Anthony Massa, Programming Embedded Systems, 2nd Edition, O'Reilly 2006.

    Siehe auch Michael Barr, Programming Embedded Systems in C and C++, O'Reilly, 1999. Das ist eine frühere Auflage.

  3. Norman Matloff and Peter Jay Salzman, The Art of Debugging, No Starch Press, 2008. Das erste Kapitel ist frei zum Download, siehe Buecher/3/.

  4. Elecia White, Making Embedded Systems, O'Reilly, 2011.

  5. E. A. Lee and S. A. Seshia, Introduction to Embedded Systems - A Cyber-Physical Systems Approach, http://LeeSeshia.org, 2017, Buecher/5/ (Struktur).

  6. Geoffrey Brown, Discovering the STM32 Microcontroller, 2015.

  7. Andy Oram, Mike Loukides, Programming with GNU Software, O'Reilly 1996.

  8. Joseph Yiu, The Definitive Guide to the ARM Cortex-M3, 2nd Edition, Newnes 2010.

    Safari: http://proquest.tech.safaribooksonline.de/book/hardware/9781856179638

    Neue Auflage:

    Joseph Yiu, The Definitive Guide to ARM Cortex-M3 and Cortex-M4 Processors, 3rd Edition, Newnes 2013.

    Safari: http://proquest.safaribooksonline.com/book/electrical-engineering/computer-engineering/9780124080829

  9. Helmut Bähring, Anwendungsorientierte Mikroprozessoren. Mikrocontroller und Digitale Signalprozessoren, 4. Auflage 2011, Springer Verlag (eXamen.press). Siehe Spring Link.

  10. Peter Marwedel, Eingebettete Systeme, Springer eXamen.press 2008, nonfree/Buecher/10/

  11. Carmine Noviello, Mastering the STM32, Leanpub 2017, nonfree/Buecher/11/

  12. Trevor Martin, Designers-Guide to the Cortex M3, 1st edition, 2013, nonfree/Buecher/12/

  13. Brian P. Horgan, tmux - Productive Mouse-Free Development, Pragmatic Programmers. https://pragprog.com/book/bhtmux/tmux nonfree/Buecher/13/

  14. Rüdiger R. Asche, Embedded Controller, Springer 2016. nonfree/Buecher/14/

  15. Lacamera, Embedded Systems Architecture, Packt 2018. nonfree/Buecher/15/