AUDACIA Software

PV-Tools: PV Add-In Toolkit für C++BuilderX

  1. Einleitung
  2. Download und Installation
  3. Übersicht
  4. Dokumentation

1. Einleitung

Das PV Add-In Toolkit ist eine Zusammenstellung von Tools, die das Erstellen von Add-Ins für den PV erleichtern und eine IDE-Integration ermöglichen. Es besteht aus den folgenden Komponenten:

  • pvbuild.exe / pvbuild.tool - ein Build-Tool, das ein einheitliches Build-Interface für beide PV-SDKs (PV2-SDKEN03 und PV3S1600) bietet und automatisch Makefiles generiert, sowie die zugehörige Toolset-Definition für den C++BuilderX
  • AddInWiz.jar / pvwizjni.dll - ein OpenTool für den C++BuilderX, das mehrere Wizards sowie die Runtime-Konfiguration für den NC3022 Simulator bereitstellt
  • a86viewer.jar - ein OpenTool, das Syntaxhighlighting für Assembler-Quellcodes implementiert

PVBUILD übernimmt die korrekte Interaktion mit den Compilern und Make-Programmen der PV-SDKs vollständig und erübrigt die manuelle Arbeit mit Makefiles. (Wer das Makefile trotzdem von Hand gestalten möchte, kann in den Projektoptionen die Option "Generate Makefile" deaktivieren. PVBUILD setzt dann die Existenz eines Makefiles voraus.) Die Toolset-Definition integriert sich in das Borland-Toolset, so daß Code Insight verwendet werden kann.

Das OpenTool AddInWiz.jar stellt fünf Wizards (New Add-In, New Library, New Source File, New Header File, Add Library) sowie die Runtime-Konfiguration für den Simulator des PV2-SDKEN03 in der IDE bereit, die das einfache Erstellen, Verwalten und Debuggen von PV-Programmen ermöglichen.


2. Download und Installation

Download:

  • pvat102setup.exe - PV Add-In Toolkit Setup
  • pvat102src.zip - Source-Code für pvbuild.exe, pvwizjni.dll (C++), AddInWiz.jar, a86viewer.jar (Java), pvbuild.tool und Installer-Skript

Voraussetzungen:

  • Windows 98/Me/2000/XP (getestet auf Windows 98 SE und Windows XP)
  • 6.7 MB freier Festplattenplatz
  • PV2-SDKEN03 und PV S1600-SDK
  • Borland C++BuilderX v1.0 oder v1.5

3. Übersicht

Im Folgenden wird die Funktionalität des PV Add-In Toolkit anhand einiger Screenshots demonstriert.

Zunächst legen wir eine Projektgruppe an:
image

image

Hier die von AddInWiz.jar zur Verfügung gestellten Galerie-Wizards:
image

Der "New Add-In"-Wizard erstellt ein neues Add-In-Projekt im Verzeichnis des PV2-SDKEN03. Es kann ggf. automatisch zur Projektgruppe hinzugefügt werden.  
image

Ein mit dem Wizard neu erstelltes Add-In-Projekt sieht so aus. Zwei Headerdateien und eine .c-Datei mit der main()-Funktion werden automatisch generiert.
Die main()-Funktion muß mit LibJumpMenu () verlassen werden, da der PV sonst abstürzt.
Über den Button, der mit "Configuration" gekennzeichnet ist, läßt sich auswählen, mit welchem PV-SDK das Projekt erstellt und ob es zum Debuggen oder als Release-Version kompiliert werden soll. Der "Make Project" Button erstellt das Projekt mit der ausgewählten Konfiguration, der "Start Program"-Button startet die Release-, der "Debug Program"-Button die Debug-Version im Simulator des PV2-SDKEN03 (der PV-S1600-Simulator wird derzeit nicht direkt unterstützt).
Neue Quellcodedateien sollten, wenn möglich, mit den zugehörigen Wizards (siehe nächstes Bild) generiert werden, in jedem Fall aber sollten sie in den entsprechenden Ordnern plaziert werden, da die IDE sie sonst möglicherweise mit dem BCC zu kompilieren versucht.
image

Der "New Source File"-Wizard: 
image

Durch Drücken von Strg+Space kann Code Insight zur Code-Vervollständigung oder als Member Insight (nach . und ->)aufgerufen werden:
image

Auch Parameter Insight steht zur Verfügung und wird mit Strg+Shift-Space aufgerufen:
image

Unser Programm läßt sich nun mit einem Klick auf "Make Program" mit dem ausgewählten PV2-SDKEN03 erzeugen.
image

Auf Knopfdruck läßt sich das Programm auch mit dem PV-S1600-SDK erstellen:
image

Über einen Klick auf den "Debug Program" wird der Simulator gestartet und das Programm und die Debug-Symbole geladen. Das Programm kann nun mit den Mitteln des Simulators debuggt werden (daß bekannt ist, wie mit einem Debugger umzugehen ist, setze ich voraus).
image

image

So sieht die Ausgabe unseres ersten Programmes aus:
image

Nun erstellen wir eine Bibliothek, die eine Funktion exportiert, die wir in unserem Programm nutzen wollen.
image

image

Wir fügen in library.h die Deklaration und in library.c die Definition einer Funktion ein.
Es ist sinnvoll, den Namen der Headerdatei nicht bei "library.h" zu belassen, sondern einen Namen zu wählen, der mit der Bibliothek assoziiert werden kann, da dies die Datei ist, die von Programmen, die die Library verwenden, eingebunden wird.
image

Nachdem wir die Datei umbenannt und die Library erzeugt haben, wählen wir wieder das MyAddIn-Projekt aus:
image

Über "Wizards|PocketViewer|Add Library" können wir dem Projekt eine Library hinzufügen:
image

image

Wir binden die Headerdatei der Library mittels #include ein (sie wurde beim Erstellen der Library in das Library-Header-Verzeichnis des PV-SDK kopiert), und schon können wir die Library-Funktion aufrufen:
image

image

image

Findet der Compiler einen Fehler oder etwas, was ihm merkwürdig erscheint, so gibt er eine Fehler- oder Warnmeldung aus. Mittels der Toolset-Datei parst die IDE diese Fehlermeldungen, so daß es möglich ist, mit einem Klick darauf direkt an die Fehlerstelle zu springen.
image

Dies funktioniert ebenso mit dem PV-S1600-SDK:
image

In den Build-Optionen ("Project|Build Options Explorer...") kann der PVBUILD-Aufruf angepaßt werden:
image


4. Dokumentation

Die Dokumentation zum PV-SDK findet sich im SDK-Unterverzeichnis \DOC\ als PDF. Da dieses Format nicht das Optimum für eine Funktionsreferenz darstellt, empfehle ich allerdings, die hier erhältliche Hilfedatei zu verwenden, die um einiges informativer und übersichtlicher ist:
image