events

DESIGN&ELEKTRONIK-Entwicklerforum HMI – Komponenten & Lösungen
DESIGN&ELEKTRONIK-Entwicklerforum HMI – Komponenten & Lösungen

Am 24. Mai 2012 findet das DESIGN&ELEKTRONIK-Entwicklerforum »HMI – Komponenten & Lösungen« mit begleitender Fachausstellung statt. Die Themen: »Bedienen und Beobachten: Technik, Know-how und Tools für das Design moderner Benutzerschnittstellen«.

Melden Sie sich jetzt an…

DESIGN&ELEKTRONIK-Entwicklerforum »Embedded-System-Entwicklung«
DESIGN&ELEKTRONIK-Entwicklerforum »Embedded-System-Entwicklung«

Auch in diesem Jahr veranstaltet die DESIGN&ELEKTRONIK wieder das Entwicklerforum »Embedded-System-Entwicklung« am 11. und 12. Juli 2012 in München. Neben einem technisch anspruchsvollen Vortragsprogramm ermöglichen verschiedene Workshops den Teilnehmern einen differenzierten Einblick in die Thematik.

Ausführliche Informationen:
www.embedded-entwicklerforum.de

Produkte des Jahres 2012

Linux /ARM

Linux: Embedded für alle
Linux: Embedded für alle

Linux ist heute erste Wahl geworden, wenn es um die Entscheidung für ein Betriebssystem in einem leistungsfähigen Embedded-System geht. Wie kann es sein, dass eine Open-Source-Software gerade bei Embedded-Systemen so erfolgreich ist?

Konferenz für ARM-Systementwicklung
Konferenz für ARM-Systementwicklung

Die große Konferenz für ARM-Systementwicklung am 11. und 12. Juli 2012 in München bietet Entwicklern die Gelegenheit, sich detailliertes Wissen über die aktuellen Cortex-Architekturen anzueignen, die mittlerweile zum Industriestandard avanciert sind.

Ausführliche Informationen:
www.arm-entwicklerkonferenz.de

embedded world Technology Report

Android & Embedded
embedded world Technology Report

Welche Embedded-Trends zeichnen sich ab? Im »embedded world Technology Report« gibt ein unabhängiger Expertenrat einen exklusiven Einblick in aktuelle Entwicklungen und zukünftige Trends im Embedded-Bereich.

Interessiert? Hier geht es zum kostenlosen Download

embedded world special

embedded world 2012
embedded world 2012

Wir haben aktuell von der weltgrößten Messe für die Embedded-Branche mit News, Videobeiträgen und Produktneuheiten berichtet.

Windows Embedded Standard 7

Windows Embedded Standard 7
Windows Embedded Standard 7

Was ist neu in Windows Embedded Standard 7? Lesen Sie alles rund um das neue Microsoft-Embedded-Betriebssystem Embedded Standard 7 in unserem Spezial.


Windows 7 - Special zum Download

Windows 7 -Special zum Download
Windows 7 -Special zum Download

20 Seiten Fachwissen – Das Windows-Embedded-Special als PDF-Download.


Marktübersichten Embedded

Marktübersichten aus dem Bereich Embedded

Software im sicherheitskritischen Bereich

Entwicklungssoftware
Entwicklungssoftware

Um die »Worst-Case Execution Time« zu erhalten, gibt es verschiedene Herangehensweisen – bequeme und weniger bequeme.


07. Januar 2011
Turbo für Embedded Linux

Tipps zur unkomplizierten Bootzeit-Optimierung

Aktuelle ARM-CPUs lassen sich mit Linux auf einfache Art für Industrieanwendungen nutzen. Nicht optimierte Systeme auf Basis von Standard-Distributionen zeigen dabei allerdings oft vermeidbar lange Bootzeiten und Flacker-Effekte beim Start der grafischen Benutzeroberfläche. Das lässt sich vermeiden.

Von Robert Schwebel

Anzeige

Pengutronix 
zoom
Bild 1. Grundsätzlicher Aufbau des Linux-Software-Stacks.

Wird ein neues Embedded-System auf Basis von ARMCPUs geplant, steht oft Linux als eine attraktive Betriebssystem- Option zur Auswahl. Seit nunmehr ungefähr zehn Jahren wird diese Kombination immer attraktiver: Während anfänglich die Gerätehersteller beim Einsatz von Linux noch vollständig auf sich allein gestellt waren, sind die Chip-Hersteller zwischenzeitlich den Anforderungen des Marktes nachgekommen und sorgen mit eigenen Entwicklern und gesponserten Ressourcen aus der Anwender-Gemeinde dafür, das der Projektstart schnell vonstatten gehen kann. Das wichtigste Mittel hierzu ist der Mainline-Kernel von Linus Torvalds. Nur Prozessor-Support, der dort untergebracht wurde, steht zukünftig einer breiten Nutzergruppe zur Verfügung[1].

Der Betriebssystem-Kern stellt aber nur eine Komponente eines Systems dar: Für gewöhnlich besteht ein Gesamtsystem aus Bootloader, Kernel, POSIX-Runtime sowie der Userspace- Infrastruktur mit Bibliotheken (Shared Libraries) und Systemdiensten (Daemons), siehe Bild 1. Schließlich laufen auf dieser Umgebung die Applikationen, die die eigentliche Funktionalität des Embedded-Systems umsetzen. Wer schon einmal versucht hat, die Betriebssystem-Umgebung mit Hilfe einer konventionellen Distribution zu realisieren, bemerkt schnell, dass dabei oft unakzeptable Bootzeiten und -effekte auftreten. So vergehen oft, je nach Ausstattung eines unoptimierten Systems, bis zu 90 s vom Power-On bis zur Betriebsbereitschaft der Applikation. Und bei grafisch orientierten Systemen, z.B. Bedienterminals, Navigationsgeräten oder Infotainment- Systemen, kommt es oft zu mehrfachem unschönen Flackern auf dem Bildschirm, bis die Anwendungs-Applikation läuft.

All diese Effekte sind durch eine Optimierung der Systeme auf den jeweiligen Anwendungsfall hin wirkungsvoll in den Griff zu bekommen.

Der Bootloader

Nach dem Einschalten und der Stabilisierung der Versorgungsspannung sorgt zunächst der Reset-Controller dafür, dass die CPU loslaufen darf. Die meisten modernen SoC-CPUs verfügen über einen ROM-Bootloader, der es ermöglicht, auch von Medien wie einem NAND-Flash oder einer SD-Karte zu booten. Aus diesem Boot-Medium wird sodann der Bootloader geladen und gestartet, dessen Hauptaufgabe es ist, die Hardware, Takte und Timings der Kernkomponenten des Systems zu initialisieren. Moderne Bootloader wie Barebox[2] richten nur die Hardware ein, die zum Booten unbedingt benötigt wird. Sollen für die Engineering-Phase Funktionalitäten wie ein System-Monitor oder andere für Entwickler hilfreiche Tools im Bootloader aktiviert werden, muss darauf geachtet werden, dass diese im Produktionssystem nicht zu Verzögerungen führen.

Die Hauptaufgabe des Bootloaders ist es, den Kernel vom Bootmedium in den Hauptspeicher zu laden und das Kernel- Image zu starten. Dabei muss zwischen der Größe des Kernels und mehreren zur Verfügung stehenden Komprimierungsalgorithmen abgewogen werden. Je nach eingesetzter CPU und der Geschwindigkeit des Bootmediums muß hier eine optimale Kombination gefunden werden. Auch können Tricks wie das asynchrone Laden und Entpacken des Kernels angewandt werden.