Maemo developer tools

(Qemu)
m (DDD: link)
Line 35: Line 35:
The gnu graphical debugger. http://www.gnu.org/software/ddd/
The gnu graphical debugger. http://www.gnu.org/software/ddd/
-
This can be built fairly easily in a Diablo 4.1 scratchbox:
+
This 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.
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 x11proto-print-dev

Revision as of 09:01, 19 February 2010

Contents

Developer Tools

Standard maemo developer tools

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

More standard tools and instructions on how to install them are available in the developer section of maemo.org.

VistaMax IDE

http://www.wirelexsoft.com VistaMax IDE for Maemo (beta): a visual Integrated Development Environment with Novel Features Wirelexsoft (www.wirelexsoft.com) offers VistaMax IDE for Maemo, a complete end-to-end graphical based Integrated Development Environment based on Eclipse.

Maemo Live CD

Live CD : a pre configured environment for testing, demonstrating and development.

Laika

Laika - Scratchbox Eclipse-plugin project (http://www.cs.tut.fi/~laika/) New version 2.0 has been released. There are improvements such as Glade and Gazpacho support Download Laika straight from kooditakomo (http://kooditakomo.cs.tut.fi/projects/laika/)

Flasher tool instructions

tool usage" - Using the flasher program. (You can find the flasher program on the maemo.org downloads -> tools page)

Qemu

http://www.nongnu.org/qemu/ Qemu is an opensource 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 gnu graphical debugger. http://www.gnu.org/software/ddd/

This can be built fairly easily in a 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 lbt 14:41, 1 July 2008 (UTC)