Hallo Zusammen,
hier mal eine kleine Anleitung zum Erstellen einer funktionsfähigen Entwicklungsumgebung für OpenTX 2.2!
Falls ihr Fragen habt, als her damit
hier mal eine kleine Anleitung zum Erstellen einer funktionsfähigen Entwicklungsumgebung für OpenTX 2.2!
- Als erstes benötigen wir einen Rechner oder eine virtuelle Maschine auf der wir Ubuntu installieren können. Ich habe mich für Virtualbox von Oracle entschieden. Zu beziehen unter: https://www.virtualbox.org/. Beim Erstellen der virtuellen Maschine solltet ihr darauf achten ihr möglichst viele CPUs zu geben. Ich habe in meinem Fall 4 gewählt. Es geht natürlich auch eine CPU dann dauert das kompilieren aber ewig!
- Nun besorgen wir uns Ubuntu in der aktuellen Desktop Version: https://www.ubuntu.com/ und installieren diese auf unserem Rechner oder der virtuellen Maschine.
Um das OpenTX Projekt auf den lokalen Rechner zu klonen habe ich mich für den SmartGit Client entschieden: http://www.syntevo.com/smartgit/
Wichtig ist hier das ihr das Debian Paket herunterladet.
SmartGit benötigt Java. Terminal starten:
sudo apt-get install default-jre
Um SmartGit zu installieren wechseln wir unter "Files" in den Ordner wo das Debian Packet liegt und klicken dieses doppelt an.
- Nun installieren wir die ganzen nötigen Pakete um OpenTX kompilieren zu können.
Dazu starten wir ein Terminal und geben folgenden Befehl ein:
sudo apt-get install git subversion gcc-avr avr-libc avrdude build-essential ruby libqtcore4 libqt4-dev qt4-qmake g++ cmake libxerces-c-dev xsdcxx libsdl1.2-dev libusb-1.0-0 libphonon-dev phonon libqtwebkit-dev python-qt4 python-qt4-dev qt5-default qttools5-dev-tools qtmultimedia5-dev qttools5-dev libfox-1.6-dev libttspico-utils
Wir benötigen außerdem einen C++ Compiler für ARM Boards (Horus, Taranis), hierbei ist es wichtig dass ihr genau den gcc-arm-none-eabi-4_7-2013q3-20130916-linux.tar.bz2 nehmt. Die neuere Version funktioniert nicht! Hier bekommt ihr das Paket: https://launchpad.net/gcc-arm-embedded
Zum Installieren wie folgt vorgehen:
Terminal starten und in den Ordner wechseln wo der Compiler liegt:
cd /home/bboy/Downloads
untar gcc-arm-none-eabi-4_7-2013q3-20130916-linux.tar.bz2
sudo mv gcc-arm-none-eabi-4_7-2013q3 /opt/ARM
echo "PATH=$PATH:/opt/ARM/bin" >> /home/"$(whoami)"/.bashrc
source /home/"$(whoami)"/.bashrc
Nun mit diesem Befehl prüfen ob der Compiler funktioniert:
arm-none-eabi-gcc --version
Wenn ihr einen Fehler bekommt:
#Error: bash: /opt/ARM/bin/arm-none-eabi-gcc: No such file or directory
liegt das daran das wir Ubuntu als 64 Bit Version installiert haben und einige Pakete für den X86 Compiler fehlen.
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install lib32ncurses5 lib32z1
Nun prüfen wir nochmal mit arm-none-eabi-gcc --version und erhalten als Ausgabe:
arm-none-eabi-gcc (GNU Tools for ARM Embedded Processors) 4.7.4 20130913 (release) [ARM/embedded-4_7-branch revision 202601]
- Nun haben wir das System grundsätzlich vorbereitet. Jetzt brauchen wir noch den OpenTX Source Code. Es gibt zwei Möglichkeiten entweder ihr ladet den Code runter (siehe etwas weiter unten) oder ihr benutzt einen Github Client. Wenn ihr mit entwickeln wollt dann benötigt ihr einen Github Account. Wechselt auf der Github http://www.github.com Seite in das OpenTX Projekt und erstellt einen "Fork" in euren Account.
Nun startet den SmartGit Client und folgt den Anweisungen. Am Ende wollen wir den Fork aus unserem Account lokal abspeichern. Bei mir liegt der Code dann unter /home/bboy/Documents/SmartGit/opentx. Im SmartGit Client müsst ihr dann den "Next" Branch auschecken!
Wenn ihr den Code direkt herunterladen wollt dann wechselt auf die Github Webseite (https://github.com/opentx/opentx) und wählt den "Next Branch":
Danach könnt ihr rechts auf die grüne Schaltfläche "Clone or Download" klicken und den gesamten "Next Branch" in einer Zip Datei auf euren Rechner laden.
Nun könnt ihr die Datei noch entpacken und ab hier ganz normal weiter vorgehen.
Nun geht's ans Eingemachte, wir kompilieren den Source Code. Wir starten wieder ein Terminal und wechseln in das Verz. des Sourcecodes:
cd /home/bboy/Documents/SmartGit/opentx
erstellen ein Verz. für den "Build":
mkdir build-horus
cd build-horus
und bereiten alles mit CMAKE vor, für die Horus:
cmake -DPCB=HORUS -DTRANSLATIONS=DE -DMULTIMODULE=NO -DUSB=MASSTORAGE -DDANGEROUS_MODULE_FUNCTIONS=NO -DGVARS=YES -DLUA=YES -DCMAKE_BUILD_TYPE=Debug -DALLOW_NIGHTLY_BUILDS=YES -DHELI=YES ../
oder für die X9D+:
cmake -DPCB=X9D+ -DTRANSLATIONS=DE -DMULTIMODULE=NO -DUSB=MASSTORAGE -DDANGEROUS_MODULE_FUNCTIONS=NO -DGVARS=YES -DLUA=YES -DCMAKE_BUILD_TYPE=Debug -DALLOW_NIGHTLY_BUILDS=YES -DHELI=YES ../
Danach können wir den Code kompilieren, hier spielen jetzt wieder die Anzahl der Cpus eine Rolle. Ich habe in der VM 4 eingestellt daher:
make -j 4
Der Parameter "-j" legt die Anzahl der Cpus fest die zum kompilieren verwendet werden. Gebt hier eure Anzahl ein. Wenn alles klappt sollte das etwa so aussehen:
Nun finden wir einige neue Dateien im Verz.:
Companion starten mit:
./companion22
Simulator starten mit:
./simulator22
Firmware Datei:
firmware.bin
Diese Datei kann auf euren Sender geflasht werden.
Falls ihr Fragen habt, als her damit
Zuletzt bearbeitet: