Für die Synergy-MCUs von Renesas gibt es jetzt Unterstützung durch die integrierte Entwicklungsumgebung (IDE) E2-Studio auf der Basis von Eclipse, De-facto-Standard für Embedded-Entwicklungsumgebungen. Anwender, die bereits mit Entwicklungsumgebungen auf Eclipse-Basis gearbeitet haben, dürften mit der E2-Studio-ISDE (Integrated Solution Development Environment) für die Synergy-Plattform bereits vertraut sein.

Als Eclipse-basierende Plattform lässt sich die E2-Studio-ISDE mit Tool-Komponenten in Form von Eclipse-Plugins von Drittanbietern erweitern. Da die Entwicklungsumgebung auf einen Industriestandard setzt, kann das Endprodukt gut den Veröffentlichungszeitplan des Eclipse CDT (C/C++ Development Tooling) einhalten. Außerdem können sich Benutzer darauf verlassen, auf eine zukunftssichere Entwicklungsumgebung zu setzen (Bild 1).

Eckdaten

Bei der Synergy-Plattform von Renesas handelt es sich um eine integrierte Hard- und Softwarelösung zur vereinfachten Entwicklung von Industrie- und IoT-Anwendungen. Die Tool-Unterstützung sowie die Entwicklungsumgebung der Plattform decken den gesamten Entwicklungsablauf ab. Zusätzlich enthalten sind Funktionen, mit denen Entwickler die Plattform einfacher nutzen und das kommerziell lizenzierte Synergy Software Package (SSP) verwalten können.

Design-Automatisierung

Ein Projekt-Generator und Projekt-Editor vereinfachen den Einstieg in die Synergy-Plattform. Entwickler können an allen Aspekten eines Projekts mithilfe verschiedener grafischer Konfiguratoren arbeiten. Zum Vereinfachen und Automatisieren von Konfiguration und Code-Erzeugung bietet die E2-Studio-ISDE fünf grafische Konfiguratoren für unterschiedliche Funktionen (Bild 2). Über einen Pin-Konfigurator können Entwickler jeden MCU-Pin grafisch konfigurieren, die Konsistenz überprüfen und den Code der Bausteinkonfiguration automatisch generieren.

Bild 1: Entwickler von Embedded-Systemen benötigen heute eine umfassende, auf Standards basierende Entwicklungsumgebung, um die Anforderungen des Marktes zu bedienen.

Bild 1: Entwickler von Embedded-Systemen benötigen heute eine umfassende, auf Standards basierende Entwicklungsumgebung, um die Anforderungen des Marktes zu bedienen. Renesas

Der Clock-Konfigurator weist Taktsignale zu und führt eine dynamische Validierung durch. Ein dritter Konfigurator verwaltet die Einrichtung von Threads für Echtzeitbetriebssysteme (RTOS). Ein vierter lässt sich zum Konfigurieren von Treibermodulen nutzen. Ein fünfter Konfigurator verwaltet Interrupts und bereitet eine umfassende Konsistenzprüfung vor. Quellcode zum Initialisieren wird automatisch im Hintergrund zur Nutzung im Synergy-Projekt generiert.

Debugging-Funktionen

Normalerweise nutzen Entwickler den Debugger, um ihren Code schrittweise durchzuarbeiten und die Folge der ablaufenden Befehle zu analysieren, um Fehler in der Software zu finden und zu beheben. Der Debugger liefert Benutzern eine historische Sicht, die Einblick über den erfolgten Ablauf der Software gewährt und Fehler erkennt. Solange der Befehlspfad im internen Speicher abgelegt ist, lässt sich dieser zu einem externen Werkzeug wie E2-Studio exportieren. Dies zeigt, wie die Software jeden Befehl abgearbeitet hat. Alle Entwicklungs- und Starterkits der Synergy-Plattform umfassen integrierte, zuverlässige und kostengünstige Segger-J-Link-Debugger.

Trace-Pufferung lässt sich auf unterschiedliche Weisen implementieren. Am unteren Ende der MCU-Familien der Synergy-Plattform, der S1-Familie mit ARM Cortex M0+ Core, ist der Funktionsumfang des Trace-Puffers relativ begrenzt. Mikrocontroller der Serien S3, S5 und S7 mit Cortex M4 Cores nutzen einen dedizierten SRAM-Bereich zum Speichern der Befehlshistorie. Die Kapazität des SRAM ist flexibel. Das Entwicklerteam von Renesas hat für die Synergy-Plattform zwei verschiedene Puffergrößen gewählt.

Bild 2: Pin-Konfigurator: Der Synergy-Projektgenerator vereinfacht die Konfiguration und Code-Erzeugung mithilfe grafischer Konfiguratoren.

Bild 2: Pin-Konfigurator: Der Synergy-Projektgenerator vereinfacht die Konfiguration und Code-Erzeugung mithilfe grafischer Konfiguratoren. Renesas

Auf den Cortex-M4-Cores steht eine SRAM-Kapazität von 1 kB bereit, mit der sich dank Kompression ungefähr 64 Verzweigungen nachverfolgen lassen. Die MCUs der Highend-Serie S7 verfügen über 8 kB Trace-Puffer. Dieser bietet nicht nur wesentlich mehr Speicherplatz, sondern enthält auch eine Streaming-Trace-Funktion. Wenn man einige Daten-Pins nutzt, liefert Streaming-Trace die Daten während der Programmausführung in Echtzeit. So können Entwickler die Programmausführung beim Abarbeiten tausender Befehle nachverfolgen.

Intelligente Dokumentation

Die Synergy-Plattform basiert auf einem integrierten Hardware-/Software-Konzept und hilft, die Entwicklungszeit zu verkürzen. Zeit lässt sich auch mithilfe des Smart Manuals von Renesas sparen. Angesichts der zunehmenden Komplexität von Embedded-Systemen bereitet die effiziente Verwaltung und Nutzung tausender Seiten umfassender Dokumentation eines jeden Designs eine besondere Herausforderung. Da auf der Synergy-Plattform basierende Lösungen hunderte Hardware- und Softwarekomponenten umfassen können, kann das Benutzerhandbuch für ein Projekt schnell Tausende an Seiten füllen. Doch wie können Entwickler die nötigen Informationen unter diesen Umständen schnell und effizient finden?

Die Ingenieure von Renesas lösten dieses Problem mit einem Werkzeug namens Smart Manual (Bild 3). Die Synergy-Tools können Design-Dokumentationen während des Betriebs kontextbezogen wiederverwenden. Angenommen ein Entwickler konfiguriert einen Baustein und aktiviert dabei ein bekanntes Register über dessen Namen, dann zeigt das Werkzeug Informationen zu diesem Register an, sobald er den Cursor über den entsprechenden Registernamen führt. Klickt der Entwickler dann auf diese Informationen oder ruft er die Hilfefunktion auf, dann erscheint ein kontextbezogener Link für zusätzliche Informationen in einem leicht durchsuchbaren Format. Die Funktion liefert sogar relevante Applikationsberichte und Multimedia-Anleitungen zum betreffenden Thema.

Bild 3: Das Smart Manual von Renesas enthält kontextbezogene Links innerhalb des Projekt-Editors von E2-Studio und bietet zusätzliche Daten für MCU-Register und SSP-API-Funktionsaufrufe.

Bild 3: Das Smart Manual von Renesas enthält kontextbezogene Links innerhalb des Projekt-Editors von E2-Studio und bietet zusätzliche Daten für MCU-Register und SSP-API-Funktionsaufrufe. Renesas

Zwar kam dieses Konzept bereits früher im Zusammenhang mit Renesas-Hardware zum Einsatz, jetzt aber gibt es die gleiche Funktionalität für die Synergy-Software-Plattform. Hardware-Registerdefinitionen und zugehörige Daten können sich in vielen unterschiedlichen Dokumenten befinden. Entsprechend sind auch Informationen über Software-APIs oft nur schwer zu finden. Das Smart Manual der Synergy-Plattform bietet solche kontextbezogenen Funktionen sowohl für Hardware- als auch für Software-Entwickler.

RTOS-Unterstützung

In ähnlicher Weise und als Äquivalent zu herkömmlichen Hardware-Tracing-Funktionen bieten die Entwicklungswerkzeuge für die Synergy-Plattform auch RTOS-Unterstützung. Das SSP (Synergy Software Package) beinhaltet das weitverbreitete Multitasking-Echtzeitbetriebssystem Thread-X. Zum Verfolgen des Verlaufs von RTOS-Funktionen müssen Entwickler die Korrelation unterschiedlicher Operationen betrachten. Um diese Aufgabe durchführen zu können, hat das Synergy-Entwicklerteam Trace-X von Express Logic implementiert. Dabei handelt es sich um ein Host-gestütztes Analysewerkzeug, mit dem Entwickler Echtzeit-Systemereignisse grafisch betrachten und damit den Betrieb ihres Systems besser visualisieren können.

Durch das Nachverfolgen von Systemereignissen wie Interrupts und Context Switches können Entwickler mit Trace-X das Timing von Ereignissen im Zusammenhang mit dem Betrieb des Gesamtsystems ermitteln und so Programmierungsprobleme einfacher lösen. Trace-X arbeitet mit Thread-X zusammen (Bild 4), das im Betrieb eine Datenbank von System- und Anwendungsereignissen auf dem Zielsystem aufbaut. Das Werkzeug zeichnet Ereignisse mit Zeitstempel auf und ermittelt aktive Threads. Damit kann es Ereignisse in der richtigen zeitlichen Abfolge darstellen und sie dem entsprechenden Thread zuordnen.

Bild 4: Thread-X-Debugging: Umfassende Debugging-Funktionen für das System-RTOS Thread-X sowie Trace-X, ein Host-gestütztes Analysewerkzeug, helfen Entwicklern Programmierprobleme schnell zu lösen.

Bild 4: Thread-X-Debugging: Umfassende Debugging-Funktionen für das System-RTOS Thread-X sowie Trace-X, ein Host-gestütztes Analysewerkzeug, helfen Entwicklern Programmierprobleme schnell zu lösen. Renesas

Trace-X stellt die Ereignisse grafisch über eine horizontale Zeitachse dar, wobei die verschiedenen Anwendungs-Threads und die mit den Threads verbundenen Systemroutinen auf der vertikalen Achse angeordnet sind. Eine zusammenfassende Darstellung unterstützt Entwickler bei der Analyse von Systemen mit vielen Threads. Dazu zeigt es alle Systemereignisse auf einer einzigen horizontalen Linie. Gemeinsam mit den herkömmlichen Hardware-Debuggingfunktionen dieser Umgebung bieten diese Anwendern der Synergy-Plattform Tracing-Funktionen nicht nur für die Hardware-, sondern auch für die RTOS-Ebene.

Am Ende des Entwicklungsprozesses arbeitet die E2-Studio-ISDE über Secure Source Builder und Debugger-Routinen direkt mit dem SSP zusammen, um den Einblick in geschützte SSP-Quelldateien zu gewährleisten. Dabei führt die ISDE bei Bedarf Buch über zugekaufte Lizenz-Quelldateien und erlaubt Anwendern stets die Einsicht in den ursprünglichen C-Code, wobei diese nur lizenzierte Quelldateien modifizieren, speichern und drucken dürfen.