Online lesen

„Unsere Fehlschläge sind oft
erfolgreicher als unsere Erfolge."
(Henry Ford, Gründer Ford Motor Company)

Unsere Themen:

- Embedded Software: Raten und Hoffen
- Embedded Entwickler haben es gut
- Die „Top 10“ Fehler in Firmware
- Industrieführer loben den Tracealyzer 4
- Trace-Daten: Die Nadel im Heuhaufen finden
- Webinar: Minimierung von Softwarefehlern
- 5 Gründe, C++ statt C einzusetzen


Sehr geehrte Frau [last name],

Die Embedded Systems Industrie befindet sich derzeit in einer erstaunlichen Transformation, die es Entwicklern ermöglicht, robustere und sicherere Systeme schneller als jemals zuvor zu entwickeln.

Systeme werden nicht nur sicherer und robuster, sie werden auch vernetzter und automatisierter. Um relevant zu bleiben und im Wettbewerb bestehen zu können, müssen Entwickler diese Trends im Blick behalten und die neuesten Fortschritte bei Techniken und Technologien nutzen.


Embedded Software: Raten und Hoffen

Hardware-Designer haben es einfach. Sie arbeiten mit einer physikalischen Komponente, die untersucht, gewogen und gemessen werden kann. Wenn die Hardware nicht funktioniert oder ein Problem auftritt, können Hardwaredesigner die elektrischen Signale prüfen und mit einem Oszilloskop visualisieren.

NL_1804_1.jpg

Als ich vor gut zwei Jahrzehnten von der EDA in die Embedded Industrie wechselte und mit Embedded-Software konfrontiert wurde, störte es mich immer, dass ich nicht sehen konnte, was tatsächlich im Mikro-controller vor sich ging.

Man musste die Daumen drücken und hoffen, dass die Software so ausge-führt wurde, wie man es sich vorgestellt hatte.

Sicher, die LED's blinkten, die Sensoren schienen entsprechend abgetastet zu werden und das System brach nicht sofort in Flammen aus oder stürzte auch nicht ab.

Aber wurde die Software tatsächlich so ausgeführt, wie der Entwickler es entworfen hatte, oder machte sie etwas Anderes und Unerwartetes, das niemand bemerken geschweige denn sehen konnte?

Im Ingenieurwesen geht es nicht ums Raten, aber seit Jahrzehnten haben Embedded-Softwareentwickler genau so ihre Software entwickelt.

Ingenieurwissenschaften verwenden wissenschaftliche Prinzipien, um das Design zu entwerfen, zu implementieren und zu verifizieren. Messungen sind wichtig, wenn ein Designteam erfolgreich und effizient sein will.

Das Problem ist, dass die meisten Entwicklungsteams, die man heute antrifft, keine wirklichen Messungen ihrer Software vornehmen oder wirklich verstehen, wie sie sich auf ihrem Zielprozessor verhält, obwohl es heute die dafür verfügbaren Technologien und Werkzeuge gibt.


Embedded Entwickler haben es gut

Gott sei Dank haben sich die Zeiten geändert. Mit den richtigen Tools müssen Embedded Entwickler seit mehreren Jahren nicht mehr raten oder hoffen.

NL_1804_2.jpg

Moderne Mikrocontroller haben seit Jahren entsprechende Hard-ware und Debugging-Technologie verfügbar um

  • den Programmausführungs-pfad zu verfolgen und zu visualisieren,

  • die Instruktionen, die der Prozessor ausgeführt, zu überwachen,

  • Ereignisse, die in der An-wendung auftreten wie z. B. Kontextwechsel aufzu-zeichnen,

  • den Programmzähler und Stack-Pointer zu verfolgen.

Tracing (auf deutsch: Ablauf-verfolgung) bietet seit längerem die Funktion zur Analyse und Fehlersuche in Software.

Tracing bietet Entwicklern neue Einblicke, Debugging- und Verifikationsfunktionen, die das Potenzial haben, die Entwicklung von Embedded-Software grundlegend zu verändern.

Machen Sie sich 7 Tipps für den Einstieg in die Erzeugung eines Trace Ihrer Embedded Anwendung zu Nutze. Lesen Sie den Artikel von Jacob Beningo.


Die „Top Ten“ Fehler in Firmware

Mit "Die Top Ten von ..." Überschriften fängt man Interessenten, für Restaurants in Wien, die höchsten Gebäude auf der Welt, und vieles mehr.

Natürlich gibt es auch eine Liste der „Top Ten Bugs in Firmware“.

Michael Barr, ehemaliger Chefredakteur des Magazins Embedded Systems Programming und Autor von drei Büchern zu diesem Thema, hat nicht nur die Fehler aufgelistet, sondern schlägt auch Entwurfsmuster vor, um sie zu vermeiden.

Gute Entwurfsmuster sind von unschätzbarem Wert, aber es werden immer wieder Fehler gemacht.

Beim Debugging stellen wir fest, dass mindestens fünf dieser Fehler mithilfe eines RTOS-Tracing-Tools wie dem Tracealyzer von Percepio gefunden und analysiert werden können.

Hier ist der Artikel.


Industrieführer loben den Tracealyzer 4

Der neue Tracealyzer 4 hat auf der Embedded World viel Aufsehen erregt. Das Interesse war intensiv und die Messebesucher auf dem Stand von Percepio waren sehr beeindruckt.

NL_1804_3.jpg

Während der Show hat Percepio sieben bekannte Industrie-führer gefragt, ob sie ihre Reaktion auf den Tracealyzer 4 wieder-geben können. Alle stimmten zu - schauen Sie sich das Ergebnis an.

Die Fähigkeit, die Aus-führung von Software zu visualisieren, ist eine der wertvollsten und leistungsfähigsten Funktionen, die Embed-ded-Entwicklern heute zur Verfügung stehen.

Nichts frustriert mehr als nicht zu sehen, was die Software macht, wie sie tatsächlich ausgeführt wird.

Wenn man nichts sehen kann, ist die einzige Möglichkeit, wenn etwas schief gegangen ist, mehr oder weniger intelligente Vermutungen und Schätzungen anzustellen und zu hoffen, dass das Problem dadurch schnell gefunden werden kann. Kann man so Termine planen?

Eines der nützlichsten Werkzeuge auf dem Markt, das den Entwicklern die Möglichkeit gibt, wirklich zu beurteilen, was ihre System tut, ist der Tracealyzer.

Die neue Version 4 wurde in Nürnberg vorgestellt. Mit dem Tracealyzer kann ein Entwickler nun Events in seiner RTOS-basierten Anwendung visualisieren, z.B. Kontextwechsel zwischen Tasks, senden und empfangen von Semaphoren, und viele andere Event-Typen.


Trace-Daten: Die Nadel im Heuhaufen finden

Bisher wurden Trace-Daten immer „posthum“ überprüft, also nachdem sie vom System aufgezeichnet wurden. Der Entwickler saß vor Bergen von Daten und suchte die sprichwörtliche Nadel im Heuhaufen.

NL_1804_4.jpg

Nun können Ent-wickler den Daten-Trace live in Echtzeit sehen und analysieren, ja mehr noch, sich mit dem "Vergrößerungsglas" auf die Bereiche fokussieren, die von Interesse sind.

Percepio demonst-rierte diese Fähigkeit auf der Messe mit einer voll funktions-fähigen Drohne und Streaming des Live-Trace zum Trace-alyzer. Aber das war noch nicht alles.

Entwickler können nun Zustandsautomaten visualisieren, Traces zeitlich unbegrenzt aufzeichnen und die aufgezeichneten Traces für die Live-Wiedergabe laden.

Tracealyzer 4 bringt fünf wesentliche Verbesserungen:

  • Die brandneue Benutzeroberfläche ist frisch und modern. Es ist einfacher, die Trace-Daten zu überblicken.

  • Die Live-Visualisierung ermöglicht verschiedene Ansichten des Software-Verhaltens in Echtzeit.

  • Die unbegrenzte Ablaufverfolgung ermöglicht Aufzeichnung und Analyse von Traces, die sich über Stunden, Tage oder Wochen erstrecken.

  • Mit Netzwerk- und I/O-Awareness erhalten Sie eine breitere Perspektive des Systemverhaltens.

  • Mit der benutzerdefinierten Analyse sehen Sie die Dinge, die wirklich wichtig für Ihr System und das vorliegende Problem sind.

Tracealyzer v4 ist seit Mitte März für Download und Evaluierung verfügbar. Zunächst unterstützt der Tracealyzer AWS FreeRTOS und ARM Keil RTX5. Es folgen weitere RTOS-Unterstützungen in Kürze.


Webinar: Minimierung von Softwarefehlern

Umfrageergebnisse zeigen, dass das durchschnittliche Entwicklerteam 40% eines Entwicklungszyklus damit verbringt, seine Software zu debuggen. Was für eine Verschwendung von Zeit, Ressourcen und Geld!

In dem Webinar „Jump Starting Code Development to Minimize Software Defects“ wird der Embedded Consultat Jacob Beningo verschiedene Techniken untersuchen und vorstellen, mit denen Fehler schnell erkannt und die Zeit für das Debugging reduziert werden kann.

Das Webinar zeigt praktische Demonstrationen mit ST Microelectronics TrueStudio und Percepio Tracealyzer 4, wobei der Quellcode den Teilnehmern zur Verfügung steht. Das kostenlose Webinar findet am 22. Mai um 11 Uhr CET statt. Sie können sich heute schon anmelden.

Registrieren Sie sich hier.


5 Gründe, C++ statt C einzusetzen

Ich verfolge seit gefühlten zwei Jahrzehnten die ständige Debatte über C++ und C und darüber, wann C++ endgültig C verdrängen und die dominierende Pro-grammiersprache für Embedded Systeme werden soll.

NL_1804_5.jpg

Bis heute ist C immer noch die dominierende Sprache und das scheint sich auch nicht so schnell ändern zu wollen.

Nach wie vor unterstützen viele Prozessoren C++ schlecht oder gar nicht.

Ebenso kann man nicht wegdiskutieren, dass viele Entwicklungen nach wie vor ohne die zusätzlichen Eigenschaften von C++ leben können (Vererbung, Poly-morphie, Verkapselung).

Auch ist die Tatsache, dass C++ so häufig aktualisiert wird, vielleicht keine so gute Idee. C ist deswegen einfach stabiler.

Trotz dieser Hindernisse steigt die Zahl der C++ Projekte – zumindest aus meinem Erfahrungskreis – von Jahr zu Jahr.

Die Vorteile der objektorientierten Programmierung sind nicht von der Hand zu weisen. Die Erkenntnis in sie ist langsam aber unaufhaltsam. Der Übergangsprozess dauert offensichtlich wesentlich länger als vor zwei Jahrzehnten prognostiziert.

Der Übergang von C zu C++ gehört ebenfalls zu den Transformationen, in denen sich die Embedded Systems Industrie gegenwärtig befindet.

Angesichts der Fortschritte in der Mikrocontroller-Hardware und vor allem der Toolchains und der Optimierungen, die jetzt verfügbar sind, könnte es an der Zeit sein, mit der Umstellung von C auf C++ zu beginnen.

Hier sind einige Gründe, warum Entwickler anfangen sollten, C++ in ihren Embedded Systemen zu verwenden:

  • Grund Nr. 1
    Verwendung moderner objektorientierter Programmiertechniken
  • Grund Nr. 2
    Compiler- und Toolchain-Unterstützung für Mikrocontroller
  • Grund Nr. 3
    Aktiver Normenausschuss
  • Grund Nr. 4
    Leistung und Code-Größe
  • Grund Nr. 5
    Schulungen für Objektorientierte Programmierung sind vielfach verfügbar

Lesen Sie die alle Antworten auf die 5 Gründe aus dem Blog von Jacob Beningo.

Wie Sie wissen, bieten wir seit mehreren Jahren Kurse für den Einsatz von C++ in Embedded Anwendungen an.


Es gibt viele Gründe, C++ zu verwenden, und eine Menge, um C weiter zu verwenden. Es sollte Sie aber nicht überraschen, wenn in den nächsten Jahren mehr und mehr Beispielcode in C++ auftaucht.

Die Beweggründe bei C zu bleiben werden durch die Entwicklung der Hardware, dem Know-how der Entwickler und – last not least – der Akzeptanz der Vorteile von C++ bald nicht mehr zählen.

Bleiben Sie neugierig.

Herzlichst, Ihr
Marian A. Wosnitza

„Manchmal muss man einfach ein Risiko eingehen
und seine Fehler unterwegs korrigieren.“
(Lee Iacocca, ehem. US Top Manager)

(*) Automatische Übersetzungen können den Sinn des ursprünglichen Satzes verändern. Wir übernehmen keine Gewähr für die Richtigkeit.
Anmerkung zum neuen Telekommunikationsgesetz (seit 1.03.2006):
Sie erhalten diese Nachricht aufgrund eines bestehenden Kundenkontaktes oder aufgrund einer Anfrage an uns oder einen unserer Partner. Sollten Sie in Zukunft keine Zusendungen mehr von uns wünschen, so klicken Sie bitte auf Unsubscribe in der Fußnote dieser Email. Sie werden unverzüglich aus dem Verteiler genommen.
Impressum: Medieninhaber und Herausgeber: Carnica Technology, Marian Wosnitza, Untervellach 96, A-9620 Hermagor, www.carnica-technology.com, Email: info@carnica-technology.com