Embedded-C
Was ist ein eingebettetes System?
Ein Embedded-System (eingebettetes System) ist eine Funktionseinheit, die über einen eigenen Rechenkern verfügen, der in das System "eingebettet" und nicht von außen als solcher erkennbar ist. Gesteuert wird das Embedded-System durch ein Programm, das mit einer Embedded-Programmiersprache erstellt wurde. Als Programmiersprachen eignen sich z.B. Embedded-C oder Embedded-C++.
Die Implementierung einer Software steht am Ende des Endwicklungspfades.
Bild 1: Entwicklungspfad für ein Embedded-System (eingebettetes System)
Vorher muss in der Analyse-Phase analysiert und spezifiziert werden, WAS entwickelt werden soll (Anforderungen - SW-Analyse) und in der Design-Phase, WIE entwickelt werden soll (Umsetzung – Analyse und Design).
Diese beiden Phasen werden in modernen Projekten mit Unterstützung der UML (Unified Modeling Language) oder einem anderen graphischen Tool ausgeführt. Je gewissenhafter Analyse und Design durchgeführt wurden, umso einfacher wird die Implementierung der Software. Hier eignet sich der Einsatz von UML zur Dokumentation und Visualisierung der Abläufe und Abhängigkeiten im System.
Der Projekt-Entwicklungsprozess und seine Sub-Prozesse
- Projektmanagement
- Qualitätsmanagement
- Software-Entwicklungsprozess
- Software-Testprozess
Was ist der Unterschied zwischen ANSI-C und Embedded-C?
ANSI-C wird für die PC-Programmierung (Desktop Programming) eingesetzt. Die resultierenden Programme können im PC-Speicher über das PC-Betriebssystem ausgeführt werden.
Embedded-C basiert auf den Elementen von ANSI-C, mit Mikrocontroller-spezifischen Erweiterungen, die es ermöglichen, die spezifischen Mikrocontroller-Ressourcen (wie ROM/Flash, SRAM, Peripherie und I/Os) zu nutzen. Einschränkungen bei der Programmierung sind die verfügbaren (eingeschränkten/limitierten) Speichergrößen und die vordefinierten Adressen der Speicher-, Peripherie- und I/O-Module.
Bild 2: Unterschied zwischen ANSI-C und Embedded-C
MicroConsult unterstützt Sie mit Training & Coaching rund um die Embedded-C-Programmierung, z.B. zu folgenden Themen:
- Embedded C: Programmiermethoden und -tools für Embedded-Anwendungen
- Embedded C++: Objektorientierte Programmierung für Mikrocontroller mit C++/EC++ und UML
- Embedded C++ für Fortgeschrittene: Objektorientierte Programmierung für Mikrocontroller mit C++/EC++
- Embedded-Software-Design und Patterns mit C
- Objektorientierte Softwareentwicklung: Spezielle Programmierprinzipien mit C++ - der Weg zum Clean Code
- Software-Architekturen für Embedded-Systeme und Echtzeitsysteme
- RTOS-Grundlagen und Anwendung: Mechanismen und deren Einsatz in Laufzeit-Architekturen für Embedded- und Echtzeitsysteme
- Requirements Engineering und Requirements Management für Embedded-Systeme
- Embedded- und Echtzeit-Programmierung - alle Trainings
- Embedded- und Echtzeit-Betriebssysteme - alle Trainings
- Coaching: Embedded- und Echtzeit-Programmierung
Training & Coaching - auch im Live-Online-Format - zu den weiteren Themen unseren Portfolios finden Sie hier.
Embedded-C-Programmierung: Workshops
Darüber hinaus besteht die Möglichkeit, das Themenfeld Embedded-C-Programmierung 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.