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.


08. Dezember 2010
Neben Apple und Microsoft

Android – die dritte Kraft

Android

Die Androiden haben derzeit gut lachen angesichts ihres Erfolgs auf der Erde.

Android ist eine Betriebs- und Anwendungsumgebung für Smartphones, die dem Wust von Linux-Distributionen für Mobilgeräte einen De-facto- Standard entgegensetzen will. Zwar zielt Android auf den mit Millionen Stückzahlen lockenden Handymarkt, aber auch andere mobile Geräte etwa für die Industrie können von Android profitieren, wenn sie zumindest eine Teilmenge des vorgegebenen Funktionsumfangs nutzen können.

Anzeige

Das grüne Männchen, das als Symbol für das Betriebssystem Android steht, hat etwas Außerirdisches. Die Namensgebung erinnert wohl auch ganz absichtlich an die „Droids“ aus dem Star-Wars-Universum – Roboter, die mit künstlicher Intelligenz ausgestattet sind. Auf dem Planeten Erde existiert Android seit Herbst 2003 – damals wurde das Unternehmen Android gegründet. Zunächst wusste man nicht viel mehr, als dass es Software für Mobiltelefone entwickelte. Ins Blickfeld der Öffentlichkeit geriet Android dann Ende 2007, als Google die Firma und das Betriebssystem kaufte.

Die Zielrichtung von Google war offensichtlich, ein Gegengewicht zu Apples iPhone zu schaffen. Dazu machte sich Google eine Schwäche bzw. eine immer wieder geäußerte Kritik an der Apple-iPhone-Welt zunutze: das geschlossene, proprietäre System aus iPhone, iTunes und Apps sowie Inhalten, die vollständig von Apple kontrolliert werden. Google rief gemeinsam mit 33 weiteren Mitgliedern eine „Open Handset Alliance“ ins Leben, die fortan die Entwicklung von Android koordiniert. Da die Open Handset Alliance nicht von einem einzigen Hersteller dominiert wird, sind sowohl die technischen als auch die kommerziellen Rahmenbedingungen längst nicht so einengend wie bei Apple und die Zahl der Apps wuchs nach dem Markteintritt der ersten Mobiltelefone schnell.

Google setzt im Gegensatz zu Apple also auf Offenheit. Durch die Einbeziehung der Mobiltelefonhersteller in die Open Handset Alliance versucht Google, als konsolidierende Kraft im fragmentierten Markt der Handy-Betriebssysteme zu wirken. Hersteller, die sich der Open Handset Alliance anschließen, gehen allerdings keine Verpflichtung ein und können ihr eigenes, proprietäres System weiterhin pflegen und vermarkten – auch hier gilt das Prinzip Offenheit.

T-Mobile G1
T-Mobile 
zoom
Bild 1. Das T-Mobile G1 war das erste Mobiltelefon mit Android-Betriebssystem.

Dass Google auch im Rahmen der Allianz ein wichtiges Wort bei der Entwicklung von Android mitredet, zeigte sich am ersten Android-Mobiltelefon, das knapp ein Jahr nach Gründung der Allianz auf den Markt kam, das T-Mobile G1 (Bild 1).

Dieses Smartphone war nur mit einem Google-Konto sinnvoll nutzbar, was sofort Kritiker und Datenschützer auf den Plan rief. Denn sämtliche E-Mails, Termine und Adressen wurden bei diesem Verfahren auf den Google-Servern gespeichert. Google hat auf die Kritik reagiert und nachfolgende Versionen von Android so gestaltet, dass die Nutzung auch ohne ein Google-Konto möglich ist.

Linux-Unterbau

Android-Implementierung der Open Handset Alliance
developer.android.com 
zoom
Bild 2. Die Android-Implementierung der Open Handset Alliance bringt neben dem Betriebssystem-Unterbau zahlreiche Komponenten mit, die die Anwendungsentwicklung vereinfachen.

Das Fundament von Android bildet ein Linux-Kernel 2.6 (Bild 2). Er ist für das Scheduling, die Netzwerkkommunikation, die Speicherverwaltung und die Anbindung der Peripherie über Gerätetreiber zuständig. Neben der Version für die ARM-Architektur existieren Portierungen auch für MIPS, PowerPC und x86. Die x86-Version ist allerdings weniger bedeutsam, da Android auf kleine Bildschirme optimiert ist und über ein Touch-Interface gesteuert wird – beides ist im x86-Bereich eher selten.

Die eigentliche Innovation von Android liegt weniger in der Adaption von Linux auf Smartphones, sondern in der virtuellen Maschine Dalvik, auf der die Anwendungen laufen.

Die Anwendungen für Android-Geräte werden komplett in Java programmiert. Der Java-Code wird für die Verwendung auf dem Gerät in einen Zwischencode compiliert, der sich von anderen virtuellen Java-Maschinen unterscheidet. Deshalb kann der Output üblicher Java-Compiler nicht für Android bzw. Dalvik verwendet werden. Mit dem Konverter dx (Dalvik Cross Assembler) existiert jedoch ein Werkzeug, um Java-Klassendateien für Dalvik umzuwandeln.

Die virtuelle Prozessorarchitektur von Dalvik kommt der realen Architektur von ARM-Prozessoren wesentlich näher als diejenige anderer Java-VMs, weshalb Dalvik-Code sehr effizient abläuft. Außerdem können bei Dalvik mehrere Instanzen ohne allzu großen Ressourcenverbrauch parallel auf einem Gerät laufen, was wichtig ist, weil bei Android jede Anwendung bzw. jeder Prozess in einer eigenen VM gestartet wird.

Android bringt bereits einige Smartphone- typische Basisanwendungen mit: Kalender, Browser, SMS-Anwendung, Telefontastatur (für den Touchscreen), Kontakte, Maps, E-Mail u.a. Auch wer die mitgelieferten Standardanwendungen nicht verwenden möchte, braucht sie deshalb nicht komplett neu zu programmieren, denn ein sog. Application Framework stellt zahlreiche Bausteine zur Verfügung, die einen hohen Wiederverwendungsgrad bei den Applikationen garantieren. Dieses Framework verwaltet den Zugriff auf wichtige Gerätefunktionen, die den Wert des Gerätes ausmachen und von denen jede Anwendung wenigstens eine braucht. Dazu gehören u.a.: Telefonie, Ortsbestimmung, Benachrichtigungen, Anzeigesystem usw.

Weitere Elemente, auf die Anwendungen zugreifen können, sind die Bibliotheken, die häufig genutzte Software-Funktionen bündeln. Zu ihnen zählen die FreeType-Bibliothek mit Schriftarten, die Grafikbibliothek OpenGL, die relationale Datenbank SQLite, die anwendungsübergreifend genutzt werden kann, sowie Medien-Codecs oder SSL für sichere Verbindungen über öffentliche Netze. Viele dieser Bibliotheken greifen auf nativ in C programmierte Code-Bestandteile zurück, um die Performance z.B. bei der Videowiedergabe zu verbessern.