Maemo developer tools

(wikify slightly, cut outdated information)
(move information and redirect to Documentation/devtools)
 
Line 1: Line 1:
-
== Standard maemo developer tools ==
+
#REDIRECT [[Documentation/devtools]]
-
 
+
-
{{main|Documentation/devtools/maemo5}}
+
-
 
+
-
Many free software development tools are shipped for Maemo. These include:
+
-
* '''Valgrind''': Analyse your application's memory usage, and diagnose performance issues.
+
-
* '''gdb''': The standard GNU debugger
+
-
* '''oprofile and oprofileui''': Systemwide profiling information with low overhead
+
-
* '''bluez-hcidump''': Analyse bluetooth traffic
+
-
 
+
-
There are also [http://maemo.org/development/tools/diablo/ developer tools for Maemo 4].
+
-
 
+
-
==Maemo Virtual SDK image==
+
-
 
+
-
{{main|Documentation/Maemo 5 Developer Guide/Development Environment/Maemo SDK Virtual Images}}
+
-
A preconfigured virtualized environment for testing, demonstrating and development.
+
-
 
+
-
==ESBox==
+
-
 
+
-
{{main|Documentation/Maemo Eclipse Tutorial}}
+
-
 
+
-
Use Eclipse to develop Maemo applications.
+
-
 
+
-
==Flasher tool instructions==
+
-
 
+
-
{{main|Documentation/Maemo 5 Developer Guide/Development Environment/Maemo Flasher-3.5}}
+
-
 
+
-
Using the flasher program to [[updating the firmware|update firmware]].
+
-
 
+
-
==Qemu==
+
-
[http://www.nongnu.org/qemu/ Qemu] is an open source fast and portable "universal" emulator (emulates x86, ppc, sparc, arm, mips, x86_64, ... on windows, linux, solaris, bsd and others). It can emulate full machines (like vmware does), and even can help to run arm binaries on linux/x86 without emulating a full machine (it can convert target machine instructions to native hosts instructions on the fly). Gui appz are still too device-dependant so we still can't run them this way. So this is a very good tool to test (non-gui) cross compiled softwares.
+
-
 
+
-
Hope at some time somes (maybe Nokia) will contribute this project so it can emulate a 770 machine (I mean, the cpu emulator is already done, and the network layer is functional, but we need at least an emulation of the graphic card and the conversion from mouse input to touchscreen in order to test graphical applications on emulator, and of course the specifics of 770 cpu wiring) (How cool it'd be to boot straight the 770's native rootfs on host devlopment desktop !)
+
-
 
+
-
Why graphics card and touchscreen emulation is needed? Only games and multimedia use HW pixel doubling, everything else goes through X server, for which Xephyr can already be used with Qemu. Touchscreen can be emulated by using a laptop with touchscreen. DSP is used for sound output on the device, but for normal applications in the SDK that could probably be handled just by using x86 specific Gstreamer plugins and ESD.
+
-
 
+
-
The official Qemu releases starting from 0.8.0 supports also systen mode emulation for ARM Integrator CP. Before 0.8.0 everything else than CPU operations were given to the host OS (Linux) kernel.
+
-
 
+
-
==DDD==
+
-
The [http://www.gnu.org/software/ddd/ GNU graphical debugger] can be built fairly easily in a [[Open development/Maemo roadmap/Diablo|Diablo]] 4.1 Scratchbox:
+
-
First get all the sources you'll need. This should be done outside the scratchbox but to a location the scratchbox has access to.
+
-
  apt-get source x11proto-print-dev
+
-
  apt-get source libxp-dev
+
-
  apt-get source lesstif2-dev
+
-
  apt-get source ddd
+
-
 
+
-
Then, in the scratchbox porting area:
+
-
 
+
-
  cd x11proto-print-1.0.3.xsf1
+
-
  fakeroot ./debian/rules build binary
+
-
  dpkg -i ../x11proto-print-dev_1.0.3.xsf1-1_all.deb
+
-
 
+
-
  cd libxp-1.0.0.xsf1
+
-
  fakeroot ./debian/rules build binary
+
-
  dpkg -i ../libxp6_1.0.0.xsf1-1_i386.deb
+
-
  dpkg -i ../libxp-dev_1.0.0.xsf1-1_i386.deb
+
-
 
+
-
  cd lesstif2-0.95.0
+
-
  fakeroot ./debian/rules build binary
+
-
  dpkg -i ../lesstif2-dev_0.95.0-2.1_i386.deb
+
-
 
+
-
  cd ddd-3.3.11
+
-
  fakeroot ./debian/rules build binary
+
-
  dpkg -i ../ddd_3.3.11-1_i386.deb
+
-
 
+
-
When running ddd, use:
+
-
  run-standalone.sh ddd -display :0 <app to be debugged>
+
-
and then use Program->run to append '''--display :2''' to get the app to appear in Xephyr.
+
-
 
+
-
Tested on scratchbox1 under Diablo SDK4.1, target X86 by [[User:lbt|lbt]] 14:41, 1 July 2008 (UTC)
+
-
 
+
-
[[Category:Development]]
+

Latest revision as of 11:37, 1 February 2011

  1. REDIRECT Documentation/devtools