Renesas Synergy Einfachere Softwareentwicklung für Industrie- und IoT-Anwendungen

Autor / Redakteur: Stefan Ingenhaag * / Sebastian Gerstl

Das Renesas Synergy Software-Paket (SSP) integriert wesentliche Softwarefunktionen in ein kommerzielles Paket und ermöglicht Embedded-Entwicklern einen schnellen Einstieg.

Firmen zum Thema

Das SSP wird als „qualifizierte Software“ geliefert: Zusätzliche Software-Komponenten sind entweder als „qualifizierte Software Add-ons“ oder als „verifizierte Software Add-ons“ erhältlich.
Das SSP wird als „qualifizierte Software“ geliefert: Zusätzliche Software-Komponenten sind entweder als „qualifizierte Software Add-ons“ oder als „verifizierte Software Add-ons“ erhältlich.
(Bild: Renesas)

Anforderungen an die Produktentwicklung haben sich grundlegend geändert. Die Zeiten sind zunehmend vorbei, in denen jeder Entwickler seine eigene Lösung durch Kombinieren einer MCU mit Software-Komponenten erstellen kann. MCU-gestützte Designs mit Internet-Connectivity sind heute viel zu komplex.

Das Renesas Synergy Entwicklerteam hat den herkömmlichen Entwicklungszyklus analysiert und sich gefragt, warum Entwickler einen so großen Teil ihres Entwicklungszyklus für grundlegenden System-Code aufwenden sollten, also um Software-Treiber, Middleware zu entwickeln und mit dem RTOS zu integrieren, um diese dann mit der Cloud zu vernetzen. Diese Arbeit bietet Entwicklern nicht viele Möglichkeiten, um die Features ihrer Endprodukte zu differenzieren. Stattdessen sollten Entwickler mehr von ihrer Zeit auf die wirklich innovativen Aspekte ihres Designs verwenden und Anwendungs-Code erstellen oder neue, zusätzliche Features für ihr Produkt entwickeln.

Bildergalerie

Die Renesas Synergy Plattform behandelt Hard- und Software als ein einheitliches Produkt. Renesas übernimmt damit die Verantwortung für die Entwicklung und Integration der Komponenten, welche die Bausteine der Plattform-Software bilden. Dies spart Entwicklern wertvolle Zeit, die sie bisher für grundlegende Funktionen aufwenden mussten und die sie jetzt für die Entwicklung der besonderen Software-Features zur weiteren Produktdifferenzierung einsetzen können.

Neben den Herausforderungen bei der Codeerstellung erschweren auch viele kommerzielle Hindernisse die Arbeit mit Embedded-Software. So erfordert etwa der Einsatz unterschiedlicher Softwarekomponenten von verschiedenen Anbietern die Beschaffung und Finanzierung mehrerer Lizenzen sowie die Pflege diverser Ansprechpartner für die technische Unterstützung. Diese Probleme lasen sich potentiell vermeiden, wenn die gesamte in einem Projekt genutzte Software von einem einzigen Anbieter lizenziert und unterstützt wird.

Zentrale Funktionen und verfügbare kommerzielle Software

Welche Merkmale sind wichtig für den Erfolg von Embedded-Anwendungen für Industrieelektronik und IoT? Welche Probleme muss das Renesas Synergy Softwarepaket (SSP) lösen, um eine optimale Plattform für IoT-Anwendungen bereitstellen zu können?

Eine solche Lösung muss vor allem eine große Auswahl an Kommunikationsoptionen umfassen. Darüber hinaus sollte sie auch Security-Funktionen für die zahlreichen Bedrohungen vernetzter Produkte enthalten. Damit Entwickler sich auf eine solche integrierte Plattform verlassen können, muss sie aus kommerzieller Software in hoher Qualität bestehen. Zusätzlich muss diese Software auf hoch qualitativen Hardware-Referenzdesigns getestet und qualifiziert worden sein. Aufgrund der großen Anzahl komplexer Software-Komponenten auf der Plattform und des großen Umfangs der Dokumentation für das Gesamtpaket benötigen Entwickler zudem effiziente Tools, um relevante Informationen schnell finden zu können.

Security-Aspekte zählen zu den größten Herausforderungen: Wie kann verhindert werden, dass unberechtigter Code programmiert und ausgeführt wird? Wie kann man Firmware und Daten auf der MCU schützen, die richtige Kommunikations-Quelle identifizieren und Kommunikationsdaten vor Abhören und Manipulation schützen? Zur Lösung dieser Aufgaben integrierte Renesas ein umfassendes Portfolio an Security-Funktionen in die Plattform.

Renesas nutzt hardwaregestützte Security-Beschleuniger, was eine schnellere Ausführung dieser Funktionen in Hardware ermöglicht. Daher enthalten die meisten Renesas Synergy MCUs Hardware-Beschleuniger für symmetrische Kryptographie, asymmetrische Kryptographie, HASH und einen asymmetrischen Schlüsselgenerator. Zusätzlich enthalten sind ein echter Zufallszahlengenerator, sicherer Speicher für Kryptographieschlüssel, begrenzter JTAG-Zugang sowie eine eindeutige Identifikationsnummer für jede MCU. Softwareseitig haben die Entwickler eine Security-Sevice-Bibliothek implementiert, die Hardwarebeschleunigung nutzt.

Um den Aufbau der SSP zu unterstützen, setzt Renesas auf die Vorteile von Express Logic X-Ware, einem Satz integrierter, für Industrie- und IoT-Anwendungen optimierter Software-Komponenten. Das SSP nutzt das in der Branche bewährte Multitasking-RTOS ThreadX, zusammen mit zahlreichen Middleware-Komponenten wie NetX, USBX, FileX und GUIX. Das prioritätsgestützte, präemptive und deterministische Echtzeitbetriebssystem bietet grundlegende Systemdienste wie präemptives und Round-Robin-Scheduling, Semaphores, Message-Queues, Timer, Interrupts und Memory-Management.

Erweiterte Funktionen wie Preemption-Threshold-Scheduling verringern die Anzahl von Context-Switches und gewährleisten, dass das deterministische Verhalten des RTOS unabhängig von der Anzahl an Threads oder Objekten konsistent bleibt. ThreadX bietet zudem eine integrierte Event-Tracing-Funktion sowie eine Runtime-Stack-Analyse, mit denen Entwickler Fehler vor der Freigabe eines Produkts erkennen können. Darüber hinaus unterstützt das Betriebssystem zahlreiche Sicherheits-Zertifizierungen.

NetX und NetX Duo sind zwei äußerst leistungsfähige TCP/IP-Stacks mit geringem Footprint. NetX unterstützt IPv4, während sich NetX Duo als Dual-Stack-Produkt sowohl für IPv4 als auch für IPv6 eignet. Eine Zero-Copy-API ermöglicht optimiertes Buffer-Management. Die UDP-Fast-Path-Technologie ermöglicht das Weiterleiten von Datenpaketen über NetX ohne Kopiervorgänge oder System-Context-Switches.

Der NetX Core-Stack unterstützt TCP, IP, UDP, ARP, RARP, ICMP und IGMP. Das NetX Applikations-Bundle umfasst PPP, DHCP, DNS, FTP und weitere Funktionen. Neben IPv6 enthält NetX Duo Komponenten zur Einbindung von IPsec mit IKEv2, sowie Neighbor-Discovery- und Router-Discovery-Protokolle, eine Stateless-Address-Auto-Konfigurierung und eine Duplicate-Address-Erkennung.

Der USBX USB-Protokollstack für Embedded-Software eignet sich für Host-, Device- und OTG-Betriebsarten (On-the-Go) und unterstützt Low-Speed (1.5 Mbps), Full-Speed (12 Mbps) und High Speed (480 Mbps). USBX ist äußerst bedienerfreundlich und eignet sich für eine breite Palette an Device-Klassen, wie zum Beispiel CDC, HID, PIMA (PTP), RNDIS und STORAGE.

Das SSP nutzt FileX als MS-DOS kompatibles Dateisystem. Das eng mit ThreadX integrierte Dateisystem verbessert die Rechenleistung durch eine Minimierung des Layerings von Funktionsaufrufen, und nutzt dazu eine Zuweisung zusammenhängender Cluster sowie konsekutive Cluster-Lese- und Schreibvorgänge. Zu weiteren innovativen Funktionen zählen Unterstützung für 12-, 16- und 32-Bit FAT, Echtzeit-Leistung, ein interner FAT-Entry-Cache sowie ein interner Cache für logische Sektoren. Darüber hinaus unterstützt das Dateisystem RAM, Flash und eine Reihe physischer Medien sowie lange Dateinamen und unbegrenzte FileX-Objekte. Integrierte Funktionen wie Fehler-Erkennung und -Recovery, Fehlertoleranz-Optionen und integrierte Leistungs-Statistiken erhöhen die Zuverlässigkeit.

Weiterhin enthält das SSP einen Workflow für GUI-Design und -Entwicklung, mit dem sich mithilfe der Windows-gestützten GUIX Studio Software ein GUI-Layout erstellen lässt. Entwickler können Quellcode, Header und Quelldaten exportieren und die Synergy Entwicklungstool-Suite e2 studio ISDE zum Aufbau von ausführbarem Code mit der GUIX-Bibliothek nutzen, die auf einem Synergy MCU-System läuft.

Für die Erstellung grafischer Benutzerschnittstellen bietet GUIX dem Entwickler ein Framework für grafische Benutzeroberflächen. Dieses umfasst eine vollständig integrierte Runtime-UI-Bibliothek sowie GUIX Studio, eine passende Desktop-Design-Anwendung. Die äußerst leistungsfähige Grafik-Bibliothek ist speziell für die Renesas Synergy MCU-Grafik-Engine optimiert, und bietet einen Hardware-beschleunigten 2D-Grafikbetrieb, einen umfassenden Windowing-Support mit mehreren Displays und unterschiedlichen Auflösungen sowie die Nutzung mehrerer Bedienersprachen. Die Kern-Bibliothek enthält eine breite Palette an Buttons, Fenstern, Scrollleisten, sowie Steuerelementen zum Test von Displays und zum Editieren von Text. Das darunterliegende Framework bietet Event-Queues und Signale, Windowing und Viewport sowie weitere Funktionen.

Das SSP bietet Entwicklern umfassende Auswahlmöglichkeiten bei Peripherie-Treibern. Die Peripheriefunktionen des Frameworks umfassen bedienerfreundliche und Feature-orientierte Funktionen für Anwendungsprogramme. Das Framework übernimmt automatisch die Einzelheiten der RTOS-Integration. Da die Treiber eine Abstraktion der Hardware-Register mit logisch definierten Werten ermöglichen, sind API und Parameter für die unterschiedlichen Synergy-MCUs einheitlich. So kann der Entwickler Lösungen aufbauen, ohne viel Zeit für die Renesas Synergy MCU-Hardware-Spezifikationen oder für Details von ThreadX aufwenden zu müssen.

Stattdessen kann er sich auf die Entwicklung seiner eigenen Anwendung konzentrieren. Eine breite Palette an Low-Level Peripherietreiber-Modulen unterstützt zahlreiche Funktionen wie Speicher, Konnektivität, Analogfunktionen, Timing, System- und Power-Management, Security und Verschlüsselung, Sicherheit und Mensch-Maschine-Schnittstelle. Will ein Embedded-Entwickler direkt auf einzelne Peripherie-Treiber außerhalb des Frameworks zugreifen, so ist dies mit Direkt-Aufrufen aus der Anwendung möglich, um spezielle Anforderungen oder einen Betrieb innerhalb kritischer Zeitvorgaben zu erfüllen.

Kommerzielle Software

Renesas behandelt das SSP wie ein Produkt: Das Unternehmen zeichnet für Funktionsumfang und Qualität der Software verantwortlich. Um eine hohe Qualität zu gewährleisten, richtete Renesas einen standardisierten Entwicklungsprozess und Tools ein. Dieser Prozess umfasst Projektmanagement, Konfigurationsverwaltung, Kodierungsstandards und Kodierungsanalyse, Test und Qualitätssicherung sowie eine durchgängige Integration. Darüber steht die gesamte erforderliche Dokumentation einschließlich aller Testdaten bereit, um die Spezifikation und Qualität des Softwarepakets zu validieren.

Im Rahmen dieses neuen Klassifizierungskonzepts definiert Renesas die vom Unternehmen entwickelte Software, einschließlich SSP, als „qualifizierte Software“. Renesas wird weitere Software-Funktionen ermitteln, um die sie das SSP in Zukunft als „qualifizierte Software Add-ons“ (QSAs) erweitern wird. Diese Komponenten werden nach den gleichen strengen Normen wie für das SSP qualifiziert, sind aber nicht in der Standardversion des SSPs enthalten. Eine zukünftige QSA-Komponente könnte beispielsweise eine spezielle Bibliothek mit Security-Funktionen sein.

Um mögliche Lücken in seinem Software-Portfolio abzudecken, hat Renesas ein Partnerprogramm mit führenden Anbietern der Branche initiiert. Von Drittanbietern konzipierte und in die Plattform integrierte Software-Komponenten werden für einen korrekten Betrieb mit der Renesas Synergy Plattform „verifiziert“, und als VSA oder als „verifizierte Software Add-ons““ vermarktet. Diese VSA-Komponenten wurden in Bezug auf Funktionsumfang und Kompatibilität mit dem SSP geprüft und von Renesas freigegeben.

Der Kunde erhält sämtliche Testprozeduren und Testergebnisse. Beispiele für VSA-Komponenten sind ein Kommunikations-Stack für Bluetooth oder ein industrielles Ethernet-IP-Protokoll. Im Lauf der Zeit wird Renesas diese VSA-Komponenten zusammen mit ausgewählten VSA-Anbietern in den QSA-Status überführen, oder eine VSA-Komponente in das SSP selbst übernehmen. An diesem Punkt würde das VSA zu einem Renesas-Produkt und zum Teil einer normalen SSP-Distribution werden.

Zugang zu Software und Lizenzierung

Über die Renesas Synergy Galerie kann der Anwender das SSP sowie die QSA- und die VSA-Komponenten (siehe Kasten) einfach online beziehen und lizenzieren. Der wesentliche Unterschied zwischen den drei Software-Typen besteht darin, dass QSA- und VSA-Komponenten nicht Teil der SSP-Distribution sind und separat erworben und lizenziert werden müssen. Weitere Details stehen online in der Renesas Synergy Galerie bereit.

Alle Synergy MCUs enthalten eine SSP-Lizenz mit folgenden Vorteilen:

  • Nach einer Registrierung auf der Galerie steht das SSP ohne irgendeine Zahlung im Synergy e2Studio zum Download bereit.
  • Alle Software-Komponenten und Tools
  • Unbegrenzte Anzahl von Endprodukten, MCUs, Wartungs- oder Benutzerplätzen
  • Quellcode für Debugging-Sessions

Um das SSP nutzen zu können, muss sich der Anwender auf der Renesas Synergy Galerie anmelden, um eine Evaluierungslizenz zu erhalten. Diese gibt ihm das Recht, das SSP für die Prototypen-Erstellung zu nutzen. Anschließend erhält der Kunde eine Lizenzdatei, die er in die Renesas Synergy Software Entwicklungstool-Suite einspielt. Mit ihr kann er das gesamte SSP herunterladen und unbeschränkt zur Entwicklung seines Endproduktes nutzen. Sobald das Produkt in die Fertigung geht, meldet sich der Kunde erneut in der Renesas Synergy Galerie an, und erhält ohne zusätzliche Kosten eine SSP-Produktionslizenz.

Ist diese Lizenz in der Synergy Tool Suite eingetragen, erhält er das Recht, die SSP-Software in den Endprodukten seines Unternehmens zu nutzen – ohne Einschränkungen, wie viele verschiedene Endprodukte eine Renesas Synergy MCU nutzen dürfen, oder wie viele Synergy MCUs in einem Endprodukt zum Einsatz kommen. Zusätzlich erhält das Unternehmen des Kunden eine zeitlich unbegrenzte Software-Wartung für das SSP. Diese umfasst Fehlerkorrekturen, technische Produktunterstützung sowie zukünftige Updates und Upgrades.

Der Quellcode des gesamten SSPs ist während der Entwicklung und dem Debugging sichtbar. So kann der Kunde etwa in der Renesas Synergy Development Tool Suite den C-Quellcode aller SSP-Komponenten und der Kommunikations-Stacks in Einzelschritten über das RTOS verfolgen und auf diese Weise den Code einsehen. Allerdings gibt es einige SSP-Komponenten, die zwar einsehbar, aber weder ausgedruckt noch abgespeichert oder modifiziert werden können.

Benötigt der Kunde den Quellcode für diese geschützten Komponenten, so kann er über die Renesas Synergy Galerie eine kundenspezifisch angepasste Zusammenstellung von SSP-Komponenten auswählen, für die er die Quellcode-Dateien erhält. So könnte ein Entwickler beispielsweise den Quellcode aller SSP-Komponenten oder nur der ThreadX RTOS und USBX-Komponenten anfordern. Er erhält dann ein Angebotsdokument, das er beim zuständigen Renesas-Vertrieb einreicht, um den Kauf einer Quellcode-Lizenz für die ausgewählten Komponenten abzuschließen.

Sobald die Quellcode-Lizenz in die Renesas Synergy Software Tool Suite eingespielt wurde, wird der Schutz der gekauften Softwarekomponenten aufgehoben, und der Kunde kann den Quellcode dieser Komponenten als Datei abspeichern, die Quellcode-Dateien modifizieren und ausdrucken. Beispiele für Komponenten mit geschütztem Quellcode sind das Applikations-Framework, das ThreadX RTOS, der NetXTM TCP/IP-Stack und die GUIX Grafik-Middleware.

Für diese geschützten Komponenten muss der Kunde eine Quellcode-Lizenz kaufen, um C-Codedateien in Klartext zu erhalten. Dabei ist zu beachten, dass die SSP-Gewährleistung erlischt, sobald ein beliebiger Abschnitt des Quellcodes modifiziert und genutzt wird. Viele Komponenten des SSP wie die Low-Level Renesas Synergy MCU-Peripherietreiber, die Capacitive-Touch-Bibliothek und viele andere sind nicht geschützt und werden in der SSP-Distribution als C-Code-Dateien in Klartext ausgeliefert.

Während das SSP zur Nutzung in geschützter Form und als Quellcode verfügbar ist, wenn der Kunde eine Quell-Lizenz erwirbt, sind QSA-Komponenten nicht ohne einen ausdrücklichen Kauf der Komponente von Renesas zum Download erhältlich. VSA-Komponenten sind für angemeldete Renesas Synergy Kunden in der Renesas Synergy Galerie zum Download als Evaluierungsdateien erhältlich. Diese stehen in binärer Form oder als zeitlich begrenzte Versionen zur Verfügung.

Um solche VSA-Komponenten zu erwerben, gelangen Kunden über die Synergy Galerie auf die Webseite der externen VSA-Anbieter. Dort können sie eine Lizenz, Quellcode-Dateien, Wartung und Unterstützung auf Basis der Geschäftsbedingungen des VSA-Anbieters erwerben. Die Qualifizierung der SSP- und QSA-Softwarekomponenten erfolgt mit einer Software, die auf den unterschiedlichen Hardware-Plattformen auf Basis von Renesas Synergy MCUs läuft.

Die mit dem SSP und den QSA-Komponenten verbundenen Qualifizierungsdokumente beziehen sich auf eine bestimmte Synergy Hardware-Plattform, auf der die Software ausgeführt und getestet wurde. Renesas steht hinter diesen dokumentierten Qualifizierungen. Das Unternehmen wird Softwarefehler beheben, die sich auf einer beliebigen dieser Test-Plattformen reproduzieren lassen.

Renesas hat zusätzlich seine Kundenunterstützung überarbeitet, um eine vollständige Unterstützung auf Produktebene für die MCUs als auch die Software zu bieten. Damit können Entwickler über einen einzigen Zugangspunkt Unterstützung für alle Hard- und Software Probleme erhalten. Renesas wird Software-Probleme auf den SSP- und QSA-Komponenten lösen und die erforderlichen Ressourcen bereitstellen, um Chats, Foren und eine technische Support-Infrastruktur aufzubauen, mit der eine lebendige Entwicklergemeinschaft rund um die Renesas Synergy Plattform entstehen kann.

Technische Software- Unterstützung

Renesas bietet für die Synergy-Plattform produktbezogene Unterstützung sowohl für die MCUs als auch die Software an; das Unternehmen gewährleistet den Betrieb seiner Software und wird Probleme bei allen qualifizierten Software-Komponenten beheben. Dies bezieht die Spezifikationen im Software-Datenblatt als auch die Bauteil-Spezifikationen seiner Halbleiterprodukte ein. Zur Unterstützung der Plattform hat Renesas einen 24/5-Chat-Service für seine Plattform sowie ein Forum mit Wissensdatenbank und FAQs eingerichtet. Das Unternehmen bietet auch Zugang zu Anwendungsingenieuren, technischen Online-Support sowie Schulungskurse vor Ort an.

* Stefan Ingenhaag ist Senior Engineer MCU/MPU Solution Marketing ICBG, Renesas Electronics Europe.

Artikelfiles und Artikellinks

(ID:44498626)