Die klassischen Computerspiele aus den achtziger Jahren können einerseits sehr unterhaltsam, andererseits aber auch sehr frustrierend sein: Bei jedem Fehler muss der Spieler wieder von vorne starten. Gleichzeitig erhöht sich mit jedem Level die Komplexität. Das kostet Nerven und führt zu Déjà-Vu-Erlebnissen: Entwicklern geht es in vielen Software-Projekten ganz ähnlich. Doch während Cheating im Computerspiel verpönt ist, können Entwickler mit einer zuverlässigen Plattform viele Enttäuschungen vermeiden und Vorteile einheimsen.

Neustart

Projekte für neue Produkte teilen sich im Wesentlichen in zwei Kategorien: die einen basieren auf Hard- und Software aus früheren Projekten, während andere mehr oder weniger vollständig neu anfangen. Solange die Anforderungen nicht zu anspruchsvoll sind, lässt sich ein Neuanfang gut bewältigen. Schwierigkeitsgrad und Komplexität nehmen jedoch meist zu, je länger die Anforderungsliste ist. Außerdem nimmt die Komplexität typischerweise nicht linear zur Anzahl der Anforderungen zu, sondern eher in einem quadratischen Verhältnis.

Eckdaten

Mit der Synergy-Plattform will Renesas die Arbeit der Embedded-Entwickler vereinfachen: Über viele Mikrocontroller-Familien hinweg können sie vorzertifizierte Software von Renesas einsetzen und eigenen Code ohne großen Portierungsaufwand wiederverwenden. Dazu kommen detaillierte Dokumentation, Tools und Starterkits, ein RTOS, ein eigenes API bis hin zu Third-Party-Code.

Diese Verallgemeinerung ist recht realistisch, wenn man verschiedene Funktionsblöcke betrachtet. Wenn beispielsweise ein Produkt noch keine Datenkommunikation bietet, der Markt jedoch lokales Datalogging und eine Möglichkeit zur drahtlosen Kommunikation mit der Außenwelt fordert, dann muss der Entwickler ein Dateisystem sowie einen benutzerfreundlichen Kommunikationsstack finden. Letzterer muss zur Hardware ebenso wie zum Dateisystem passen und sich problemlos in den bestehenden Code integrieren lassen. Und nicht zu vergessen, die bestehende Hardware ist an die neuen Wireless-Funktionen und die lokale Datenspeicherung anzupassen. Auf subtile Weise erhöhen sie die Komplexität und bringen neue Herausforderungen in der Software-Wartung mit sich.

Expertise gefragt

Eine eigene Hard- und Software-Plattform kann sich kaum ein Hersteller leisten: Zu aufwendig wäre es, eine flexible Lösung zu designen, die alle beschriebenen Herausforderungen meistert, und die Kosten würden sich nur über viele Projekte amortisieren. Viel attraktiver ist es, mit einer vorhandenen Plattform zu arbeiten, vorausgesetzt sie erfüllt die eigenen Erwartungen. Idealerweise muss man dieser Plattform den eigenen Code hinzufügen und anschließend auf der unterstützten Hardware ausführen. In der Praxis gibt es aber etliche Hindernisse, zum Beispiel kann das Portieren des eigenen Codes auf die unterstützte Hardware verblüffend komplex sein. Auch ist die Dokumentation oft zu knapp gefasst oder es fehlt eine technische Unterstützung bei unerwarteten Problemen. Renesas hat diese Situation analysiert und Kriterien abgeleitet, die eine umfassend integrierte Plattform erfüllen muss (siehe Infokasten).

Infokasten

Renesas hat seine Synergy-Plattform nach folgenden Maßgaben ausgelegt:

  • Unterstützung für eine breite Palette von Mikrocontrollern mit Peripherieschaltungen, um Entwickler nicht an ein bestimmtes Bauteil zu ketten, das ihre Anforderungen an Peripherie, Gehäuseformen, integrierten Speicher einschränkt.
  • Die Plattform-Software muss für die gesamte Bausteinpalette problemlos funktionieren. Sie darf vorab nur ein paar einfache Konfigurationsentscheidungen vom Entwickler verlangen.
  • Security-Aspekte müssen bereits von Anfang an im Konzept berücksichtigt sein.
  • High-Level-Abstraktionen wie Tasks und Task-Scheduling, Middleware wie Kommunikations-Stacks und Dateisysteme sind bereits vorhanden und konfigurierbar.
  • Eine gut definierte und umfassend dokumentierte API (Application Programming Interface) sorgt dafür, dass sich Low-Level-Details nicht über den Anwendungs-Code auf höhere Funktionen auswirken.
  • Eine Auswahl an Entwicklungswerkzeugen, um die unterschiedlichen Anforderungen an Code-Performance, Sprach-Standards, Dienste und Wunsch-IDE unter einen Hut zu bekommen.
  • Vorgefertigte Hardware in Form von Starter-Kits, Kits mit Produktbeispielen oder anwendungsspezifischen Kits – alle mit umfassender Dokumentation.
  • Die ganze Plattform ist einschließlich der unterstützten Hardware getestet und qualifiziert. Der Anbieter unterstützt den Entwickler während des gesamten Prozesses.

Aus diesen Anforderungen entstand die Synergy-Plattform. So kann der Anwender sein Entwicklungsprojekt schnell starten und sich zugleich einer langfristigen Unterstützung durch Renesas gewiss sein. Die Plattform ist umfassend, von einem breiten Spektrum an 32-Bit-MCUs, einem komplett integrierten, einsatzbewährten RTOS von Express Logic bis hin zu einer großen Palette an Middleware-Komponenten. Verschiedene vorgefertigte Hardware-Kits und eine intuitive API ermöglichen einen schnellen Einstieg in neue Projekte oder Konzeptanalysen für neue Produkte und Designs. Bei den Software-Entwicklungswerkzeugen stehen Renesas-eigene Tools oder Werkzeuge von IAR Systems zur Auswahl.

Renesas Synergy-Plattform

Die Synergy-Plattform besteht aus fünf Hauptelementen: Software, Mikrocontroller, Tools und Kits, Produkt- und Technologielösungen sowie einer Software-Galerie. Qualifizierte und verifizierte Embedded-Software ist der zentrale Bestandteil der Plattform. Ihren Code hat Renesas nach Industriestandards getestet, optimiert und integriert. Diese Komponenten durchlaufen einen mehrstufigen Test und Renesas gewährleistet, dass sie wie im entsprechenden Software-Datenblatt definiert funktionieren. Das Software-Datenblatt ist eine Spezifikation für Funktion und Leistung und enthält parametrische Daten. Wo erforderlich, durchlaufen die Software-Komponenten  Konformitätstests branchenüblicher Compliance-Standards.

Bild 1: Renesas hat sein Synergy-Software-Package (SSP) um das RTOS Thread-X und andere X-Ware-Komponenten aufgebaut.

Bild 1: Renesas hat sein Synergy-Software-Package (SSP) um das RTOS Thread-X und andere X-Ware-Komponenten aufgebaut.Renesas

Die wichtigsten qualifizierten Software-Komponenten fasst Renesas als SSP (Synergy Software Package) zusammen und liefert sie mit jeder Synergy-MCU aus. Das SSP umfasst Kernfunktionen des Systems. Als Echtzeit-Betriebssystem hat Renesas Thread-X von Express Logic ausgewählt und um die X-Ware-Middleware vom selben Anbieter ergänzt. Dazu kommen MCU-spezifische Softwarekomponenten wie Device-Treiber, weitere Middleware, Bibliotheken und ein flexibles Anwendungsframework, alles integriert in einer API (Bild 1). Das prioritätsbasiert und deterministisch arbeitende Multitasking-RTOS Thread-X bietet grundlegende Systemdienste wie präemptives und Round-Robin-Scheduling, Semaphore, Message-Queues, Timer, Interrupts und ein Speichermanagement mit leistungsfähigen Funktionen wie Preemption-Threshold-Scheduling, Event-Tracing und eine Runtime-Stack-Analyse.

Voll vernetzt

Als TCP/IP-Stacks dienen Net-X und Net-X Duo. Diese beiden X-Ware-Komponenten bieten IPv4- und IPv6-Fähigkeiten mit kleinem Speicher-Footprint. USB-X umfasst einen USB-Protokoll-Stack für den Host-, Device- und On-The-Go-Betrieb. File-X stattet das SSP mit einem MS-DOS-kompatiblen Dateisystem aus. Für GUI-Design und -Entwicklung gibt es GUI-X; diese X-Ware-Komponente haben Ingenieure von Renesas und Express Logic speziell für das Synergy-MCU-Chipdesign und dessen Grafik-Engine optimiert. Die Desktop-Design-Anwendung GUI-X Studio ist für Plattform-Entwickler kostenlos.

Das SSP verbindet RTOS, Middleware und Bibliotheken mit den Low-Level-Peripheriefunktionen über ein spezielles Framework unter Verwendung einer API. So kann die Anwendung auf Peripherieelemente als benutzerfreundliche und featurebezogene Funktionen zugreifen. Das Framework übernimmt die  RTOS-Integration. Da die Treiber durch den Einsatz logisch definierter Werte eine Abstraktion der Hardware-Register ermöglichen, sind API und Parameter konsistent über die unterschiedlichen Serien innerhalb der Synergy-MCU-Familie. Dank dieses Konzepts kann der Entwickler Lösungen aufbauen, ohne viel Zeit für die genauen MCU-Hardware-Spezifikationen, Register-Definitionen oder Einzelheiten von Thread-X aufzuwenden.

Bild 2: Die Synergy-Software besteht neben dem SSP auch aus QSA (Qualified Software Add-Ons) und VSA (Verified Software Add-Ons).

Bild 2: Die Synergy-Software besteht neben dem SSP auch aus QSA (Qualified Software Add-Ons) und VSA (Verified Software Add-Ons).Renesas

Zusatzfunktionen

Die Low-Level-Treiber kümmern sich um unterschiedliche Funktionen wie Speicher, Konnektivität, Analogfunktionen, Timing, System- und Power-Management sowie die Mensch-Maschine-Schnittstelle. Wer als Embedded-Entwickler einen direkten Zugriff auf einzelne Peripherietreiber benötigt, kann diese auch direkt aufrufen und so anwendungsspezifische Anforderungen erfüllen. Darüber hinaus hat Renesas zusätzliche Softwarefunktionen identifiziert, die in Zukunft als Qualified Software Add-Ons (QSAs, Bild 2) zum SSB hinzukommen sollen, etwa eine Security-Funktionsbibliothek sowie funktionale Sicherheitssoftware.

Von externen Designern entwickelte und in die Plattform integrierte Softwarekomponenten vermarktet Renesas als VSA (Verified Software Add-Ons, Bild 2). Renesas hat den Funktionsumfang und die Kompatibilität dieser VSAs überprüft und freigegeben. Alle dabei verwendeten Testprozeduren und Ergebnisse stellt Renesas den Kunden bereit. Dies verringert den Zeitaufwand bei der Integration externer Softwarekomponenten. Eine VSA-Komponente könnte beispielsweise ein Kommunikations-Stack für Bluetooth sein.

Bild 3: Synergy besteht derzeit aus einem MCU-Portfolio mit vier Familien. In den kommenden Monaten sollen zusätzliche Mitglieder dazukommen.

Bild 3: Synergy besteht derzeit aus einem MCU-Portfolio mit vier Familien. In den kommenden Monaten sollen zusätzliche Mitglieder dazukommen.Renesas

Skalierbare MCUs

Die Synergy-Plattform beruht auf einer Reihe von kompatiblen und skalierbaren 32-Bit-MCUs auf der Basis von ARM Cortex-M-CPU-Cores (Bild 3). Da Renesas diese MCUs von Grund auf neu entwickelte, hat der Hersteller die Kompatibilität und Skalierbarkeit von Anfang an berücksichtigt. Kompatibilität bedeutet, dass alle Mitglieder der Synergy-Familie über die gesamte Linie die gleichen oder aufeinender aufbauende Peripherieelemente besitzen. Zudem sind die Pin-Definitionen gleich oder ähnlich für alle ähnlichen Gehäuseformen der Bauteilfamilie.

Skalierbarkeit bedeutet, dass sich die Peripheriefähigkeiten von kleineren zu größeren sowie von größeren zu kleineren Bauteilen unter Beibehaltung des gleichen Registerumfangs skalieren lassen. So besitzen beispielsweise eine einfache 16-Bit-Version einer Timer-Peripherieschaltung und eine komplexe 32-Bit-Variante dieses Timers dieselben grundlegenden Steuerregister, jedoch enthält die 32-Bit-Version zusätzliche Register für die Zusatzfunktionen, die keine Auswirkungen auf die 16-Bit-Ausführung haben. Renesas hat auch an die Adressen-Offsets der Register gedacht: Wenn eine Timer-Funktion nicht existiert, dann existiert auch das entsprechende Register nicht. Das globale Schema der Adressen-Offsets für die Register bleibt aber identisch.

Die Familie beginnt mit der S1-Serie, einer Ultra-Low-Power-MCU auf der Basis eines Cortex-M0+ mit 32 MHz. Die Serien S3, S5 und S7 nutzen Cortex-M4-Cores mit Taktfrequenzen bis 240 MHz. Die CPU-Kerne hat Renesas für Industrieautomatisierung, Motorsteuerung, Sensorfusion und ähnliche Embedded-Anwendungen ausgewählt und inklusive FPU (Single-Precision Floating Point Unit) konfiguriert. Die gesamte MCU-Familie verfügt über reichlich On-Chip-Speicher bis hin zu 4 MByte Code-Flash und 640 kByte SRAM in der S7-Serie.

Bild 4: Für die Synergy-Plattform gibt es drei Arten von Kits: Development- (DK), Starter- (SK) und Promotional-Kits (PK).

Bild 4: Für die Synergy-Plattform gibt es drei Arten von Kits: Development- (DK), Starter- (SK) und Promotional-Kits (PK).Renesas

Kits und Lösungen

Für Entwicklungsarbeiten mit den Bausteinen aus allen Synergy-MCU-Serien bietet Renesas drei Arten von Synergy-Kits an (Bild 4): Development-Kits (DK), Starter-Kits (SK) und Promotional-Kits (PK). Hinzu kommen zwei Design-Beispiel-Varianten, die Entwickler bei der Implementierung ihrer Designs für spezielle Endprodukte unterstützen und ihnen zeigen, wie sie spezielle Technologien mit der Synergy-Plattform einsetzen können: Product Examples (PE) und Application Examples (AE).

DKs umfassen eine komplette MCU-Hard- und Software-Entwicklungsplattform mit vollem Zugriff auf den gesamten Funktionsumfang der MCU. Zusätzlich können Entwickler den Funktionsumfang des DKs erweitern, indem sie spezielle Leiterplatten mit den Erweiterungssteckern oder den standardisierten Pmod-Steckplätzen verbinden. Alle DKs enthalten einen integrierten JTAG-Debugging-Zugang (J-Link) sowie einen Bluetooth-Low-Energy-Transceiver.

Als kostengünstigere Alternative führen SKs in die Synergy-Plattform ein und zeigen die ersten Schritte zu Beginn eines Entwicklungsprojekts. Jedes SK bietet Zugriff auf die meisten MCU-Pins. Es ermöglicht auch eine Erweiterung über Steckverbinder auf der Grundlage des Pmod-Standards und im üblichen Format für Arduino-Shield-Steckplatinen. Bei den PKs handelt es sich um sehr einfache Promotion-Kits, die lediglich ein oder zwei der wichtigen Funktionsmerkmale der Plattform aufzeigen.

Mehr als nur Starthilfe

Insgesamt hat Renesas mit Synergy eine umfassende Plattform geschaffen, die dem Entwickler nicht nur den Einstieg versüßt, sondern ihn dank der Skalierbarkeit und Kompatibilität auch langfrisitig unterstützt. So kann er einmal entwickelten Code besser in künftige Projekte einfließen lassen – use the Source, Luke!