HelvePic32

HelvePic32: Die Software

ChipKit hat das Ziel, die Software so nah wie möglich an dem Arduino IDE auszurichten. Daher gibt es ein IDE (MPIDE), welches auf dem Arduino IDE aufbaut und das bis auf die Grundfarbe des Fensters mit dem Arduino IDE identisch ist.

Daneben gibt es ein IDE, welches sowohl den Arduino als auch die ChipKit Boards behandeln will. Diese IDE bevorzuge ich inzwischen, da es sich angenehmer als das orginal Arduino IDE handhaben lässt und ich den Code mit einem Boardwechsel auf allen platformen testen kann. Diese IDE ist das UECIDE.

Von MicorChip selbst gibt es noch das MPLAB IDE, welches für alle PIC Prozessoren funktinoiert, aber zur Programmierung den PICKIT3 Adapter braucht. Für unsere Aufgaben ist das aber zu viel des Guten …

HelvePic32: Sprachreferenz

Der HelvePic32 versteht die gleiche Sprache wie der Arduino. Die Sketches sind gleich aufgebaut und die Bibliotheken lassen sich auf die gleiche Weise verwenden. Nur dort, wo AVR spezifischer Code verwendet wurde, muss man die entsprechende ChipKit Bibliothek oder Code suchen. Daher sieht die Sprachreferenz der Arduinorefernez sehr ähnlich.

Sprachreferenz

Neben den AVR Funktionen hat der PIC32 Prozessor noch einige Erweiterungen zu bieten, speziell das Task Management, was man sich auf jeden Fall einmal anschauen sollte

Programmierung des HelvePic32

Wenn man den Arduino mit dem Windows PC verbindet, dann erscheint er sofort als COM-Port. Das ist beim HelvePic32 nciht der Fall. Ein COM-Port erscheint hier nur, wenn der laufende Sketch die Serielle Schnittstelle über USB verwendet.

Um den Code in den HelvePic32 zu laden, muss der Microcontroller in den Bootloader wechseln. Beim Arduino geschiet das über den FTDI Chip, der den Reset auslöst und den Bootloader startet.

Beim PIC32MX250 wird der bootloader geladen, wenn nach einem Reset der Logiklevel an PROG low ist. Man muss also den PROG-Taster gedrückt halten und dann den RESET auslösen. Als Folge dessen erscheint dann auch ein COM-Port unter Windows, der dann für den Upload ausgewählt werden kann.

Anfänglich hat mich dieser Hard-Upload etwas gestört, inzwischen finde ich es ganz gut, den Upload nachmals explizit an der Hardware auszulösen. Bei den chipKit Boards Uno32 und Max32 wird der Reset über den dort zusätzlich vorhandenen FTDI Chip ausgelöst, so dass diese sich wie ein Arduino verhalten.

UECIDE

Der Screenshot zeigt das IDE mit dem strandtest.ino Sketch geladen und kompiliert. Für einige Boards kann das Handbuch rechts eingeblendet werden. Link befindet sich der Dateibaum und die in den Dateien gefundenen Routinen.

Installation

Die Software kann für Windows, Linux und MacOS von der Homepage geladen werden. Anfangs war die Betaversion nur für erfahrene Nutzer, inzwischen ist sie aber die aktuelle und am besten unterstützte Version. Den Namen Alpha/Beta verdient sie schon lange nicht mehr und man sollte generell nur mit dieser Version arbeiten.

Ich bevorzuge den Download der ZIP-Datei. Diese kann in jedes beliebige Verzeichnis entpackt werden, I wähle c:\Opt\UECIDE. Ich verwende die Version ohne dediziertes Java, damit die systemweite Javainstallation geladen wird, welche ich auf dem neuesten Stand halte.

Beim ersten Start erscheint eine Mitteilung, dass noch kein Board geladen ist und daher der Plugin-Manager gestartet wird. Dort wählt man die Boards, mit denen man arbeiten will und alle notwendigen Compiler werde automatisch geladen. Dies hat den Vorteil, dass apäter nur die Boards in der Auswahl erscheinen, welche ich auch in Bearbeitung habe.

Unter Windows 7 gabe es das Problem, dass die dateinamen zu lang wurden. Diese Problem kann man beheben, indem man den Pafd der Compiler in den Preferences verkürzt. Ich verwende c:\UECIDE

Inzwischen habe ich mich so an UECIDE gewöhnt, dass ich das Original IDE nur verwende, wenn ich sicher gehen will, dass ein Problem nicht mit UECIDE zusammenhängt, was so gut wie nie geschiet. Arduino 1.6.0 war keine Verbesserung …

MPIDE

… kommt …

HelvePic32