Mikrocontroller & Tools

DAVE - Effizient Software entwickeln für XMC

Seite: 3/3

Anbieter zum Thema

Die neue DAVE-Version und was sie leisten kann

Zur Embedded World 2015 wird DAVE in seiner neuen Version 4 vorgestellt. Auch die Version 4 bietet eine komplette Entwicklungsplattform mit Eclipse CDT als IDE, GNU Compiler und Debugger. Sie unterscheidet sich von der Vorgängerversion 3 in folgenden Punkten:

  • Die Datenmodelle für die Konfigurations- und Ressourcendaten, deren Abhängigkeit und Validierung wurde weiter verbessert und robuster gestaltet. Dadurch läuft Version 4 in vielen Funktionen wesentlich schneller.
  • Die meisten graphischen Views zeigen Informationen übersichtlicher. Zum Beispiel wird nun die manuelle Pin-Festlegung auch am gewählten Gehäuse grafisch dargestellt.
  • Unterhalb der DAVE APPs wurde eine Ebene aus peripheriespezifischen statischen Device-Treibern, der XMC Lib eingeführt. Der generierte Code aus den DAVE APPs greift nicht mehr direkt auf die Register zu, sondern nutzt die APIs der XMC Lib, um die MCU-Peripherie zu initialisieren und die Verbindungen zu programmieren. Dadurch wird die Lesbarkeit, Effizienz und Stabilität des von den DAVE APPs erzeugten Codes weiter verbessert. Auch die Wiederverwendbarkeit steigt durch diese Schichtenaufteilung, da die APIs der XMC Lib peripheriespezifisch und meist Device-unabhängig sind. Die XMC Lib kann auch unabhängig von den DAVE APPs verwendet werden.
  • Durch frei definierbare User-Labels für die jeweilige DAVE APP-Instance erhöht sich die Lesbarkeit und Wiederverwendbarkeit weiter. Das User-Label dient als Handler (Zeiger auf das Objekt), der in fast allen Funktionssignaturen der Programmierschnittstellen (API) als erster Parameter definiert ist. Damit kann der User-Code ohne Änderung jederzeit auf eine andere MCU, für die diese DAVE APPs zur Verfügung stehen, angewendet werden.

Dies vereinfacht und steigert die Wiederwendbarkeit der Programmmodule wesentlich, die auf DAVE APPs aufsetzen. Durch die Verbesserungen der Datenmodelle und das vereinfachte Design der DAVE APPs war es nicht möglich, die neuen Applikationskomponenten kompatibel zu früheren Versionen zu halten. Es empfiehlt sich, die DAVE Version 4 vor allem für neue Projekte einzusetzen. Wie bei Infineon üblich, bleiben aber auch frühere DAVE Versionen weiterhin verfügbar.

DAVE SDK: Software Development Kit für DAVE APPs

Das Installationspaket der DAVE Version 4 enthält das DAVE SDK zur Entwicklung von DAVE APPs als eigene Eclipse-Instanz. Damit ist es allen Nutzern möglich, existierende DAVE APPs zu modifizieren, um den Anwendungsfall auf die eigenen Bedürfnisse noch besser zu optimieren oder neue eigene DAVE APPs als wiederverwendbare, konfigurierbare Softwarekomponenten zu entwickeln.

Eine DAVE APP besteht aus folgenden Teilen:

  • Das grafische User-Interface (GUI), um die DAVE APP zu konfigurieren. Für das GUI-Design steht ein eigener Workflow zur Verfügung, bei dem die benötigten grafischen Elemente per Drag-and-Drop zusammengestellt werden können.
  • Das Manifest, in dem die grundsätzlichen Eigenschaften der DAVE APP definiert sind, bietet die Funktionen, um die Benutzereingaben über das GUI zu prüfen und in die zu Weiterverarbeitung benötigten Werte umzurechnen. Im Manifest werden auch die benötigen Resource-Groups in URI-Form definiert und die für den Anwendungsfall notwendigen Signale für den Benutzer sichtbar gemacht. Darüber hinaus enthält es auch die Anweisungen zur Code-Erzeugung. Geschrieben wird das Manifest in der Script-Sprache Groovy in C-ähnlicher Syntax, erweitert um domänenspezifische Instruktionen.
  • Die Templates zu Code-Erzeugung sind auch in Groovy geschrieben. Die Code-Erzeugung besteht aus den Datenstrukturen zur Initialisierung der Peripheriemodule und dem entsprechenden Aufruf der Funktionen aus den Device-Treibern. Alle anderen Funktionen werden meist als statischer Code geschrieben, der dann in das Projekt kopiert wird.

Grundsätzlich kann das SDK sehr flexibel auch ohne die Definition der MCU-Ressourcen eingesetzt werden. Es lassen sich damit auch statische Bibliotheken jedweder Art über ein grafisches User-Interface konfigurieren und damit deren Wiederverwendbarkeit vereinfachen. Für interessierte Entwickler will Infineon Tutorials anbieten, um einen schnellen Einstieg in das DAVE SDK zu ermöglichen.

DAVE unterstützt auch andere Softwareentwicklungs-Tools

Mit der Version 4 hat Infineon den virtuellen DAVE-Ingenieur so ausgestattet, dass die Effizienz in der Softwareentwicklung für XMC MCUs weiter verbessert wird. Dies wird durch Optimierung der Methode der komponentenbasierten Softwareentwicklung erreicht. Die Möglichkeiten von DAVE lassen sich auch mit ARM Third-Party-Tools kombinieren.

Bild 1 verdeutlicht den Flow, um die gewünschte MCU zuverlässig und schnell für die Applikation einzusetzen. Die statische XMC Peripheral-Library bietet dazu das Fundament, auf das die DAVE APPs aufsetzen. Beide Komponenten können mit allen zur Verfügung stehenden Compilern für die XMC MCUs eingesetzt werden, die XMC Lib auch unabhängig von DAVE APPs.

Dieser Beitrag ist im Original erschienen in der gedruckten Ausgabe ELEKTRONIKPRAXIS 4/2015. Diese ist auch alskostenloses ePaper und PFDabrufbar.Printausgabe abonnieren

Referenzen

Wikipedia-Eintrag zu Component Based Programming / Component Based Software Engineering, http://en.wikipedia.org/wiki/Component-based_software_engineering

Wikipedia-Eintrag zu Constraint Logic Programming, http://en.wikipedia.org/wiki/Constraint_logic_programming

* Georg Huba ist verantwortlich für Software und Tools Management für Industrie-MCUs bei Infineon Technologies.

Artikelfiles und Artikellinks

(ID:43101625)