ABC Company Conference
Unsubscribe
Banner_VXW_Text

„Der Nachteil der Intelligenz besteht darin,
dass man gezwungen ist, ununterbrochen dazuzulernen.“
(George Bernhard Shaw (1856-1950),
irischer Schriftsteller)

Newsletter im Juli 2018:

- Never touch a running system
- Smart Move für smarte Entwickler: Embedded Studio
- Der Clou an der ganzen Sache...
- Tracealyzer: Exceptions Trace mit Keil RTX5
- So hilft der Tracealyzer (unter anderem)


Liebe Kundin, Lieber Kunde,

Wenn Sie in Ihrem Projekt ein gut eingespieltes Team von Entwicklern, Tools und Routinen haben, sind Sie gut beraten, nichts mehr daran zu ändern, andernfalls riskieren Sie, den Projekt-Fahrplan durch unvorhergesehene kleine oder größere Probleme in Gefahr zu bringen.



Never touch a running system
.. ist des Entwicklers Weisheit – und das zurecht. Es verlangt aber Disziplin und Konsequenz der Neugier zu widerstehen, vielleicht doch einmal etwas Neues auszuprobieren, wenn auch nur zum Test.

Die Kehrseite dieser Vorgehensweise, bei der man sich bildlich Scheuklappen aufsetzt, ist, dass man möglicherweise etwas verpasst, was einem tatsächlich hätte sehr helfen können.

Und das nicht nur im laufenden, gesamten Projektzeitplan, sondern vor allem auf der Budget-Seite, wo es immer noch ungeahnte Möglichkeiten gibt, viel Geld zu sparen.

Wenn dies auch noch völlig ohne Risiko für das laufende Projekt möglich ist, wäre man doch eigentlich schlecht beraten, wenn man diese Möglich-keiten außer Acht lassen und ignorieren würde?

Ich habe in den Jahren 2009 bis 2017 viel Zeit und Arbeit investiert, um Sie vom IAR Compiler zu überzeugen. Dazu stehe ich auch nach wie vor, denn der IAR Compiler ist ein exzellenter Compiler, der absolut auf Augenhöhe mit dem KEIL Compiler spielt.

Der GNU C/C++ Compiler, von den IAR Fans vor 10 Jahren noch belächelt, hat in den letzten Jahren enorm aufgeholt, und zwar in jeder Beziehung von der Kompaktheit bis zur Performance des Codes. In seiner Gesamtqualität ist der Unterschied zu IAR und KEIL immer noch messbar, aber die Differenz ist deutlich geschrumpft. Das ist in Benchmarks leicht nachzuweisen.

Diese Entwicklung hat dazu geführt, dass viele – auch anspruchsvolle – Projekte heute ohne einen proprietären (und teuren!) Compiler auskommen, sondern einfach mit dem GCC gearbeitet wird.

Somit eröffnet der GCC für den anspruchsvollen, professionellen Markt neue und vor allem Budget-schonende Möglichkeiten.

Besitzen Sie bereits einen IAR oder KEIL Compiler, möchten Sie diesen natürlich weiter nutzen – er hat ja schließlich viel Geld gekostet, und das unabhängig davon, ob einem die Benutzeroberfläche der IDE nun gefällt oder nicht.

Müssen die Tool-Kapazitäten durch neue größere Projekte, durch neue Mitarbeiter und den Ausbau der Entwicklungsabteilung erweitert werden, stellt sich die Frage, ob man den eingeschlagenen Weg weitergehen sollte.

Die gleiche Frage stellt sich auch, wenn eine Verlängerung des kostspieligen Support & Update Service für den proprietären Compiler ansteht.

Ist es notwendig, weiterhin in Budget-belastende Tool-Resourcen der gleichen vorhandenen Art zu investieren, oder gibt es einen anderen, smarteren Weg, ohne Risiko Gleiches zu erreichen, das Vorhandene zu nutzen und dabei mehrfach zu gewinnen?



 





Smart Move für smarte Entwickler: Embedded Studio
Wie wäre es, wenn Sie Ihren leistungsfähigen Motor einfach in ein neues Auto einbauen?

Beim Alten haben Ihnen die Sitze, das Armaturenbrett, die Straßenlage und vieles andere nicht mehr zugesagt. Aber der Motor war immer noch erste Sahne!

Wenn Sie einen IAR oder KEIL Compiler besitzen, können Sie genau das mit dem Embedded Studio von SEGGER machen.

Kompilieren Sie einfach weiter mit Ihrem vorhandenen Compiler, arbeiten aber auf der zeitgemäßen und komfortablen Visual Studio-artigen Benutzeroberfläche des SEGGER Embedded Studios. 

Sie öffnen einfach Ihr IAR oder KEIL Projekt mit dem Project Importer des Embedded Studios. Der Project Importer erlaubt es Ihnen die Projekt Quellcode-Files, die Projekt-Struktur, Include Directories und Preprocessor Definitionen zu importieren.

Hierbei können Sie wählen, ob Sie die
  • Externe Toolchain (IAR oder KEIL) nutzen möchten, und Konfiguration und Build Ihres Projekts für diese erzeugen möchten,

  • Interne Toolchain des Embedded Studios nutzen möchten, also Konfiguration und Build für den vorhanden GCC oder LLVM Compiler erzeugen möchten, oder

  • Beides parallel erzeugen wollen.
Drei Möglichkeiten, wobei sich für eine Migration des Projektes auf das Embedded Studio sowohl ein Build für die externe als auch für die interne Toolchain empfiehlt.

So einfach ist der Umstieg: Wählen Sie die externe Toolchain IAR oder KEIL (click), importieren Sie diese in das Embedded Studio (click), und erzeugen Sie den Build für die externe Toolchain (click). Der Output ist gleich dem Kompilat mit Ihrer vorherigen IDE.

Einfacher und „more straight forward“ geht es nicht. Sie haben einfach per Click unter der Haube einen anderen Motor genutzt! It simply works.
Schauen Sie sich ein konkretes Beispiel im kurzen Video  an.
 


Der Clou an der ganzen Sache...
Nicht verschweigen darf ich natürlich, dass beim Import von IAR- oder KEIL-Projekten für die interne Toolchain (GCC oder LLVM) geringfügige Code-Änderungen not-wendig sind – das Wort „geringfügig“ entspricht aber dem tatsächlichen Aufwand.

Der Clou bei der ganzen Sache ist die Nutzung Ihres IAR oder KEIL Compilers via mehrerer Arbeitsplätze mit dem Embedded Studio in einem Entwicklerteam. Damit nutzen Sie weiterhin Ihren proprietären (und teuren) Compiler, haben aber für Ihre neuen, erweiterten Entwickler-Kapazitäten nur die IDE, sprich das Embedded Studio zugekauft – und dabei eine ganze Menge Geld gespart. Smart Move, oder?

Überzeugen Sie sich doch am besten selbst von der Flexibilität und Leistung des Embedded Studios. Der Test kostet Sie nichts und verpflichtet Sie zu nichts. Hier ist der Download.

Und das Beste kommt zum Schluss: Für eine kommerzielle Lizenz des Embedded Studios müssen Sie nicht Unsummen ausgeben: die Cortex-M Edition kostet € 998,--, ebenso die RISC-V Edition. Alle ARM Prozessoren unterstützt die ARM Edition für € 1.498,-- (Preise netto). Mein Angebot erhalten Sie hier.

Wem das noch nicht reicht, der kann sich aus einer Auswahl an Software-Komponenten von SEGGER bedienen, und kauft das Embedded Studio PRO für Cortex-M, ein umfassendes Paket für die Software-Entwicklung.
Neben dem Embedded Studio enthält das Embedded Studio PRO ein Hochleistungs-RTOS mit Zero Latency (embOS), robustes File-System (emFile PRO), GUI für jegliche Applikationen mit grafischen LCD (emWin PRO), TCP/IP-Stack (embOS/IP PRO), ein USB-Stack mit Host- und Target-Support (emUSB Host PRO und emUSB Device PRO), emCrypt PRO, emSSH, emSSL, das IoT Toolkit – und außerdem eine J-Link PLUS Debug Probe mit 19-Pin Cortex-M Adapter.
Was will man mehr?

Mit dieser State-of-the-Art Embedded Software Suite starten Sie Ihre Applikationsentwicklung mit einem kompletten All-in-one Paket auf verschiedenen aktuellen Evaluierungs-Boards – und immer mit der besten technischen Unterstützung durch die Spezialisten von SEGGER. Die gesamte Software ist Royalty-frei und kostet € 9.980 netto. Wenn Sie Fragen hierzu haben, sagen Sie mir bescheid.
 


Tracealyzer: Exceptions Trace mit Keil RTX5
Den Tracealyzer von Percepio hatte ich Ihnen ja bereits mehrfach als ein unglaubliches Produktivitäts-Werkzeug vorgestellt, dass m.E. auf die Werkbank jedes Entwicklers gehört.

Bevor der Tracealyzer auf den Markt kam, fischten Entwickler ziemlich im Trüben und konnten nur Vermutungen darüber anstellen, was ihre Software zur Laufzeit tatsächlich macht. Langwierige, unproduktive Fehlersuche gehörte zum Tagesgeschäft – und damit Projektstillstand, bis der Fehler gefunden war.

Der Tracealyzer bringt hier so zu sagen Licht ins Dunkel: Nun sieht der Entwickler wie mit einem Vergrößerungsglas, was in der Applikation vor sich geht. Das Tool hilft, schnell die sprichwörtliche Nadel im Heuhaufen zu finden. Sie verschwenden keine Zeit mehr mit der Suche nach Fehlern. Das schont das Projekt-(Zeit)-Budget, die Nerven der Entwickler (und ihrer Vorgesetzten) und steigert die Qualität der Entwicklung.
 


So hilft der Tracealyzer (unter anderem)
Beim Debuggen oder Profiling Ihrer Firmware ist es häufig wichtig, Interrupt Service Routines (ISRs) wie Timer Interrupts oder Interrupts von Kommunikationsschnittstellen zu verfolgen

Die Verwendung eines klassischen "printf“-Aufrufs ist jedoch normalerweise keine Option, da sie die Ausführungszeit des ISR um Größenordnungen erhöhen kann. Die integrierte "Exception-Trace“- Unterstützung in ARM-MCUs kann in einigen Fällen nützlich sein, bietet jedoch keine Möglichkeit, auszuwählen, welche ISRs verfolgt werden sollen - Sie erhalten alles oder nichts.

Da einige ISRs sehr häufig, aber vielleicht nicht sehr interessant sind (z. B. der Kernel-Tick-Interrupt), neigt die hardwarebasierte Ausnahmebehandlung dazu, große Mengen an irrelevanten Daten zu erzeugen, so dass die meisten Debug-Probes dies nicht verarbeiten können.

Percepio Tracealyzer bietet eine weitere Möglichkeit, ISR-Tracing durchzuführen. Sie können auswählen, welche ISRs verfolgt werden sollen, aber ohne den enormen Aufwand von "printf"-Aufrufen. 

Tracealyzer setzt auf hochoptimierte Softwareinstrumente, die selektiv eingesetzt werden können. Die resultierenden Daten können auf viele Arten angezeigt werden, z.B. auf einer Zeitachse zusammen mit anderen Arten von Softwareereignissen oder als High-Level-Statistiken wie durchschnittliche CPU-Last und maximale Ausführungszeit.

Für Tracing in Keil RTX5-Systemen setzt der Tracealyzer auf Keils Event Recorder-Bibliothek. Leider bietet diese Bibliothek noch keine explizite Unterstützung für Tracing von ISRs.

Es gibt aber einen geschickten Trick, um Ihre ISRs von einem Keil RTX5-System in Tracealyzer zu sehen. Lesen Sie hier wie es geht.

Und noch etwas: Die meisten ARM-MCUs beherrschen das Interrupt Chaining, wobei mehrere Interrupt-Service-Routinen nacheinander ausgeführt werden, ohne die Kontrolle an die Hauptanwendung zurückzugeben. Percepio hat dem Tracealyzer beigebracht, auch diese Fälle zu erkennen.

Machen Sie sich ein Bild vom Nutzen des Tracealyzer und laden Sie sich das Tool kostenlos und unverbindlich zum Test. Gerne mache ich Ihnen auch ein Angebot.
 



Die Sommerpause haben wir uns alle gut verdient (... hoffe ich doch).
Ich wünsche Ihnen eine gute und erholsame Ferienzeit. Gerne schreibe Ihnen wieder zum 01.September.

Herzlichst,  Ihr
Marian A. Wosnitza


„Erfahrung ist die beste Lehrmeisterin und das Gute daran ist:
Man bekommt stets Einzelunterricht.“
 (Unbekannt)