Das Debugging von Code, der nicht auf dem Entwicklungs-PC, sondern auf einem Board mit einem anderen Prozessor läuft, war unter Linux ursprünglich nicht vorgesehen. Doch inzwischen ist die Entwicklungsumgebung Eclipse so ausgereift, dass eine TCP/IP-Verbindung zum Zielsystem reicht, um alle Debug-Funktionen zu nutzen – und mit zusätzlichen Open-Source-Tools lassen sich sogar Speicherfehler aufspüren.
mehr ...
Software im sicherheitskritischen Bereich muss zeitliche Randbedingungen
unter allen Umständen einhalten. Um dies nachzuweisen, wird häufig
die „Worst-Case Execution Time“ herangezogen. Um diese maximale
Laufzeit zu erhalten, gibt es verschiedene Herangehensweisen –
bequeme und weniger bequeme.
mehr ...
Cloud Computing – zweifellos eines der großen Schlagwörter in diesem Jahr. Aber was versteht man eigentlich darunter? Ist es nicht das gleiche wie Web-Services, „Application
Service Providing“ und „On-demand-Computing“, nur unter neuem Namen? Ein Blick auf den Markt zeigt: Cloud Computing lässt viele Interpretationsspielräume zu. Fest steht aber:
Gezahlt wird nach erbrachter Leistung.
mehr ...
Wenn sich Entwickler von Embedded-Hardware an den »Design Guide« des Prozessorherstellers halten, dann funktioniert ihr Layout in den meisten Fällen, weil in diesen Leitfäden genügend Overhead eingeplant ist. Doch wie groß ist der Sicherheitsabstand tatsächlich? Genügt vielleicht sogar eine Multilayer-Platine mit weniger Lagen? Wo liegen die Schwachstellen in meinem Layout? Und wie vermeide ich ein Redesign? Bei diesen und ähnlichen Fragestellungen kann eine analoge Simulation helfen.
mehr ...
Was für Atheisten lediglich eine intellektuelle Herausforderung darstellt, ist für Entwickler sicherheitskritischer Software Pflicht: Der Beweis, dass etwas nicht existiert. Das ist nicht unmöglich, wie gerne angenommen wird, erfordert jedoch einigen logischen Aufwand. Im Falle von Laufzeitfehlern in Embedded-Software übernimmt diesen ein Programm zur statischen Analyse.
mehr ...
In komplexen Embedded Systemen kann jeder noch so kleine Performance-Bug schnell zum Flaschenhals werden. Mit neuen Verfahren lassen sich Performance-Einbrüche bei der Codeabarbeitung und beim Datenzugriff automatisch finden, die Tools geben zudem Hinweise für die Optimierung des Codes.
mehr ...
Vor dem Einsatz neuer Controller ist es wichtig, sich mit deren Komplexität und deren Möglichkeiten auseinanderzusetzen. Dabei werden Aspekte beleuchtet, die vor und während der Arbeit in Verbindung mit dem Intel Atom Z5xxP(T), aber auch in künftigen Projekten eine wichtige Rolle spielen. Die Betrachtungen gewähren Einblicke für folgende Projektplanungen und geben Anregungen für die eigene Entwicklung.
mehr ...
Hochsprachen-Entwicklungswerkzeuge ermöglichen in der Regel die zügige Erstellung von effizientem Programmcode. Es gibt aber in der digitalen Signalverarbeitung Szenarien, bei denen die automatische Codegenerierung nicht ausreicht, um extremen Geschwindigkeitsanforderungen gerecht zu werden. Dieser Artikel beschreibt exemplarisch
an der Implementierung eines FIR-Filters, wie rechenzeit-kritische Routinen mit Hilfe der Atom-Architektur bis auf wenige Prozent an das theoretisch mögliche Maximum heranzuführen sind.
mehr ...
Standardprodukte oder kundenspezifische Entwicklung – ein ewiges Dilemma. Computermodule sind ein Ausweg aus diesem Dilemma, indem sie Standard- und kundenspezifische Funktionen entkoppeln. Gleichzeitig entkoppeln sie auch ein schwierig zu entwickelndes CPU-Board von der
leichter realisierbaren Peripherie. Das miriac-MPX-Konzept zeichnet sich darüber hinaus durch einen besonderen Steckverbinder aus.
Von Reiner Mauthe
mehr ...
Die neue Multicast-Erweiterung der PCI-Express-Spezifikation sorgt für eine effektivere Verteilung derselben Daten an mehrere Empfänger und verringert Probleme mit der Datenkonsistenz. PCI-Express-Roots und -Endpunkte müssen dazu nicht einmal geändert werden – es sind zwischengeschaltete Switches, die die Multicast-Fähigkeit in jedes System bringen können.
mehr ...