Dieses Tutorial beschreibt wie du für deinen Raspberry Pi von Windows aus Programme schreiben kannst. Der Raspberry Pi nutzt ein anderes Betriebssystem und unterscheidet sich auch von der Recheneinheit stark von deinem Windowsrechner. Aus diesem Grund benötigen wir verschiedene zusätzliche Programme. Diese sind jedoch in wenigen Minuten installiert.

Windows toolchain for Raspberry Pi

Auf der Seite http://gnutoolchains.com/raspberry/ findest du eine Toolsammlung, welche das Erstellen von Raspberry Pi Programmen unter Windows ermöglicht. Lade dir die Installationsanwendung raspberry-gcc6.3.0-r3.exe auf deinen PC und führe diese aus.

Setze zuerst ein Häkchen in das Feld „I accept the terms of the license agreement“ und klicke danach auf den Knopf „Install“. Nach der Installation führe in einem Kommandozeilenfenster diesen Befehl aus:

copy C:\SysGCC\raspberry\arm-linux-gnueabihf\lib\include\unwind.h C:\SysGCC\raspberry\lib\gcc\arm-linux-gnueabihf\6\include

Ninja

Lade von der Seite https://github.com/ninja-build/ninja die Datei ninja-win.zip auf deinen PC. Das Archiv enthält eine einzelne Datei ninja.exe. Extrahiere diese Datei in das Verzeichnis C:\SysGCC\raspberry\bin.

CMake

Ein weiteres Tool das wir benötigen is CMake. Lade von der Download Seite https://cmake.org/download/ das cmake-3.12.1-win32-x86.zip. Entpacke den Inhalt des ZIP Archivs nach C:\ und füge danach den Pfad C:\cmake-3.12.1-win32-x86\bin zu der Systemumgebungsvariable PATH hinzu.

LDC

LDC ist eine alternative Implementierung des D Compiler. Lade dir das ZIP Archiv vom Github LDC repository und entpacke es in den Pfad C:\D\. Füge den Pfad C:\D\ldc2-1.11.0-windows-multilib\bin zu der Systemungebungsvariable PATH hinzu.

Öffne ein Komandozeilenfenster in dem Verzeichnis C:\D\ldc2-1.11.0-windows-multilib\bin und führe diese Befehle aus:

set CC=arm-linux-gnueabihf-gcc

ldc-build-runtime --ninja --dFlags=-w;-mtriple=arm-linux-gnueabihf TARGET_SYSTEM=Linux;UNIX CMAKE_C_COMPILER_WORKS=True CMAKE_SYSTEM_NAME=Linux BUILD_SHARED_LIBS=OFF

Erstelle im Verzeichnis C:\D\ldc2-1.11.0-windows-multilib\bin eine neue mit dem Namen ldc2pi.bat und diesem Inhalt:

@ECHO OFF

if "%1"=="-version" (
 ldc2 -version
) else (
 SET DFLAGS=-mtriple=arm-linux-gnueabihf -gcc=arm-linux-gnueabihf-gcc -L-L%~dp0\ldc-build-runtime.tmp\lib\
 ldmd2 %*
)

Hello World Test Programm

Damit sind alle notwendigen Tools auf deinem PC installiert und eingerichtet. Wir erstellen nun ein kleines Testprogramm. Erstelle eine Datei mit dem Namen app.d und folgendem Inhalt:

import std.stdio;

void main()
{
    writeln("Hello World!");
    readln();
}

Öffne ein Kommandozeilenfenster in dem Verzeichnis der Datei app.d und führe folgenden Befehl aus:

ldc2pi app.d

Damit wird aus dem Sourcecode eine ausführbare Datei app erstellt, die du auf deinem Raspberry Pi starten kannst.

Integration mit Dub

Erstelle ein Dub Hello World Test Programm mit dem Befehl:

dub init helloworld
cd helloworld

Um statt einer Anwendung für Windows nun eine Anwendung für den Raspberry Pi erzeugen zu lassen kann an den build Befehl als compiler Argument die Batch Datei ldc2pi gesetzt werden.

dub build --compiler=ldc2pi