Entwicklungsumgebungen
From Bettyhacks.com - Hack BettyTV-Remote
(→Linux) |
|||
| Line 2: | Line 2: | ||
=== Allgemeines === | === Allgemeines === | ||
| − | Zur zeit versuchen wir bzgl dem compilieren von boop (und allem was da noch so kommt) eine einheitliche | + | Zur zeit versuchen wir bzgl dem compilieren von boop (und allem was da noch so kommt) eine einheitliche Basis zu schaffen, damit wir nicht auf zig tausend Toolchains Rücksicht nehmen müssen wenn Leute sich an der Software-Entwicklung beteiligen möchten. |
| − | Geplant ist im | + | Geplant ist im Moment eine Toolchain für Linux und eine toolchain für Windows die ohne großartige Veränderungen an boop supportet werden soll. |
| − | === | + | === Linux === |
| − | + | Die aktuell verwendete Toolchain ist von [http://www.ronetix.at/software.html Ronetix]. | |
| − | + | Die Version die Verwendung findet ist die Version 4.1.1 mit [http://sourceware.org/newlib/docs.html newlib] und steht [http://download.ronetix.info/toolchains/arm/ronetix-gnutools-arm-elf-4.1.1-linux.tar.bz2 hier] zum Download zur Verfügung. | |
| − | + | Damit man das Makefile von Boop nicht anpassen muss, kann man den Inhalt des Ordners "arm-elf" in folgendes Verzeichniss kopieren: /opt/armtool/4.1.1/ | |
| − | + | Dieser Inhalt muss dann in dem Ordner sein: arm-elf bin include info lib libexec man share | |
| − | + | ||
| − | + | ||
| − | === | + | ====Compiler, Linker und Tools==== |
| + | Um Boop zu compilieren braucht ihr die [http://opensrc.sec.samsung.com/download/arm-uclinux-tools-base-gcc3.4.0-20040713.sh GCC 3.4.0 Toolchain] | ||
| − | Die aktuell verwendete Toolchain ist | + | Nachdem ihr diese heruntergeladen habt, fuehrt ihr diese aus mit: |
| + | sh arm-uclinux-tools-base-gcc3.4.0-20040713.sh | ||
| + | Damit wird die GCC 3.4.0 Toolchain in euer Home-Verzeichnis unter ~/bin installiert. | ||
| + | |||
| + | '''Alternativ''' und etwas aktueller ist die Toolchain von | ||
| + | [http://www.codesourcery.com/gnu_toolchains/arm/download.html Codesourcery]. Die Zielplattform ist ARM ucLinux. Die Toolchain kann dann in ein beliebiges Verzeichnis einfach augepackt werden - ich habe ein Verzeichnis /usr/local/arm/ für solche Dinge angelegt und der Pfad in die Toolchain ist dann /usr/local/arm/arm-2007q3/bin/ | ||
| + | |||
| + | ====Compileren von boop==== | ||
| + | =====Download===== | ||
| + | <pre> | ||
| + | svn checkout svn://svn.mamalala.org/boop/trunk | ||
| + | </pre> | ||
| + | |||
| + | =====Compilieren===== | ||
| + | cd boop/trunk | ||
| + | Wechselt in das Verzeichnis boop/trunk im aktuellen Verzeichnis. Wenn ihr alles richtig gemacht habt sollte nun ein | ||
| + | make | ||
| + | unter anderem die Datei '''boop_rom.bin''' erstellt haben | ||
| + | |||
| + | === Windows === | ||
| + | |||
| + | Die aktuell verwendete Toolchain ist [http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/#winarm WinARM]. | ||
| + | |||
| + | Aktuell verwendet wird die Version 20060606. Diese steht [http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/WinARM-20060606.zip hier] zum Download zur Verfügung. | ||
| + | |||
| + | * WinARM nach C:\ entpacken | ||
| + | * Systemeigenschaften -> Erweitert -> Umgebungsvariablen: PATH Variable setzen (siehe readme.htm) | ||
| + | * Makefile.local.WinARM umbenennen in Makefile.local | ||
| + | * In der Datei Makefile.local die Pfade anpassen, wenn nicht nach C:\ entpackt wurde. Kein abschließender Schrägstrich! | ||
| + | * Die Datei C:\WinARM\arm-elf\lib\interwork\libgcc.a (320292 Byte)<br/>ist durch die Datei ronetix-gnutools-arm-elf-4.1.1-linux.tar.bz2\ronetix-gnutools-arm-elf-4.1.1-linux.tar\usr\cross\arm-elf\lib\gcc\arm-elf\4.1.1\interwork\libgcc.a (323938 Byte)<br/>zu ersetzen. Die libgcc.a kann [http://bettyhacks.com/forum/index.php?topic=106.msg891#msg891 hier] als "7Z-Datei" oder "zip-Datei" bezogen werden. | ||
| + | * Ggf. in C:\WinARM\utils\bin die Datei "sed_WinARM.exe" zu "sed.exe" umbenennen | ||
| + | |||
| + | Inhalt der Datei Makefile.local: | ||
| − | + | '''###############################################################'''<br/> | |
| + | '''#####'''<br/> | ||
| + | '''##### Makefile.local.WinARM for boop'''<br/> | ||
| + | '''##### Created in the early morninghours'''<br/> | ||
| + | '''#####'''<br/> | ||
| + | '''##### Makefile.local.WinARM V1.0 by alterego - alteregon@gmx.net'''<br/> | ||
| + | '''#####'''<br/> | ||
| + | '''##### Copy this file to Makefile.local for your Windows'''<br/> | ||
| + | '''##### installation'''<br/> | ||
| + | '''#####'''<br/> | ||
| + | '''###############################################################'''<br/> | ||
| + | '''ARMBASE = c:/WinARM'''<br/> | ||
| + | '''INCLUDEPATH = $(ARMBASE)/include'''<br/> | ||
| + | '''LIBPATH = $(ARMBASE)/arm-elf/lib/interwork'''<br/> | ||
| + | '''ARMPATH = $(ARMBASE)/bin'''<br/> | ||
| + | '''TOOLPREFIX = arm-elf-'''<br/> | ||
| + | '''LPCTOOL = lpctool.exe'''<br/> | ||
| + | '''######################## EOF ##################################'''<br/> | ||