Zum 01. September 2024 ging der Geschäftsbetrieb der MicroConsult Microelectronics Consulting & Training GmbH über an die MicroConsult Academy GmbH. Diese wird das Geschäft in vollem Umfang, mit dem bewährten Personal und mit der gewohnten hohen Qualität weiterführen. Ihre Fragen beantworten wir gerne unter kontakt@microconsult.com.

Experience Embedded

Professionelle Schulungen, Beratung und Projektunterstützung

Embedded-Programmentwicklung – Embedded-Programmierung

Was ist ein Embedded-System?

Unter eingebetteten Systemen (Embedded Systems) versteht man eine Funktionseinheit, in die ein eigener Rechenkern eingefügt (implementiert) ist. Der Rechenkern (z.B. ein Mikrocontroller) ist in das System "eingebettet" und nach außen nicht als solcher erkennbar.   

Embedded-Programmentwicklung - Eingebettetes System (Embedded-System)
Bild 1: Eingebettetes System (Embedded-System)

Der Rechenkern arbeitet ein Programm ab, das in den Mikrocontroller-Speicher (Flash-Speicher) programmiert wird. Im Vergleich zu CPUs haben Mikrocontroller den Vorteil, dass nahezu alle Funktionalitäten eines PCs in einem einzigen Baustein enthalten sind (Programm- und Datenspeicher, CPU, Timer, serielle Schnittstellen, etc.). Das Programm beinhaltet das "Rezept", nach dem der Mikrocontroller arbeiten soll.

Es wird in den Flash-Speicher programmiert und enthält z.B. Befehle, die ausgeführt werden sollen. So können die Eingangsinformationen von Sensoren, Schaltern, Potentiometern usw. über die Mikrocontroller-I/O (Port Pins) eingelesen werden. Die Eingabe-Informationen werden dann geprüft und verarbeitet. Mit weiteren Befehlen werden Steuer-Ausgangsinformationen berechnet und über Ausgangs-Portpins ausgegeben.

Die Rezeptur (das Programm) muss so erstellt werden, dass alle Zeitvorgaben überwacht und eingehalten werden. Man spricht hier vom Realzeit-Verhalten (Real-time Behavior) des Programms. Die Programm-Erstellung muss so erfolgen, dass nur Befehle, die der spezielle Mikrocontroller ausführen kann, verwendet werden.

Ebenso müssen sämtliche Adressen der Speicher- und Peripheriemodule richtig anwendet werden, so dass im Gesamtverhalten die Zeitvorgaben richtig eingehalten werden.

Dafür stehen spezielle Embedded-Entwicklungswerkzeuge (Embedded Development Tools) zur Verfügung. Diese Embedded-Entwicklungswerkzeuge umfassen Embedded Cross Compiler, Linker/Lokator, Embedded Debug- und Testwerkzeuge.

Vorgehensweise bei der Embedded-Programmierung eines Mikrocontroller-Programms

  1. Sie beginnt mit der Aufnahme der Anforderungen (Requirements).
  2. Die definierten Anforderungen werden strukturiert; darauf basierend wird die Embedded-Architektur der Software entwickelt.
  3. Anschließend wird die für die benötigte Verarbeitung richtige Mikrocontroller-Architekturauswahl getroffen.
  4. Das Programm wird unter Anwendung einer Embedded-Programmiersprache (z.B. Embedded-C oder Embedded-C++) erstellt (codiert) und mit einem Embedded-Compiler übersetzt.
  5. Es folgen die Unit-Tests für die einzelnen Programm-Module (Units), z.B. mit einem Embedded-Debugger. Mehrere Programm-Module können dann zu einem Subsystem integriert werden. Hierfür wird der Integrationstest durchgeführt. Alle Subsysteme lassen sich dann zum Gesamtsystem zusammenfassen. Der Test hierfür wird als System-Test bezeichnet.

Embedded-Programmentwicklung im V-Modell
Bild 2: Embedded-Programmentwicklung im V-Modell

Tools zur Embedded-Programmentwicklung

Die Programmierung für eingebettete Systeme (Embedded-Systeme) basiert also auf Embedded-Werkzeugen (Embedded Tools). Diese Werkzeuge werden speziell für die ausgewählte Mikrocontroller-Architektur von Toolherstellern entwickelt und von den Embedded-Entwicklern zum Programmieren, Debuggen und Testen eingesetzt.

Für einen erfolgreichen Einstieg in die Welt der Embedded-Programmierung sind spezielle Kenntnisse erforderlich - von Mikrocontroller-Architekturen, Anforderungen (Requirements Engineering und Management) über das Architektur-Design für Embedded-Systeme bis hin zu den Embedded-Programmiersprachen mit Embedded-Compilern, Linker/Locator (Embedded-C und Embedded-C++) sowie Embedded-Debugging- und Testwerkzeugen.

Fachwissen zur Embedded-Programmentwicklung

Den richtigen Zugang zu all diesen Kenntnissen und Fähigkeiten bieten Trainings zu Requirements Engineering und Management, Design für Embedded-Architekturen, Embedded-Programmierung, Embedded-Debugging und Embedded-Test

MicroConsult unterstützt Sie mit Training & Coaching rund um die Embedded-Programmentwicklung, z.B. zu folgenden Themen: 


Training & Coaching - auch im Live-Online-Format - zu den weiteren Themen unseren Portfolios finden Sie hier. 

Embedded-Programmentwicklung: Workshops

Darüber hinaus besteht die Möglichkeit, das Themenfeld Embedded-Programmentwicklung auch in maßgeschneiderten Workshops zu behandeln. Sie werden auf die speziellen Bedürfnisse von Aufgaben, Projekten, Teams und Rollen zugeschnitten.

Wenden Sie sich an uns mit Ihren Fragen, Wünschen und Anforderungen - wir stehen Ihnen unter Tel. +49 (0)89 450617-71 gern zur Verfügung. Oder senden Sie uns das Kontaktformular.


Autor:
Dipl.-Ing. Ingo Pohle ist Mitgründer und Geschäftsführer der MicroConsult GmbH. Er ist ein international anerkannter Spezialist für Embedded-Lösungen mit reichem Erfahrungsschatz rund um den Einsatz von Embedded-Mikrocontrollern, Bussystemen und RTOS.