ABC Company Conference
Unsubscribe
Banner_VXW_Text

„Probleme sind Gelegenheiten
zu zeigen, was Du kannst.
(Unbekannt)

Newsletter im März 2019:

- "Best in Show" auf der embedded world 2019 
- Automatisches Feedback ist essentiell
- Wertvolle Tipps zur Visualisierung Ihrer Software
- Kompression - selbst für kleinste Embedded Systeme
- Das größte Problem von Embedded Software ist ...
- Software für Fehler schreiben


Liebe Kundin, Lieber Kunde,


Jedes Jahr wird auf der embedded world in verschiedenen Kategorien ein „Best in Show“ Produkt gewählt. Über die Wahl in diesem Jahr waren wir sehr positiv überrascht.

Der Device Firmware Monitor (DFM), ein  neuer Cloud-Service zur Software-Qualitätssicherung in IoT-Produktorganisationen, wurde auf der Messe erstmalig der Öffentlichkeit gezeigt.

In der Kategorie "Entwicklungstools" räumte der DFM den „Best in Show“ Award ab. In Anbetracht der vielen „Big Player“ auf der embedded world ein wahrer Ritterschlag für das kleine Unternehmen Percepio aus Schweden!

"Best in Show auf der embedded world 2019
 
Percepio Device Firmware Monitor (DFM) ist ein neuer Cloud-Service für IoT-Firmware-Entwickler, der auf Firmware-Probleme in bereits ausgelieferten Geräten aufmerksam machen kann und deren Lösung beschleunigt. DFM benachrichtigt Firmware-Entwickler innerhalb von Sekunden nach dem Erkennen eines Fehlers und stellt über die Cloud Diagnose-Informationen zu dem entdeckten Problem bereit. 

Dazu gehört ein Software-Trace, der anzeigt, was in der Firmware vorging als der Fehler auftrat. Dadurch wird es einfacher, das Problem nachzuvollziehen, zu verstehen und eine Lösung zu finden. Ein Over-the-Air-Update (OTA) kann dann gesendet werden, um das Problem zu beheben.

Es gibt keine Embedded Software, die nicht mit Fehlern im Code ausgeliefert wird. Durchschnittlich 5 Prozent aller während der Entwicklung „eingebauten“ Fehler lassen sich nicht überprüfen und gelangen schließlich im Produktions-Code zu den Kunden – trotz hohem Verifizierungsaufwand.

Dies können u.U. Hunderte von Fehlern im ausgelieferten Produkt sein. Sie können praktisch beliebig viel Zeit und Geld für die Überprüfung aufwenden, und werden feststellen, dass der Aufwand für das Auffinden der letzten verbleibenden Fehler exponentiell ansteigt.

Der IoT-Trend erhöht die Test-Herausforderungen weiter, bietet aber auch Abhilfe. IoT ermöglicht ein automatisches Feedback vom Feld, das Sie sofort auf übersehene Fehler aufmerksam machen kann. Auf diese Weise können Sie Fehler schnell erkennen und beheben und ein Over-the-Air-Update (OTA) mit korrigierter Firmware bereitstellen – hoffentlich noch bevor die meisten Ihrer Kunden überhaupt ein Problem bemerkt haben.

Der IoT-Trend bietet zwar OTA-Updates als potenzielle Abhilfe, aber Entwickler können auch nur die Fehler beheben, die ihnen bekannt sind. Hierfür ist ein automatisches Feedback vom ausgelieferten Produkt essentiell

Percepio‘s DFM ist ein bahnbrechender neuer Ansatz, der Sensibilisierungs- und Diagnosefunktionen bereitstellt, mit denen IoT-Entwickler das volle Potenzial von OTA-Updates nutzen können, um ihre Firmware und Kundenbetreuung kontinuierlich zu verbessern.





Automatisches Feedback ist essentiell
Percepio DFM gibt IoT-Anbietern eine automatische Rückmeldung zu Laufzeitproblemen, sowohl während des Testens als auch in bereits ausgelieferten Produkten. DFM vereinfacht Software Problemmeldungen von Geräten im Feld. Warnungen werden an die Entwickler gesendet, und zwar sowohl als Fehlernachricht als auch als Diagnosesoftware-Trace des Fehlers.

DFM integriert das bekannte Analysetool Tracealyzer, von dem aus auf Fehler-Traces zugegriffen werden kann. Der Tracealyzer bietet marktführende Visualisierungs- und Analysefunktionen, mit deren Hilfe Entwickler das Problem verstehen, eine Lösung finden und überprüfen können. Die korrigierte Firmware kann als OTA-Update an alle betroffenen Geräte übertragen werden.

DFM basiert auf vorhandenen Services für sichere Cloud-Konnektivität, Speicher und OTA-Updates. Zunächst werden IoT-Geräte unterstützt, die mit Amazon Web Services (AWS IoT Core) verbunden sind und Amazon FreeRTOS ausführen. Die Unterstützung weiterer Plattformen ist geplant.

Der DFM Device Firmware Monitor von Percepio ist ein Game-Changer, da er ein sofortiges Feedback von im Feld eingesetzten Systemen ermöglicht.  Nur so kann sichergestellt werden, dass sich Ihre Firmware-Qualität ständig verbessert und Folgeschäden vermieden werden.

Interessiert mehr zu erfahren? Lesen Sie hier.



 



Wertvolle Tipps zur Visualisierung Ihrer Software
Ich bin mir sicher, dass Sie unter den nachfolgenden Artikeln etwas Lesenswertes finden werden. Eine Zusammenstellung einiger unserer besten technischen Blogs aus den letzten sechs Monaten, die Themen von der Leistungsoptimierung bis zur Fehlersuche in einer handelsüblichen TCP/IP-Bibliothek abdecken.
  • Tracing von TCP/IP-Sockets in Amazon FreeRTOS beschreibt die erste praktische Anwendung von Tracealyzer-Erweiterungen, einem von Percepio entwickelten Mechanismus, mit dem Tracealyzer-Nutzer Bibliotheken von Drittanbietern tracen können, ohne den Quellcode der Bibliothek zu anzufassen.

  • Visualisierung von OpenVX zur Optimierung von Vision-Anwendungen. Dieser zusammen mit Synopsys erstellte Artikel erläutert wie Sie Tracealyzer verwenden können, um parallele Codeausführung in Embedded Vision-Prozessoren von Synopsys zu visualisieren.

  • Tunen des benutzerdefinierten Trace-Streamings ist genau das, was der Titel sagt: praktische Tipps zur Maximierung des Durchsatzes beim Streaming von Trace-Daten durch beispielsweise eine Debug-Probe. Mit diesen Tipps können Sie verlorene Pakete und Events vermeiden.

  • Trace Streaming über TCP/IP auf Xilinx Zynq ist ein Artikel, in dem Tracealyzer mit einem Xilinx Zynq FPGA-Kit in Betrieb genommen wird. Bei der Dokumentation dieses Problems haben wir jedoch einige Unregelmäßigkeiten in der enthaltenen TCP/IP-Bibliothek festgestellt. Also sind wir auf die Jagd nach der Ursache gegangen.
Zusätzlich können Sie den „Getting Started" Artikel und das "RTOS-Debug-Portal" durchsuchen, um noch mehr wertvolle Tipps zu finden. Oder laden Sie sich das RTOS-101 White Paper einfach herunter.










Kompression - selbst für kleinste Embedded Systeme
Auf der embedded world 2019 stellte SEGGER die neue Software emCompress-ToGo vor, die Daten-Komprimierung selbst auf dem kleinsten Embedded-Computersystem ermöglicht.

Der neue verlustfreie Kompressionsalgorithmus SMASHv2 ist auf Systeme mit eingeschränkten Ressourcen zugeschnitten und erhöht die Leistung von Embedded Systemen.

Die Software ermöglicht Komprimierung und Dekomprimierung auf jedem Embedded System in Echtzeit, selbst wenn kein Arbeitsspeicher verfügbar ist. Im Vergleich zu SMASHv1 bietet SMASHv2 eine noch bessere Komprimierung, einfachere Anwendung (nur ein Parameter für die Komprimierung) und kleineren Code.

Mehr Speicherplatz und mehr Bandbreite - dadurch höhere Übertragungsgeschwindigkeiten und geringere Kosten. Diese Software kann praktisch jedes Embedded System noch effizienter machen. Vor emCompress-ToGo konnten die meisten Mikrocontroller-basierten Anwendungen keine Komprimierung verwenden, da die verfügbaren Algorithmen zu viel Arbeitsspeicher oder Rechenleistung benötigten. Dies ist nun vorbei.

emCompress-ToGo bietet die Leistung, Effizienz und Flexibilität, die für verschiedene Zwecke verwendet werden kann, z.B.
  • Speicherung von Firmware-Images oder mit SMASHv2 komprimierten FPGA-Bitstreams, um die ROM-Anforderungen erheblich zu reduzieren.

  • Drahtlose Aktualisierung durch Komprimierung zulassen.

  • Reduktion der Größe der gespeicherten Daten für Datenlogger und somit der erforderlichen Bandbreite zum Übertragen der Daten an die Verarbeitungsserver.

  • Komprimierung von Datenströmen.
Ein Algorithmus, der für alle passt: Große Kompressionsraten werden selbst bei kleinen Datenblöcken erreicht.

Das API ist sehr flexibel, mit Komprimierung und Dekomprimierung direkt in und aus dem Arbeitsspeicher oder über von der Anwendung bereitgestellte Funktionen. Der Kompressor benötigt nur etwa 1 KB ROM, die Dekomprimierung nur etwa die Hälfte davon. Testversionen für Windows sowie alle auf Cortex-M basierenden Zielsysteme stehen zum Download bereit.

Der gesamte Code wurde von SEGGER entwickelt und kann von SEGGER lizenziert werden. emCompress-ToGo ist durch keine Open Source-Lizenz belastet.

Weitere Informationen finden Sie hier.



Das größte Problem von Embedded Software ist ...
Embedded-Software-Entwickler stehen heute vor vielfältigen Problemen und Herausforderungen. Eines der größten und am wenigsten angesprochenen Themen ist, dass Entwickler ihre Software unter der Annahme erstellen, dass nichts schief gehen wird!

Das ist eine sehr blauäugige Herangehensweise, zumal wir alle die Realität kennen.
 
Software unter der Annahme zu schreiben, dass nichts schiefgeht, ist nichts weiter als funktionaler Prototypen-Code, der ohne Probleme in einer kontrollierten Laborumgebung ausgeführt wird. In der Praxis sieht vieles aber ganz anders aus.



Software für Fehler schreiben
Um Software zu schreiben, die mit Fehlern umgehen kann, müssen die Entwickler ihren Denk-Ansatz zur Software ändern. Anstatt sich darauf zu fokussieren, dass alles funktionieren wird, müssen die Entwickler einen gegenteiligen Denk-Ansatz finden, und herausfinden, was schiefgehen kann, und was nicht funktionieren könnte. 

Mit dieser Denkweise fragt sich ein Entwickler bei jeder Codezeile: "Was kann schief gehen?"

Dadurch können vielfältige Probleme identifiziert werden:
• Mögliche unendliche Schleifen,
• Hardwarefehler,
• Probleme mit dem Kommunikationsprotokoll,
• Einen falschen Code-Zweig verwenden,
• und vieles andere.

Wenn ein potenzielles Problem identifiziert wurde, kann der Entwickler in der Software Maßnahmen ergreifen, um das Problem zu erkennen und effektiv damit umzugehen.

Zu viele Entwickler schreiben Software für den Erfolg, ohne zu überlegen, was alles schief gehen kann. Sie gehen davon aus, dass das ausgelieferte Produkt im Feld genauso gut funktioniert wie auf dem Labortisch.

Das Ergebnis ist nicht nur Software mit einem niedrigeren Qualitäts-niveau, sondern auch Software, deren Entwicklung möglicherweise teurer ist und später auf den Markt kommt, als ursprünglich geplant, Software, die Nacharbeit notwendig macht, um Fehler zu beseitigen, die erst später in der Praxis entdeckt werden.

Auf der Webseite meines Kollegen Jacob Beningo finden Sie viele wertvolle Denkanstöße und Konzepte, die Ihnen helfen werden, Ihre Entwicklungen zu verbessern und zu beschleunigen.


Herzlichst,  Ihr
Marian A. Wosnitza



„Probleme kann man niemals mit derselben
Denkweise lösen, durch die sie entstanden sind.
(Albert Einstein)