ABC Company Conference
Unsubscribe
Banner_VXW_Text

„Mehr als die Vergangenheit interessiert mich die Zukunft,
denn in ihr gedenke ich zu leben.“
(Albert Einstein)

Newsletter im April 2021:

- Messe ohne Menschen
- Bestnote im Elektronik-Magazin
- OTA Over-the-Air Updates für embedded IoT-Geräte
- Effizienz des Codes ist entscheidend
- Datenschutz hat Vorrang


Liebe Kundin, Lieber Kunde,

Die letzte persönliche, physische Konferenz, die ich besucht habe, war die embedded world 2020 in Nürnberg. Das ist nun eine ferne Erinnerung - und dieses Jahr, da die Konferenz komplett digital war, frage ich mich, wie effektiv das neue Format für Leute wie mich ist, die sich auf Networking und persönliche Treffen verlassen, um die besten Informationen zu erhalten.

Messe ohne Menschen

Verstehen Sie mich nicht falsch: Das Konferenzprogramm  der embedded world 2020 online war wirklich umfassend. Es gab eine Fülle von Informationen zu allen Aspekten des Designs und der Entwicklung von Embedded-Systemen. Die Embedded-Gemeinschaft ist jedoch sehr eng miteinander verbunden, und Messen wie diese sind ein wichtiges Ventil für das Knüpfen von Kontakten sowie für den Austausch von Erfahrungen und Ideen.

Persönliche Messen bieten die Möglichkeit, sich mit Kunden, Interessenten, ehemaligen Kollegen, Lieferanten und sogar potenziellen Investoren zu treffen. Sie ermöglichen auch zufällige Begegnungen - die Art von Begegnungen, bei der man jemanden trifft, den man nicht kennt, und am Ende ein Gespräch führt, das einem etwas Wertvolles bringt, z. B. einen bahnbrechenden Ansatz, an den man vorher nicht gedacht hat, eine neue Produktidee oder sogar eine neue Geschäftsverbindung.

Dieser Community-Gedanke besteht schon seit Jahren. Meine Erfahrung begann in den 80er Jahren in der Anfangszeit der Embedded Systems/World in Sindelfingen und später in Nürnberg. Die Messe war in all den Jahren der Treffpunkt für das Ökosystem der Embedded-Systeme.

Egal, ob es sich um ein geschäftliches Treffen oder eine informelle Begegnung handelt, die Erfahrung in der realen Welt ist sehr wertvoll und durch nichts zu erstzen. Jetzt, wo wir fast ein Jahr lang virtuelle Meetings, Messen und Konferenzen erlebt haben, kommen wir da auch nur annähernd an diese Erfahrung heran?

Meine Antwort ist ein klares Nein.



Bestnote im Elektronik-Magazin
Die Leser der Zeitschrift Elektronik haben die Entwicklungsumgebung Embedded Studio von SEGGER einem umfangreichen Praxistest unter-zogen - und dabei hervorragende Ergebnisse erzielt.

Zehn ausgewählte Leser durften Embedded Studio in der Praxis testen. Der Test gliederte sich in drei Kategorien: Inbetriebnahme, Bedienung und Fazit.

Die Tester wurden gebeten, diese Kategorien anhand eines Punktesystems zu bewerten. Die Gesamtbewertung von Embedded Studio ergab die besten Ergebnisse, die je ein Produkt in einem Elektronik Magazin-Lesertest erzielt hat.

SEGGER-Geschäftsführer Ivo Geilenbrügge: "Das hervorragende Ergebnis des Elektronik-Lesertests, bei dem zehn erfahrene Entwickler das Embedded Studio unter die Lupe genommen haben, zeigt, dass unsere Kunden uns beim Wort nehmen können: Vor allem, wenn es um unser Motto "Es funktioniert einfach!" geht. Es zeigt, dass dies nicht nur leere Worte sind. Unsere Kunden glücklich zu machen, hatte bei SEGGER schon immer höchste Priorität."

Embedded Studio ist eine plattformübergreifende IDE von SEGGER Microcontroller. Es zeichnet sich durch seine Flexibilität in der Anwendung aus und enthält alle Werkzeuge und Funktionen, die ein Entwickler für die professionelle Embedded C Programmierung und Entwicklung benötigt.

Es beinhaltet einen C/C++ Compiler, einen integrierten Debugger und direkte J-Link Integration. Alle Komponenten sind von Grund auf für Embedded-Systeme konzipiert und erzeugen extrem kleinen Code bei bester Perform-ance. Jedes Byte zählt.

Möchten Sie mehr über Embedded Studio erfahren? Hier finden Sie einen detaillierten Überblick über den Test und die Ergebnisse:

Wenn Sie das Embedded Studio kommerziell nutzen möchten, mache ich Ihnen gerne ein Angebot.


 





OTA Over-the-Air Updates für embedded IoT-Geräte
Die Software von IoT-Geräten ist oftmals noch mit versteckten Fehlern be-haftet. Mit Over-the-Air-Updates ergeben sich jedoch Möglichkeiten für Entwickler, Bugs frühzeitig zu eliminieren, wie uns Dr. Johan Kraft, CEO von Percepio erklärt.

Over-the-Air (OTA)-Updates sind einfach auszuführen: Download und Installation erfolgen oft unbemerkt im Hintergrund. Zusammen mit Software-Tracing, lassen sich mit OTA-Updates Qualität und Zuverlässigkeit von Embedded-IoT-Systemen verbessern. 

Denn trotz aller Mühen der Entwickler weisen die Systeme oft noch Bugs auf. Beim Programmieren entstehen pro 1.000 Codezeilen durchschnittlich 120 Bugs, wovon ungefähr fünf Prozent, also etwa sechs Bugs pro 1.000 Codezeilen, bis zum Ausliefern nicht behoben werden.

Entwickler sollten sich aber nicht darauf verlassen, dass Anwender die Fehler melden. Zumal Benutzerantworten meist eher vage sind und kaum zum Beheben beitragen. Noch schwerer wiegen die Fakten, wenn es nicht um Tausende, sondern um Millionen von Geräten geht. Außerdem treten die unentdeckten Bugs meist nicht sofort auf, sondern bereiten lediglich unter ganz bestimmten Bedingungen Probleme. Andernfalls hätten Entwickler sie bereits vor dem Ausliefern der Produkte gefunden. 

Mit einem OTA-Update lässt sich zwar das Problem im Feld lösen, jedoch benötigen Entwickler zusätzlich eine Art Rückmeldesystem, um überhaupt von Fehlern in den ausgelieferten Produkten zu erfahren – und das möglichst zeitnah. Beim Entwickeln von Mobile- und Cloud-Anwend-ungen ist die Vorgehensweise schon längst Standard (DevOps), ab sofort kommt sie ebenso für die Embedded-Entwicklung in Betracht.
 


 







Effizienz des Codes ist entscheidend
Entscheidend für das Aufdecken und Lösen von Fehlern ist ein Zusammen-spiel zwischen Software-Tracing, Cloud-Management und OTA-Updates. In einem System, das ohnehin von Ressourcenverknappung geprägt ist, muss der Trace-Code möglichst effizient sein.

Einerseits muss die Cloud sicher und transparent angebunden sein, anderer-seits sind die richtigen Daten zu übertragen. So können Entwickler Fehler schnell und einfach beheben. Der Cloud-Dienst muss also zunächst fest-stellen, welche Bugs neu und relevant sind und die Entwickler anschließend darüber informieren. Ist das geschehen, gilt es, die aktualisierte Software per OTA-Update an alle Geräte zu verteilen.

Seinen Anfang nimmt der Informationsfluss im Fehlerbehandlungscode des IoT-Geräts, beispielsweise in den bereits existierenden Sanity Checks und Fault Exception Handlern. Mithilfe eines Softwareagenten werden Firmware-Probleme als Warnung in den Cloud-Account eines Kunden hochgeladen.

Ein solcher Alert kann neben der eigentlichen Fehlermeldung ebenso Zusatzinformationen umfassen, die für das betreffende Problem relevant sind – zum Beispiel Softwarezustandsvariablen und Inhalte von Hardware-Registern.

Abhängig davon, wie gravierend der Fehler ist, wird der Alert entweder sofort oder nach einem Neustart des Geräts hochgeladen, sobald die Verbindung zur Cloud wiederhergestellt ist. Bestandteil der Warnung kann ebenso ein automatisch aufgezeichneter Trace der jüngsten Softwareereignisse im Gerät sein. 

Hierin sind Detailangaben zum Fehler selbst sowie zum Kontext enthalten.
Dabei kommt es entscheidend auf die Codeeffizienz an, um möglichst wenig Speicher für den Trace in Anspruch zu nehmen. Wichtig ist eine solche Effizienz aus zwei Gründen: 

Erstens reduziert sich beim Zusammenstellen hinreichend langer Traces die Uploadzeit auf Bruchteile einer Sekunde. 

Zweitens werden die Cloud-Kosten für das Entgegennehmen und Ab-speichern der Alerts minimiert. Es ist die Codeeffizienz, die den Einsatz der Trace-Technik im Feld, selbst in kleinen IoT-Geräten erlaubt.

Der Softwareagent lädt Warnmeldungen in die Cloud des Kunden hoch. Sie ist so konfiguriert, dass sie Alerts speichert und an eine Engine weiterleitet. Die Engine übernimmt das Klassifizieren, das statistische Aufarbeiten und das Benachrichtigen der Entwickler.

Ferner bietet sie Konfigurationsoptionen. Beispielsweise um zu filtern, unter welchen Umständen die Meldungen an welche Empfänger zu verschicken sind. Sobald der Agent Entwickler über einen neuen Fehler informiert, können sie auf die Warnmeldung und Traces zugreifen.
 


 






Datenschutz hat hohe Priorität
Hierbei hat der Datenschutz eine hohe Priorität. Zum Beispiel darf ein Software-Trace niemals den Cloud-Account des Kunden verlassen. Für das Verarbeiten in der Cloud, welches ein externer Cloud-Dienst übernehmen kann, wird lediglich eine anonyme Signatur der Alarmmeldung benötigt. 

Eine solche Information lässt sich vollkommen transparent, konfigurierbar und für sich genommen bedeutungslos gestalten. Kommunikation und Speichern handhabt die bestehende IoT-Entwicklungsplattform, wobei diese beim Authentisieren und Verschlüsseln auf bewährte Verfahren zurückgreift.

Die Komplexität heutiger IoT-Systeme bringt es mit sich, dass Labortests nicht mehr in der Lage sind, sämtliche Softwarefehler aufzudecken und zu beseitigen. Echtzeit-Traces und Alerts können Bugs im Feld melden, sobald sie sich äußern. Hierbei wird die Fehlerbehebung mithilfe von auto-matischen Benachrichtigungen der Entwickler beschleunigt.

Ein solches System muss skalierbar, sicher und für die Entwickler trans-parent sein. Einmal eingerichtet, informiert es Entwickler umgehend beim ersten Auftreten eines Fehlers. Zu dem Zeitpunkt wurde es vom Anwender oft noch nicht einmal bemerkt. Anschließend können die Entwickler dann die Vorteile der OTA-Updates nutzen, um ihr Produkt zügig zu verbessern.

Wenn Sie mehr über IoT Device Monitoring mit visueller Trace Diagnostik wissen möchten, sehen Sie sich die Video Präsentation mit Demo an.

Auch kann ich Ihnen den Artikel „Detecting Bugs in Deployed IoT Devices using Percepio DevAlert“ empfehlen, der im Blog des AWS Partner Netzwerks erschienen ist.
 



Ich wünsche Ihnen einen guten und vor allem gesunden Start ins Frühjahr. Bleiben Sie gesund.

Herzlichst,  Ihr
Marian A. Wosnitza


„Wenn etwas wichtig ist, setzt du es selbst dann um,
wenn die Chancen nicht zu deinen Gunsten stehen.“
 (Elon Musk)