In dem folgenden Beispiel soll ein PWM-Signal in Abhängigkeit von einem Pulsgeber erzeugt werden (Bild 2). DAVE 3 kann kostenlos von der Infineon-Webpräsenz heruntergeladen und danach installiert werden [1].
Die applikationsorientierten Software-Komponenten werden DAVE-Apps genannt, da sie die Funktionalität von kleinen Applikations-Elementen bis zu einer vollständigen Applikation abdecken und einfach wie Smartphone-Apps aus dem Internet heruntergeladen werden können. Die auf diese Weise lokal auf dem PC verfügbaren DAVE-Apps können dann mit dem App-Selektor ausgewählt und dem Projekt hinzugefügt werden.
Bild 3 zeigt einen entsprechenden Screenshot der DAVE-3-Entwicklungs-Plattform. Im Folgenden sollen nun die jeweiligen Entwicklungsschritte erläutert werden, um die Software entsprechend den Anforderungen zu entwickeln.
Zunächst werden die DAVE-Apps ausgewählt. Um die Signale des Pulsgebers zu zählen, wird eine Zähler-App plus eine I/O-App, zur Erzeugung der PWM-Signale eine PWM-App und, um das PWM-Signal nach 500 Pulsen mit 90 % Tastverhältnis abzuschalten, wird eine weitere Zähler-App instanziiert.
Zusätzlich werden noch zwei Interrupts (NVIC-Apps) für das Update des Tastverhältnisses und die Re-Initialisierung benötigt. Bild 4 zeigt die grafische DAVE-App-Ansicht, nachdem diese DAVE-Apps für das Projekt instanziiert wurden. Dabei zeigt sich bereits die erste Besonderheit; es sind mehr DAVE-Apps zu sehen, als ausgewählt wurden.
Ein DAVE-App kann die Ressourcen einer anderen DAVE-App anfordern. Dies ist der Fall bei der Taktgeber-App, da die Zähler- und PWM-Instanzen auch einen konfigurierten Clock-Tree benötigen, der von der Taktgeber-App bereitgestellt wird.
Als nächstes folgt die Verbindung der Hardware-Signale. DAVE-Apps sind nicht nur simple Software-Komponenten, die ausschließlich eine Programmierschnittstelle (API) zur Verfügung stellen, sondern auch Hardware-Signale beinhalten, die direkt mit den Signalen anderer DAVE-Apps verbunden werden können. Um die hier geforderte Funktionalität zu erreichen, müssen folgende Signale verbunden werden:
Es folgt die Konfiguration der DAVE-Apps über die grafische Benutzerschnittstelle. Durch Doppelklicken auf eine DAVE-App öffnet sich die grafische Benutzerschnittstelle. Entsprechend den Konfigurationsmöglichkeiten der jeweiligen DAVE-App können die gewünschte Funktionalität und der Initialisierungsstatus eingestellt werden.
Für die Zähler-App-Instanz 0 wird ein Count-Match-Event nach 10 Pulsen definiert, während für die Instanz 1 ein Count-Match-Event nach 500 Pulsen definiert wird. Bei den NVIC-Apps wird die Interrupt-Priorität und der Name der Handler-Funktion festgelegt.