Qtopia Home - Classes - Hierachy - Annotated - Functions - Qt Embedded

System Integrators' Guide

Introduction

This document is for System Integrators and those who who are going to install Qtopia onto a new device. The various aspects of device integration are drawn together in one place and a suggested order of progression is provided.

See Also:

Suggested steps to customize Qtopia

This following lists the suggested order in which to work on the various aspects of device integration:

  1. Create custom configuration files
  2. Customizing power, backlighting control and keyboard scancodes
  3. Create a keyboard handler in Qt
  4. Configuring Qt/Embedded to suit device
  5. Configuring Qtopia to suit device
  6. Create and install the Qtopia image for the target device
  7. Configuring environment variables on the device to suit Qtopia
  8. Initial tests of Qtopia on the device
  9. Selecting storage devices
  10. Customize Qtopia to suit GSM module (Qtopia Phone only)
  11. Selecting components to install
  12. Create plugins needed
  13. Install extra fonts
  14. Customize appearance

Customizing power, backlighting control and keyboard scancodes

There are several choices on what to base a new custom.cpp. These choices include:

The following example creates a new custom.cpp based on the one that supports the ipaq platform.

cp $QPEDIR/src/libraries/qtopia/custom-linux-ipaq-g++.cpp $QPEDIR/src/libraries/qtopia/custom-linux-myarm-g++.cpp
cp $QPEDIR/src/libraries/qtopia/custom-linux-ipaq-g++.h $QPEDIR/src/libraries/qtopia/custom-linux-myarm-g++.h

For more details on keyboard scancode and button support see devices-keys-buttons.html

Hints

Create a keyboard handler in Qt

For an oveview on character input in Qt/Embedded see : charinput-qws.html

To add a new driver it is necessary to modify : $QTDIR/src/kernel/qkeyboard_qws.cpp see : qwskeyboardhandler.html

Compiling required libs for a device.

These instructions are a guide only and device-specific options are not included. Please see the documentation for each package to determine how it is best configured.

Note: The developer must ensure that the correct compiler is used when building these libraries. Checking the output of the build stage will verify that the correct compiler was used and the file utility shows the architecture for which a particular library is compiled.

Compiling libjpeg for a device

JPEG source can be downloaded from http://www.ijg.org/

libjpeg should be configured with the --target=arch option. If libjpeg.so is not copied to $QTDIR the -L option needs to be used when running Qt/Embedded's configure.

For example:

cd $QTDIR
./configure -L/path/that/libjpeg/lives/in

Compiling libuuid for a device

libuuid is part of the e2fsprogs package which can be downloaded from http://e2fsprogs.sourceforge.net/

libuuid should be configured with the --target=arch and --enable-elf-shlibs options. If libuuid.so is not copied to $QTDIR or $QPEDIR the -L option will need to be used when running Qtopia's configure.

For example:

cd $QPEDIR
./configure -L/path/that/libuuid/lives/in

Configuring Qt/Embedded to suit device

Continuing from above, add the following as parameters to Qt/Embedded's configure:

 -xplatform linux-myarm-g++

More information about platform specs can be found in Creating the custom configuration files.

Hints

Hints

Configuring Qtopia to suit device

Continuing from above, add the following as parameters to Qtopia's configure:

 -xplatform linux-myarm-g++

More information about platform specs can be found in Creating the custom configuration files.

Hints

Create and install the Qtopia image for the target device

When configuring Qtopia for the target device $QPEDIR/image is the default prefix for the image created by Qtopia. After building Qtopia and running make install the image needs to be transferred to the device. An example of the process is shown below:

Note: make install is an additive process. If the configuration changes, it is necessary to either:

Configuring environment variables on the device to suit Qtopia

Set QPEDIR and QTDIR to where Qtopia was installed, and add Qtopia's programs and libraries to the system paths, for example:

        export QPEDIR=/opt/Qtopia
        export QTDIR=$QPEDIR
        export QTEDIR=$QTDIR
        export PATH=$QPEDIR/bin:$PATH
        export LD_LIBRARY_PATH=$QPEDIR/lib:$LD_LIBRARY_PATH
        

See also running-qtopia.html

Initial tests on Qtopia on the device

Run the following command : textedit -qws

Confirm that:

Hints

Customize Qtopia to suit GSM module (Qtopia Phone edition only)

Before starting this step ensure that Qtopia is able to communicate to your GSM module and that you can dial and connect normal calls. Also it is highly recommended that you first test your modems ability make GRPS calls just using pppd.

The following is the suggested order in integrating a GSM module into Qtopia

  1. GSM module integratation
  2. WAP stack integration
  3. Configure the serial proxy

Selecting components to install

Choosing not to build a component, eg Todo, can easily be done via editing $QPEDIR/src/custom.pri and re-configuring Qtopia. For example add the following to the custom.pri APP_PROJECTS-=applications/todo

See $QPEDIR/src/custom.pri for extra hints, see also buildsystem.html

Configure serial proxy (Qtopia Phone only)

Most modern phones have an external serial interface, which is used to connect to a computer for the purposes of data calls, FAX transmissions, or synchronization with desktop applications.

The SerialProxy class assists with this process.

The Phone.conf file needs to be placed under the "etc/default" directory on a vendor's system.

Warning

Using a serial proxy is not possible when connecting Qtopia to In such a case ensure that Phone.conf file does not contain an entry for "ExternalAccessDevice".

Install extra fonts

To make extra fonts available to Qtopia it is likely that the makeqpf ultility will need to be run. For more details see : makeqpf

Customize apprearance

Qtopia's appearance can be modified on several ways


Copyright © 2005 Trolltech Trademarks
Qtopia version 2.1.2