Entwicklungsumgebung Flashcards
Was ist das besondere bei der Komponentenentwicklung in Embedded Systems?
Host-/Target-Entwicklung
Was wird für Target Entwicklung benötigt?
(Cross-) Compiler
(Cross-) Linker
Emulator (Qemu)
Cross Development Toolchain
Was ist eine Toolchain?
Werkzeugkee, die für die Programmierung von Anwendungen
und Betriebssystemen eingesetzt wird
Was beeinhaltet eine Toolchain
Make, Automatisierung des Build- und
Kompilierungsvorgangs.
Compiler Collection, mit Compilern für verschiedene
Programmiersprachen.
Binutils, Linker, Assembler und andere Tools.
Debugger.
Build System (z.B. GNU Autotools): Autoconf, Autoheader,
Automake, Libtool, . . .
Was ist eine Cross Toolchain?
Wenn Target andere Plaform als Host System hat.
Beispiel: ARM Binaries auf X86 Systemen erstellen.
Was für ein Set an Tools stellt binutils bereit?
as, the assembler, generiert binary code aus assembler source code
ld, the linker
ar, ranlib, generiert .a archives, wird zur Erstellung von Libraries
benutzt
objdump, readelf, size, nm, strings: Tools zur Untersuchung
von Binaries.
Sehr nützliche Analyse-Tools!
strip, entfernt überflüssige Teile im Binary, um die Größe zu reduzieren
Was ist ein ABI?
Für die Erzeugung der ARM Toolchain muss ein entsprechendes
Application Binary Interface definiert werden.
Das Application Binary Interface (ABI) definiert die Aufruf
Konvention des Programms:
Der Kernel muss das entsprechende ABI unterstützen
Was ist Buildroot?
Sammlung von Skripten zur
Konfiguration,
zur Generierung und
zum Zusammenbau einer Distribution
Open Source
enthält zahlreiche Softwarepakte (700+):
Busybox
Netzwerk
Entwurfsgrundsätze Embedded Systems?
- Einfaches HMI (Human Machine Interface), einfach zu
bedienen. - Keine Interaktion mit dem User notwendig: AUTO-
Mode. - Interaktion mit dem User ist möglich.
Alle Eingaben werden auf Gültigkeit und Sinnhaigkeit
überprüft - Konfigurationen werden automatisch durchgeführt.
Updates werden automatisch installiert. - Einheitliche, standardisierte Schnittstellen verwenden.
- Keine eigenen Stecker verwenden, vorhandene
Stecker auswählen. - Selbstdefinierte Schnittstellen offenlegen und
lizenzkostenfrei zur Verfügung stellen. - Lesbare und vor allem interpretierbare XML-Dateien
verwenden. - Wartungsfreundlich.
- Einfacher Austausch von Batterien.
- Erweiterbarkeit (Folgegeschäfte).
Was ist bei der Implementierung eines Update Mechanismus zu beachten?
- System liegt in Form eines Images vor, das auf das
Gerät transferiert wird - Beim Booten wird das neue Image erkannt und als
„jünger“ und damit zu installieren identifiziert - Die Unterschrift und damit Gültigkeit und
Unversehrtheit der Daten wird verifiziert - Es wird überprüft, ob auf ein funktionierendes Image
zurückgegriffen werden kann. - Das neue Image wird installiert
- Die Installationsroutine setzt im Flash ein Flag das
besagt, dass die Installation „fehlgeschlagen“ ist - Das neue Image wird gestartet. Nach dem Booten wird
das Flag „fehlgeschlagen“ gelöscht
Was sind weiter Aspekte die bei dem Entwurf eines Emb Systems beachtet werden sollten?
Auto-Config: Initiale Systemparameter müssen automatisch bestimmt werden.
Betrieb: Zustandsüberwachung, Ausgabe von Fehlerinformationen im Klartext, Automatisierte Ersatzteilbeschaffung, Datenschutz