Development with Eclipse/hu

From Openmoko

Revision as of 19:33, 13 October 2008 by Kempelen (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search


Egy grafikus OpenMoko alkalmazás valójában egy gnome-alapú X alkalmazás. Ezért általában könnyű fordítani, futtatni és tesztelni egy asztali számítógépen, a telefonra való feltöltés általában csak az utolsó lépés a tesztelés során. Ha már a telefonon van a program, akkor is lehet úgy futtatni, hogy közben használjuk a képernyőt, egeret, billentyűzetet a megfigyeléséhez, teszteléséhez. Ez a cikk Debian-hoz ad tanácsokat, de feltehetően más Linux disztribúción is kipróbálható.

Az Eclipse-hez jelenleg van C/C++ plugin. A fejlesztéshez szükséged lesz az Eclipse-re, erre a pluginra, és lehet hogy frissítened kell a GTK fejlesztői csomagokat. A legkönnyebb módja egy egyszerű program látrehozásának az, hogy kezdünk egy új menedzselt C projektet, majd add hozzá a `pkg-config --cflags --libs gtk+-2.0` opciót mind a fordító-beállításokhoz, mind a linker flagekhez. Ezután nézd meg a GTK tutorialt, próbáld ki, és készíts el egy egyszerű alkalmazást.

Ez a megközelítés nemcsak percekről másodpercekre rövidíti le a fejlesztési ciklust, hanem így használhatjuk az Eclipse debuggerét C fejlesztéshez, lépésről lépésre figyelve a kódot és a változókat.

A végrehajtható fájl a mobil eszközhöz általában előállítható a forráskódokból az openmoko toolchain segítségével. Mivel a forrásfájlok környezete nem teljesen ugyanaz az eclipse projektben mint az openmoko projektben, ezért érdemes két fejlesztői környezetet kialakítani, és az eclipse projektbe szimbolikus linkeket helyezni az openmoko projekt-mappában levő fájlokra.

Miután létrehoztuk az openmoko futtatható állomány, érdemes lehet kipróbálni az X protokollon keresztül, az egér, billentyűzet és képernyő segítségével. Ehhez csak az szükséges, hogy -X opcióval jelentkezzünk be ssh-n a telefonra. Ekkor lehetséges a telefonról futtatni de a számítógépen az X segítségével használni a programot. Így lehet pl. sebességtesztet végezni.

Az Eclipse lehetővé teszi hogy saját buildert rendeljünk a projekthez. Ezek lehetnek Ant scriptek, vagy végrehajtható shell scriptek. Ezeket a lehetőségeket használhatjuk az openmoko toolchain futtatására az Eclipse IDE elhagyása nélkül.


Freerunner build konfiguráció beállítása


  1. Telepítsd fel a Toolchain-t
  2. Nyisd meg a C/C++ projekted Properties oldalát
  3. Válaszd ki a C/C++ Build -> Tool settings menüpontot
  4. Configuration -> Manage, itt hozz létre egy új konfigurációt (másold ki a beállításokat a 'Release' konfigurációból
  5. Cseréld ki a GCC C||C++||Assembler Compiler parancsot erre: /usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/bin/gcc||g++||as
  6. Cseréld ki a GCC Linker parancsot erre: /usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/bin/gcc (g++ for C++ project)
  7. Menj a 'Build Steps'-hez és add hozzá ezt: ". /usr/local/openmoko/arm/setup-env" a 'Pre-build step' -hez
  8. Kattints az Ok gombra majd válaszd ki a 'Freerunner'-t az 'Active Build Configuration' résznél a projektedhez.

Megjegyzések Eclipse Ganymede(3.4) -hez: Három hely van, ahol meg kell változtatnod a fenti beállításokat a Project Properties -> C/C++ Build -> Settings -> Tool Settings részen belül:

  1. GCC C Compiler -> Command: /usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/bin/gcc
  2. GCC C Linker -> Command: /usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/bin/gcc
  3. GCC Assembler -> Command: /usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/bin/gcc||g++||as

A bináris állományokat felmásolhatod Freerunner-re úgy is, hogy hozzáadunk egy Post-build parancsot a Build Steps-ben:

scp ${project_name} root@neo:/home/root/dev_app/

vagy futtathatod a programodat saját Run configuration készítésével:

C/C++ Application: /usr/bin/ssh Arguments: root@neo "cd dev_app && DISPLAY=:0 ./${project_name}"

Personal tools


Egy grafikus OpenMoko alkalmazás valójában egy gnome-alapú X alkalmazás. Ezért általában könnyű fordítani, futtatni és tesztelni egy asztali számítógépen, a telefonra való feltöltés általában csak az utolsó lépés a tesztelés során. Ha már a telefonon van a program, akkor is lehet úgy futtatni, hogy közben használjuk a képernyőt, egeret, billentyűzetet a megfigyeléséhez, teszteléséhez. Ez a cikk Debian-hoz ad tanácsokat, de feltehetően más Linux disztribúción is kipróbálható.

Az Eclipse-hez jelenleg van C/C++ plugin. A fejlesztéshez szükséged lesz az Eclipse-re, erre a pluginra, és lehet hogy frissítened kell a GTK fejlesztői csomagokat. A legkönnyebb módja egy egyszerű program látrehozásának az, hogy kezdünk egy új menedzselt C projektet, majd add hozzá a `pkg-config --cflags --libs gtk+-2.0` opciót mind a fordító-beállításokhoz, mind a linker flagekhez. Ezután nézd meg a GTK tutorialt, próbáld ki, és készíts el egy egyszerű alkalmazást.

Ez a megközelítés nemcsak percekről másodpercekre rövidíti le a fejlesztési ciklust, hanem így használhatjuk az Eclipse debuggerét C fejlesztéshez, lépésről lépésre figyelve a kódot és a változókat.

A végrehajtható fájl a mobil eszközhöz általában előállítható a forráskódokból az openmoko toolchain segítségével. Mivel a forrásfájlok környezete nem teljesen ugyanaz az eclipse projektben mint az openmoko projektben, ezért érdemes két fejlesztői környezetet kialakítani, és az eclipse projektbe szimbolikus linkeket helyezni az openmoko projekt-mappában levő fájlokra.

Miután létrehoztuk az openmoko futtatható állomány, érdemes lehet kipróbálni az X protokollon keresztül, az egér, billentyűzet és képernyő segítségével. Ehhez csak az szükséges, hogy -X opcióval jelentkezzünk be ssh-n a telefonra. Ekkor lehetséges a telefonról futtatni de a számítógépen az X segítségével használni a programot. Így lehet pl. sebességtesztet végezni.

Az Eclipse lehetővé teszi hogy saját buildert rendeljünk a projekthez. Ezek lehetnek Ant scriptek, vagy végrehajtható shell scriptek. Ezeket a lehetőségeket használhatjuk az openmoko toolchain futtatására az Eclipse IDE elhagyása nélkül.


Freerunner build konfiguráció beállítása


  1. Telepítsd fel a Toolchain-t
  2. Nyisd meg a C/C++ projekted Properties oldalát
  3. Válaszd ki a C/C++ Build -> Tool settings menüpontot
  4. Configuration -> Manage, itt hozz létre egy új konfigurációt (másold ki a beállításokat a 'Release' konfigurációból
  5. Cseréld ki a GCC C||C++||Assembler Compiler parancsot erre: /usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/bin/gcc||g++||as
  6. Cseréld ki a GCC Linker parancsot erre: /usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/bin/gcc (g++ for C++ project)
  7. Menj a 'Build Steps'-hez és add hozzá ezt: ". /usr/local/openmoko/arm/setup-env" a 'Pre-build step' -hez
  8. Kattints az Ok gombra majd válaszd ki a 'Freerunner'-t az 'Active Build Configuration' résznél a projektedhez.

Megjegyzések Eclipse Ganymede(3.4) -hez: Három hely van, ahol meg kell változtatnod a fenti beállításokat a Project Properties -> C/C++ Build -> Settings -> Tool Settings részen belül:

  1. GCC C Compiler -> Command: /usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/bin/gcc
  2. GCC C Linker -> Command: /usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/bin/gcc
  3. GCC Assembler -> Command: /usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/bin/gcc||g++||as

A bináris állományokat felmásolhatod Freerunner-re úgy is, hogy hozzáadunk egy Post-build parancsot a Build Steps-ben:

scp ${project_name} root@neo:/home/root/dev_app/

vagy futtathatod a programodat saját Run configuration készítésével:

C/C++ Application: /usr/bin/ssh Arguments: root@neo "cd dev_app && DISPLAY=:0 ./${project_name}"