Qtopia Home - Classes - Annotated - Functions - Qt Embedded

System Integrators' Guide

Introduction

This document is for System Itegrators or those that need to install Qtopia onto a new device

Getting Qtopia Running

Getting Qtopia running on target device involves:

  1. Creating the custom configs files if needed. It through these configuration files that compilation tools to use and extra global defines are specified. For example a new arm based device might create a qws/linux-myarm-g++ tool chain configuration based on a qws/linux-arm-g++ : eg

    cp -r $TMAKEDIR/lib/qws/linux-arm-g++ $TMAKEDIR/lib/qws/linux-myarm-g++
    cp -r $QTDIR/configs/linux-arm-g++-shared $QTDIR/configs/linux-myarm-g++-shared
    cp -r $QPEDIR/mkspecs/qws/linux-arm-g++ $QPEDIR/mkspecs/qws/linux-myarm-g++
    

    Note: Based on the example show setting $TMAKEPATH to use your newly created tmake configuration before configuring Qte or Qtopia for cross compiling is recommended eg:

    export TMAKEPATH=$TMAKEDIR/lib/qws/linux-myarm-g++
    

  2. Customizing Qtopia as needed (for power, backlighting control keyboard scancodes) : eg to create a new custom.cpp based on the one that suits an ipaq:

    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
    

    Note: keyboard scancode customization via Qtopia is only available in a release later than Qtopia Phone beta 1 with a Qte greater than the version 2.3.8. For earlier Qtopia Phone releases customize $QTDIR/src/kernel/qkeyboard_qws.cpp to change the Qt keycode to scancode mapping.

  3. Create a keyboard handler in Qt if none of the existing drivers suits : see $QTDIR/src/kernel/qkeyboard_qws.cpp

  4. Configuring Qte to suit your device when : see $QPEDIR/doc/html/devices.html and $QTDIR/doc/html/features.html. Following example above you need to have added
     -xplatform qws/linux-myarm-g++
    as parameters to Qte's configure.

    Hint: It is a good idea to have Qte for x86 and Qte for target device in different directories

Macros defined at Qte compile time Mouse device used
QT_QWS_IPAQ and QT_QWS_IPAQ_RAW /dev/h3600_tsraw
QT_QWS_IPAQ /dev/h3600_ts
QT_QWS_SL5XXX /dev/ts

  1. Configuring Qtopia to suit your device when : see $QPEDIR/doc/html/devices.html. Following example above you need to have added:
     xplatform qws/linux-myarm-g++
    as parameters to Qtopia's configure.

    Hint: When cross compiling it is preferable to use different directories to keep the x86 and cross complied files.

  2. Meeting Qtopia prerequists:

  3. Create and install the Qtopia image for the target device. When configuring Qtopia for the target device the $QPEDIR/image is the default prefix for the image that Qtopia will create. After building Qtopia and running make install an example of getting the image onto the device is to:

  4. 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 eg:
            export QPEDIR=/opt/Qtopia
            export QTDIR=$QPEDIR
            export QTEDIR=$QTDIR
            export PATH=$QPEDIR/bin:$PATH
            export LD_LIBRARY_PATH=$QPEDIR/lib:$LD_LIBRARY_PATH
            

  5. Initial tests on Qtopia on the device:
  6. and confirm that:


Copyright © 2001-2004 Trolltech Trademarks
Qtopia version 2.0.1