Mikrocontroller Programmierung am Beispiel von RISC-V und ARM Cortex-M CPU-Cores
Mikrocontroller sind allgegenwärtig. Sie werden immer dann gebraucht, wenn ein elektronisches Gerät besonders wenig Strom verbrauchen, besonders zuverlässig, besonders klein, besonders schnell oder besonders preiswert sein soll und zudem die Funktion durch Software bestimmt werden soll. Diese Schulung wendet sich an Personen, die das faszinierende Gebiet der Mikrocontroller kennenlernen wollen, in dem Soft- und Hardware eng miteinander verknüpft sind.
Im Rahmen dieser Schulung werden Mikrocontroller mit ARM-Cortex-M- und RISC-V-CPU-Cores verwendet. Das sind Controller mit einer Wortbreite von 32 Bit oder mehr, welche sehr weit verbreitet (ARM) bzw. relativ neu (RISC-V) sind und derzeit für alle Anwendungen ohne Embedded Linux o.ä. quasi einen "Standard" darstellen. Die erworbenen Kenntnisse können jedoch leicht auf andere Controller-Typen übertragen werden. Im Gegensatz zu ARM ist bei RISC-V die sog. "Instruction Set Architecture" (ISA) "open source", so dass es nicht nur möglich sondern auch legal ist, eigene Controller auf Basis von RISC-V ohne Zahlung von Lizenzgebühren zu entwickeln und zu vermarkten.
Neben dem Einsatz von Emulatoren zur effizienten Softwareentwicklung mit virtueller Hardware wird in diesem Kurs auch mit realen Controller-Boards gearbeitet.
Dieser Kurs richtet sich an Teilnehmer, die Mikrocontroller kennenlernen möchten sowie die Grundzüge und Besonderheiten der Softwareentwicklung für Mikrocontroller-Systeme lernen und einüben wollen.
Trainer und Dozenten
Dipl-Ing. Cord Elias hat über 30 Jahre Erfahrung im Design von Hard- und Software für Mikrocontroller-basierte Systeme.
Voraussetzungen
- Der Umgang mit der Linux-Kommandozeile sollte vertraut sein.
- Solide Kenntnisse der Programmiersprache C sind erforderlich, wie Sie sie in unserer Schulung C Programmierung erlernen können.
- Grundkenntnisse in Elektronik sind hilfreich.
- Manuals und Datenblätter der im Kurs eingesetzten Hardware liegen nur in englischer Sprache vor.
Inhalt
Einführung
- Funktionsweise von Mikrocontrollern
- Unterschied zu Mikroprozessoren
- Hard- und Software-Plattformen zum Kennenlernen von Mikrocontrollern
Toolketten zur Softwareentwicklung für Mikrocontroller
- Cross-Compiler-Toolchain
- Simulations- und Emulations-Tools
- Debugger
- Programmer
- IDEs
- Erstes Beispiel: Blinkende LED
Kurzeinführung in Assembler
Technik: Subsysteme von Mikrocontrollern, u.a.:
- Speicher: RAM, Flash
- Pins: Beschaltung, Eigenschaften
- Timer/Counter
- Kommunikation: U(S)ART
- Kommunikation: I2C-Bus
- Kommunikation: SPI-Bus
Hardwarenahes Programmieren in C, u.a.:
- GPIO
- Analog-Digital-Wandler
- UART
- PWM
Programmiertechniken, u.a.
- Numerik: (scaled) Integer, Gleitkomma
- Interrupts und Exceptions
- Scheduling
- Interaktion mit Benutzern
Debugging, u.a.:
- Die LED, Dein Freund und Helfer
- Debug-Interface zwischen Host-PC und Target-Board
- Sinnvoller Einsatz eines Debuggers
optional (Beispiele):
- Kommunikation mit Bit Bang
- LC-Display-Ansteuerung
- Cross-Compiler-Toolchain
- Simulations- und Emulations-Tools
- Debugger
- Programmer
- IDEs
- Erstes Beispiel: Blinkende LED
Kurzeinführung in Assembler
Technik: Subsysteme von Mikrocontrollern, u.a.:
- Speicher: RAM, Flash
- Pins: Beschaltung, Eigenschaften
- Timer/Counter
- Kommunikation: U(S)ART
- Kommunikation: I2C-Bus
- Kommunikation: SPI-Bus
Hardwarenahes Programmieren in C, u.a.:
- GPIO
- Analog-Digital-Wandler
- UART
- PWM
Programmiertechniken, u.a.
- Numerik: (scaled) Integer, Gleitkomma
- Interrupts und Exceptions
- Scheduling
- Interaktion mit Benutzern
Debugging, u.a.:
- Die LED, Dein Freund und Helfer
- Debug-Interface zwischen Host-PC und Target-Board
- Sinnvoller Einsatz eines Debuggers
optional (Beispiele):
- Kommunikation mit Bit Bang
- LC-Display-Ansteuerung
- Speicher: RAM, Flash
- Pins: Beschaltung, Eigenschaften
- Timer/Counter
- Kommunikation: U(S)ART
- Kommunikation: I2C-Bus
- Kommunikation: SPI-Bus
Hardwarenahes Programmieren in C, u.a.:
- GPIO
- Analog-Digital-Wandler
- UART
- PWM
Programmiertechniken, u.a.
- Numerik: (scaled) Integer, Gleitkomma
- Interrupts und Exceptions
- Scheduling
- Interaktion mit Benutzern
Debugging, u.a.:
- Die LED, Dein Freund und Helfer
- Debug-Interface zwischen Host-PC und Target-Board
- Sinnvoller Einsatz eines Debuggers
optional (Beispiele):
- Kommunikation mit Bit Bang
- LC-Display-Ansteuerung
- Numerik: (scaled) Integer, Gleitkomma
- Interrupts und Exceptions
- Scheduling
- Interaktion mit Benutzern
Debugging, u.a.:
- Die LED, Dein Freund und Helfer
- Debug-Interface zwischen Host-PC und Target-Board
- Sinnvoller Einsatz eines Debuggers
optional (Beispiele):
- Kommunikation mit Bit Bang
- LC-Display-Ansteuerung
- Kommunikation mit Bit Bang
- LC-Display-Ansteuerung
Aus den optionalen Teilen kann je nach Zeit und Vorlieben der Teilnehmer etwas ausgewählt werden.
Kurszeiten
Wer möchte, reist bis 22 Uhr am Vortag an und nutzt den Abend bereits zum Fachsimpeln am Kamin oder im Park.
An Kurstagen gibt es bei uns ab 8 Uhr Frühstück.
Unsere Kurse beginnen um 9 Uhr und enden um 18 Uhr.
Neben den kleinen Pausen gibt es eine Stunde Mittagspause mit leckerem, frisch in unserer Küche zubereitetem Essen.
Nach der Schulung anschließend Abendessen und Angebote für Fachsimpeln, Ausflüge uvm. Wir schaffen eine Atmosphäre, in der Fachleute sich ungezwungen austauschen. Wer das nicht will, wird zu nichts gezwungen und findet auch jederzeit Ruhe.
Termine und Anmeldung
-
11. Juni 2025, 3 Tage
Mikrocontroller anmelden
Haben Sie einen anderen Wunschtermin?