Erste Schritte mit Open-Source-Software unter Verwendung der Renesas RA-Produktreihe
Zur Verfügung gestellt von Nordamerikanische Fachredakteure von DigiKey
2020-09-10
Entwicklungsteams sehen sich mit verschiedenen Herausforderungen konfrontiert, wie z.B. Entwicklungskosten, zunehmende Systemkomplexität, kürzere Entwicklungszyklen und sogar Software-Lock-in. Dieser Drang, mit weniger mehr zu erreichen, wird in der gesamten Embedded-Branche zu einem allgemeinen Thema: Es ist einfach keine Zeit mehr, ein Design von Grund auf neu zu beginnen. Während Open-Source-Software äußerst hilfreich sein kann, kann sie aus Sicht der Integration, der Fehlersuche und des Projektzeitplans auch riskant sein, aber das ändert sich.
Eine einzigartige Lösung, die Teams zur Lösung dieser Herausforderungen nutzen können, ist der Einsatz neuer Open-Source-Softwareplattformen. Diese Plattformen werden oft integriert und getestet, um Risiken auszuschalten, und sind so konzipiert, dass sie mit den Mikrocontroller-Familien zusammenarbeiten, auf denen sie basieren.
Dieser Artikel stellt das Konzept der Open-Source-Software vor und beschreibt, wie Plattformen das Risiko senken. Es wird dann gezeigt, wie man auf einer Open-Source-Plattform mit der Renesas Flexible Software Package (FSP) auf der RA-Serie von Mikrocontrollern beginnen kann.
Die Vor- und Nachteile von Open-Source-Software
Open-Source-Software ist Software mit einem Quellcode, den jeder einsehen, modifizieren und erweitern kann1 innerhalb der Grenzen, die durch das Software-Lizenzmodell vorgegeben sind. Open-Source-Software ist zu einem entscheidenden Pluspunkt für Entwicklungsteams geworden, weil sie die Wiederverwendung fördert und den Zugang zu bereits vorhandenen Software-Modulen mit geringen bis gar keinen Kosten ermöglicht. Beispielsweise würde es viel Zeit und Budget erfordern, ein RTOS von Grund auf zu schreiben, und eine Menge mehr Zeit und Ressourcen investieren, um es über mehrere Jahre hinweg aufrechtzuerhalten. Stattdessen können Entwickler mehrere Open-Source-RTOS nutzen. Dadurch können sie sich mehr auf ihren Anwendungscode zur Differenzierung konzentrieren, anstatt Zeit mit der Wartung des zugrunde liegenden Betriebssystems zu verbringen.
In Entwicklungszyklen, in denen Zeitpläne und Budgets ständig unter Druck stehen, bietet Open-Source-Software einen Mechanismus, der es Teams ermöglicht, bereits Vorhandenes zu nutzen und sich auf ihren Anwendungscode zu konzentrieren. Open-Source-Software hat neben der Zeit- und Kostenersparnis auch mehrere Vorteile. Zu diesen Vorteilen gehört die Transparenz im Code gegenüber einer kompilierten Binärdatei, und oft gibt es Zugang zu einer globalen Gemeinschaft gleichgesinnter Entwickler.
Nichtsdestotrotz ist Open-Source-Software mit einem gewissen Risiko verbunden, so dass es einige wichtige Überlegungen gibt, die Entwickler bei ihrer Entscheidung, ob sie mit Open-Source-Software arbeiten oder nicht, berücksichtigen müssen.
Erstens wird nicht jede Open-Source-Software weltweit unterstützt. Es gibt eine Menge Software da draußen, die von jemandem zum Spaß in seinem Keller oder seiner Garage gebaut wurde. Sie können den Code für eine kurze Zeit unterstützen und dann zu einem anderen Projekt übergehen, das für sie interessanter ist, wobei sie die Benutzer sich selbst überlassen.
Zweitens kann Open-Source-Software mit einem von mehreren verschiedenen Lizenzmodellen angeboten werden. Einige Lizenzen erlauben es, die Software kommerziell oder für beliebige Zwecke zu nutzen. Andere Lizenzen erwarten, dass alle zugehörigen Codes oder Änderungen offen mit der Gemeinschaft geteilt werden. Dies mag auf den ersten Blick recht fair erscheinen, stellt aber auch ein potenzielles Haftungsrisiko dar und kann die Firma dazu zwingen, ihren Quellcode freizugeben.
Schließlich kann die Qualität bei Open-Source-Software auf der Strecke bleiben. Die Entwickler haben oft eine konkrete Vorstellung davon, was sie bauen wollen, und bauen oft etwas, das funktional ist. Funktionalität bedeutet nicht, dass sie robust, fehlerfrei oder leicht in andere Softwarepakete oder Codebasen integrierbar sein wird. Die Qualität kann bei der Verwendung von Open-Source-Software ein großer Stolperstein sein, daher muss der Benutzer vorsichtig sein.
Mit Renesas' FSP Open Source risikofrei machen
Um das Risiko von Open Source zu minimieren und gleichzeitig den Nutzen zu maximieren, können Entwickler Software nutzen, die bereits integriert, getestet und von einem renommierten Anbieter unterstützt wird. Dies ist der Zweck der Renesas RA-Serie FSP.
Die Renesas RA-Reihe ist interessant, weil die Plattform über die Hardware hinaus Open-Source-Software in Form ihres FSP zur Verfügung stellt (Abbildung 1). Das FSP stellt die gesamte Software bereit, die erforderlich ist, um den Mikrocontroller zum Laufen zu bringen, einschließlich Board Support Package (BSP), Hardware Abstraction Layer (HAL) und mehrere Middleware-Stacks. Zur FSP gehört auch FreeRTOS, ein Open-Source-RTOS, das bei Entwicklern sehr beliebt ist. Die Software wurde ebenfalls integriert und getestet, so dass die Entwickler sofort mit dem Schreiben ihres Anwendungscodes beginnen können und die Zeit, in der sie sich Gedanken über Low-Level-Hardware machen müssen, minimiert wird.
<Abbildung 1: Das FSP bietet integrierte Software-Stacks, die sofort "out of the box" funktionieren und leicht konfigurierbar sind. (Bildquelle: Renesas)
Der FSP ist so konzipiert, dass er nur mit den Mikrocontrollern der RA-Serie von Renesas zusammenarbeitet. Der Einstieg in die Plattform ist einfach, erfordert jedoch, dass die Entwickler zunächst ein Entwicklungsboard auswählen.
Auswahl einer Entwicklungsplatine der Renesas RA-Serie
Die RA-Serie von Renesas ist in vier Hauptgruppen der Prozessorfamilie unterteilt, zu denen die Serien RA2, RA4, RA6 und RA8 gehören. Jede Prozessorfamilie ist auf eine etwas andere Leistungsgruppe zugeschnitten und bietet entweder einen Arm® Cortex®-M23, Cortex-M33 oder Cortex-M4 Prozessor (Abbildung 2). Die verfügbaren Blitzgeräte und Funktionen skalieren von der RA2- bis zur RA8-Serie, wobei die Leistungsaufnahme entsprechend nach oben skaliert.
Abbildung 2: Die Renesas RA-Serie von Mikrocontrollern ist in vier allgemeine Familien unterteilt, die verschiedene Leistungsbereiche durch mehrere verschiedene Arm Cortex-M-Prozessorkerne bieten. (Bildquelle: Renesas)
Bei der Entscheidung, welches Entwicklungsboard verwendet werden soll, kann es hilfreich sein, zunächst die Endanwendung zu identifizieren. Für eine Steuer- oder Schnittstellenanwendung mit geringer Leistung in Gesundheits-, Büro- oder Messgeräten wäre beispielsweise das RTK7EKA2A1S00001BU (EK-RA2A1) eine gute Wahl (Abbildung 3). Dieser hat einen stromsparenden RA2A1 48 Megahertz (MHz) Arm Cortex-M23 Prozessor, der von 256 Kilobyte (Kbytes) Flash und 32 Kbytes RAM unterstützt wird. Auch die Entwicklungsplatine ist bis auf einige wenige Erweiterungsstecker, die sich perfekt für die Anbindung externer Sensoren oder Aktoren eignen, größtenteils blank. Es umfasst einen On-Board-Debugger, eine Drucktaste, ein Potentiometer und einen kapazitiven Berührungsknopf.
<Abbildung 3: Der EK-RA2A1 enthält eine breite Palette von Erweiterungsanschlüssen, die ihn perfekt für Steuerungsanwendungen und die Anbindung externer Sensoren machen. (Bildquelle: Renesas)
Für eine fortschrittlichere Anwendung, wie z.B. ein IoT-, Industrie-, Haushaltsgeräte- oder Zählerprodukt, kann ein Entwickler etwas höher auf das Entwicklungsboard EK-RA4M1 (RTK7EKA4M1S00001BU) schauen. Der EK-RA4M1 wird von einem RA4M1 Arm Cortex-M4 Prozessor angetrieben, der ebenfalls mit 48 MHz läuft und ebenfalls von 256 KByte Flash und 32 KByte RAM unterstützt wird. Diese Karte ist auch für Anwendungen mit geringem Stromverbrauch ausgelegt.
Für Anwendungen, die eine höhere Leistung, ein LCD-Display, Internet-Konnektivität, erweiterte Sicherheit und andere High-End-Funktionen erfordern, sollten Entwickler sich das RTK7EKA6M2S00001BU (EK-A6M2) oder das RTK7EKA6M3S00001BU (EK-A6M3) Entwicklungsboard ansehen. Der EK-A6M2 basiert auf dem RA6M2, einem Arm Cortex-M4-Prozessor, der mit 120 MHz läuft und von bis zu 1024 KByte Flash und 384 KByte RAM unterstützt wird.
Die Entwicklungsplatine EK-A6M2 bietet wiederum nur die Grundfunktionen wie Kopfzeilen, Potentiometer und Taste. Dies ist ein großartiges, kostengünstiges Board, das es einem Entwickler ermöglicht, in die Entwicklungsumgebung und Software einzusteigen und sie zu benutzen und die Hardware zu verstehen.
Mit dem EK-A6M3-Entwicklungsboard macht das Spielen mehr Spaß (Abbildung 4). Diese Karte basiert auf einem RA6M3 Arm Cortex-M4-Prozessor, der ebenfalls mit 120 MHz läuft, aber von bis zu 2048 KByte Flash und 640 KByte RAM unterstützt wird.
<Abbildung 4: Die EK-A6M3-Entwicklungskarte für den RA6M3-Prozessor verfügt über 32 MByte externen QSPI-Flash für Grafikanwendungsdaten zur Unterstützung einer Grafikerweiterungskarte für die Arbeit mit einem Grafikbeschleuniger und Touch-Funktionen. (Bildquelle: Renesas)
Der EK-A6M3 wird mit einer Grafikerweiterungskarte geliefert, die es einem Entwickler ermöglicht, mit dem Grafikbeschleuniger und den Touch-Funktionen zu arbeiten. Die Karte ist mit einer Ethernet-Buchse, PMOD-Erweiterungen und Mikrobus-Steckverbindern ausgestattet. Die Entwicklungsplatine wird außerdem mit 32 Megabyte (Mbytes) externem QSPI-Flash für Grafikanwendungsdaten geliefert. Entwickler werden feststellen, dass sie auch Zugang zu einem 4,3 Zoll (Zoll) haben. TFT-Farb-LCD mit einer Auflösung von 480 x 272 mit einem kapazitiven Touch-Overlay.
Schreiben eines ersten Antrags bei der FSP
Es gibt mehrere Schritte, die ein Entwickler befolgen muss, um mit seiner ersten FSP-Anwendung zu beginnen.
- Wählen Sie eine der Entwicklungsplatinen aus dem letzten Abschnitt aus, die am besten zu den Anforderungen einer Anwendung passt.
- Laden Sie die e2 Studio IDE herunter und installieren Sie sie. Mit e2 Studio kann ein Entwickler Projekte erstellen, Softwarekomponenten verwalten und ihren Anwendungscode schreiben. Entwickler können auch Debugging-Sitzungen durchführen und mit ihrem Entwicklungsboard interagieren.
- Laden Sie die FSP herunter und installieren Sie sie.
Nachdem diese Schritte befolgt wurden, kann ein Entwickler e2 Studio öffnen und mit den folgenden Schritten ein neues Projekt erstellen:
- Datei -> Neu -> RA C/C++ Projekt.
- Wählen Sie Renesas RA C Executable Project und dann Weiter (Abbildung 5).
<Abbildung 5: Ein FSP-Projekt wird unter Verwendung der Vorlage Renesas RA C Executable Project erstellt. (Bildquelle: Beningo Embedded Group) - Ein Entwickler gibt dann seinen Projektnamen an und wählt wichtige Projektparameter aus, wie z.B. (Abbildung 6):
- Die FSP-Version, die verwendet wird
- Das Entwicklungsboard-Modell
- Der Mikrocontroller-Baustein
- Das RTOS, das verwendet werden soll (falls überhaupt eines verwendet werden soll)
<Abbildung 6: Entwickler wählen bei der Erstellung ihres Projekts die wichtigen Geräte- und Softwareparameter aus. (Bildquelle: Beningo Embedded Group)
Sobald das Projekt erstellt wurde, können Entwickler die IDE zur Entwicklung ihres Anwendungscodes verwenden und das e2 Studio Stacks Configuration Tool zur Konfiguration integrierter Treiber, Frameworks und Open-Source-Software innerhalb ihres Projekts einsetzen.
Tipps und Tricks für die Arbeit mit Open-Source-Software
Der Einsatz von Open-Source-Software ist entscheidend geworden, damit Entwicklungsteams die Entwicklung beschleunigen und die Kosten unter Kontrolle halten können. Um Open-Source-Software erfolgreich einzusetzen, gibt es einige "Tipps und Tricks", die Teams beachten sollten, wie zum Beispiel
- Wählen Sie Software aus, die eine aktive Gemeinschaft hat, nicht ein einmaliges Beispiel von GitHub oder einen ähnlichen Dienst.
- Führen Sie ein Software-Audit und eine Qualitätsanalyse der Open-Source-Software-Codebasis durch.
- Lassen Sie die Softwarelizenz von einem Anwalt überprüfen, um sicherzustellen, dass sie richtig verstanden wird.
- Verwenden Sie eine Abstraktionsschicht, um Abhängigkeiten zu entfernen. Dadurch kann dieses Softwarepaket später bei Bedarf leicht entfernt werden.
- Nutzen Sie, wenn möglich, integrierte Software, um Probleme zu minimieren.
Entwickler, die diese "Tipps und Tricks" befolgen, werden feststellen, dass sie eine Menge Zeit und Ärger sparen, wenn sie auf die Sicherung ihres IoT-Geräts hinarbeiten.
Fazit:
Da die Komplexität eingebetteter Systeme zunimmt, hilft Open-Source-Software den Entwicklungsteams, Zeitpläne und Budgets besser zu verwalten. Allerdings müssen die Teams die von ihnen verwendete Open-Source-Software sorgfältig auswählen. Es gibt viele nicht unterstützte Open-Source-Software-Optionen im Web, die unendliche Integrations- und Wartungsprobleme verursachen können.
Wie in diesem Artikel gezeigt wird, haben Plattformen wie die Renesas RA-Serie von Mikrocontrollern die Routinearbeit aus der Gleichung genommen und den Teams eine solide Grundlage geboten, von der aus sie mit der Entwicklung eigener Anwendungen beginnen können, wobei sowohl Zeitpläne als auch Budgets eingehalten werden.
Verwendete Literatur
Haftungsausschluss: Die Meinungen, Überzeugungen und Standpunkte der verschiedenen Autoren und/oder Forumsteilnehmer dieser Website spiegeln nicht notwendigerweise die Meinungen, Überzeugungen und Standpunkte der DigiKey oder offiziellen Politik der DigiKey wider.





