forked from qt-creator/qt-creator
468 lines
16 KiB
Plaintext
468 lines
16 KiB
Plaintext
/****************************************************************************
|
|
**
|
|
** This file is part of Qt Creator
|
|
**
|
|
** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies).
|
|
**
|
|
** Contact: Nokia Corporation (info@qt.nokia.com)
|
|
**
|
|
**
|
|
** GNU Free Documentation License
|
|
**
|
|
** Alternatively, this file may be used under the terms of the GNU Free
|
|
** Documentation License version 1.3 as published by the Free Software
|
|
** Foundation and appearing in the file included in the packaging of this
|
|
** file.
|
|
**
|
|
** If you have questions regarding the use of this file, please contact
|
|
** Nokia at qt-info@nokia.com.
|
|
**
|
|
****************************************************************************/
|
|
|
|
/*!
|
|
|
|
\contentspage index.html
|
|
\if defined(qcmanual)
|
|
\previouspage creator-project-generic.html
|
|
\else
|
|
\previouspage creator-developing-symbian.html
|
|
\endif
|
|
\page creator-developing-maemo.html
|
|
\if defined(qcmanual)
|
|
\nextpage creator-developing-symbian.html
|
|
\else
|
|
\nextpage smartinstaller.html
|
|
\endif
|
|
|
|
\title Setting Up Development Environment for Maemo
|
|
|
|
Maemo 5 (Fremantle) is a software platform developed by Nokia for
|
|
smartphones. The Maemo 5 SDK provides an open development environment
|
|
for different applications on top of the Maemo platform. The necessary
|
|
tools from the Maemo 5 SDK are also included in the \QSDK.
|
|
The whole tool chain that you need to create, build, debug, run, and deploy
|
|
Maemo 5 applications is installed and configured when you install the
|
|
\QSDK.
|
|
|
|
\if defined(qcmanual)
|
|
Maemo 5 is based on the Linux 2.6 operating system. For more
|
|
information about the Maemo 5 platform, see
|
|
\l{http://maemo.org/intro/platform/}{Software Platform} on the Maemo web site.
|
|
\endif
|
|
|
|
For more information about developing applications for the Maemo 5
|
|
platform, select \gui {Help > Index} and look for \gui {Platform Notes},
|
|
or see
|
|
\l{http://doc.qt.nokia.com/qt-maemo/platform-notes-maemo5.html}{Platform Notes - Maemo 5}.
|
|
|
|
\section1 Hardware and Software Requirements
|
|
|
|
To build and run Qt applications for Maemo 5, you need the following:
|
|
\list
|
|
\o Nokia N900 device with software update release 1.3 (V20.2010.36-2)
|
|
or later installed.
|
|
|
|
\if defined(qcmanual)
|
|
\o MADDE cross-platform Maemo development
|
|
tool (installed as part of the \QSDK).
|
|
|
|
For more information about MADDE pertaining to its
|
|
installation, configuration, and deployment on the device, see
|
|
\l{http://wiki.maemo.org/MADDE}{Introduction to MADDE}.
|
|
\endif
|
|
|
|
\o Nokia USB drivers.
|
|
|
|
Only needed if you develop on Windows and if you use a USB connection
|
|
to run applications on the device. The drivers are
|
|
installed as part of the \QSDK. You can also download them from
|
|
\l{https://garage.maemo.org/frs/?group_id=801&release_id=2655}{PC Connectivity}
|
|
on the Maemo web site. Download and install the latest
|
|
PC_Connectivity_<version>.exe (at the time of writing,
|
|
PC_Connectivity_0.9.4.exe).
|
|
|
|
\endlist
|
|
|
|
\note The only supported build system for Maemo 5 in Qt
|
|
Creator is qmake.
|
|
|
|
\section1 Setting Up the Nokia N900
|
|
|
|
You can connect your device to your development PC using either a USB or
|
|
WLAN connection.
|
|
|
|
For the device, you need to use a tool called Mad Developer to create the
|
|
device-side end point for USB and WLAN connections. It provides no
|
|
diagnostics functions but is essential for creating connections between the
|
|
device and your development PC.
|
|
|
|
To use a WLAN connection, you must activate WLAN on the device and connect
|
|
it to the same WLAN as the development PC. The network address is displayed
|
|
in the Mad Developer.
|
|
|
|
To use a USB connection, you need to set up the Nokia N900 as a network device
|
|
on the development PC.
|
|
|
|
\note If you plan to connect your development PC to the Nokia N900 only over WLAN, you can
|
|
ignore the USB-specific parts in the following sections.
|
|
|
|
\section2 Installing and Configuring Mad Developer
|
|
|
|
Install Mad Developer on a device and configure
|
|
a connection between the development PC and the device.
|
|
|
|
\note The following instructions describe Mad Developer 2.1. The process and
|
|
text labels might differ on other Mad Developer versions.
|
|
|
|
To install and configure Mad Developer:
|
|
|
|
\list 1
|
|
\o On the Nokia N900, select \gui{App Manager > Download} > \gui{Development} > \gui{mad-developer}
|
|
to install the Mad Developer software package.
|
|
\o Click \gui {Mad Developer} to start the Mad Developer application.
|
|
|
|
\o To use a WLAN connection, activate WLAN on the device and connect
|
|
to the same network as the development PC. You can see the network
|
|
address in the \gui wlan0 field.
|
|
|
|
\o To use a USB connection:
|
|
|
|
\list a
|
|
|
|
\o If you are using Microsoft Windows as development host, you must
|
|
change the driver loaded for instantiating the connection.
|
|
In the Mad Developer, select \gui{Manage USB} and select \gui{Load g_ether}.
|
|
|
|
\o To set up the USB settings, click \gui Edit on the \gui usb0 row and
|
|
confirm by clicking \gui Configure.
|
|
|
|
\note By default, you do not need to make changes. The \gui usb0 row
|
|
displays the IP address 192.168.2.15.
|
|
|
|
\endlist
|
|
|
|
\o Select \gui{Developer Password} to generate a password for a freshly
|
|
created user called \bold developer. The password stays valid for as long
|
|
as the password generation dialog is open. You enter the password when
|
|
you configure the connection in Qt Creator.
|
|
|
|
\image qtcreator-mad-developer-screenshot.png
|
|
\endlist
|
|
|
|
\section1 Installing Qt Mobility APIs
|
|
|
|
To develop applications that use the Qt Mobility APIs, you must install the
|
|
APIs on the devices. The APIs are not available in the Nokia N900 package
|
|
manager, and therefore, you must install them from the command line as the
|
|
root user:
|
|
|
|
\list 1
|
|
|
|
\o On the device, in \gui Programs, select \c {X Terminal} to open a
|
|
terminal window.
|
|
|
|
\o To install Qt Mobility libraries, enter the following command:
|
|
\c{/usr/lib/mad-developer/devrootsh apt-get install libqtm-*}
|
|
|
|
\o To confirm the installation, enter: \c Y
|
|
|
|
\o Close the terminal.
|
|
|
|
\endlist
|
|
|
|
\section1 Setting Up Network Connectivity on Development PC
|
|
|
|
Use the network configuration tools on your platform to specify the
|
|
connection to the device on the development PC. You need to do this
|
|
only if you use a USB connection.
|
|
|
|
\section2 Linux
|
|
|
|
The device uses the IP address 192.168.2.15 with the subnet 255.255.255.0
|
|
for its USB connection by default, so you can create the network interface
|
|
with a different address inside the same subnet too.
|
|
|
|
\note If you have changed the IP address of the device when configuring
|
|
Mad Developer, you need to reflect those changes in your development PC USB
|
|
network settings.
|
|
|
|
Run the following command in a shell as root user:
|
|
\c{ifconfig usb0 192.168.2.14 up}
|
|
|
|
\section2 Windows
|
|
|
|
When you connect the device to your Windows PC, Windows tries to install a
|
|
driver for the Linux USB Ethernet connection. In the
|
|
\gui{Found New Hardware Wizard}, select \gui{No, not this time} in the
|
|
first dialog and \gui{Install the software automatically} in the second
|
|
dialog.
|
|
|
|
To specify a network connection:
|
|
|
|
\list 1
|
|
|
|
\o Open the Network Connections window.
|
|
|
|
\o Select the Linux USB Ethernet
|
|
connection that is displayed as a new Local Area Connection.
|
|
|
|
\o Edit the \gui {Internet Protocol Version 4 (TCP/IPv4)} properties
|
|
to specify the IP address for the connection.
|
|
In the \gui {Use the following IP address} field, enter the following values:
|
|
\list
|
|
\o \gui {IP Address}: \bold {192.168.2.14}
|
|
\o \gui SubnetMask: \bold {255.255.255.0}
|
|
\o \gui {Default gateway}: leave this field empty
|
|
\endlist
|
|
|
|
\endlist
|
|
|
|
Depending on
|
|
your version of Microsoft Windows you may have to unplug and re-plug the
|
|
Nokia N900 to reload the driver with its configuration accordingly.
|
|
|
|
\section1 Configuring Connections in Qt Creator
|
|
|
|
To be able to run and debug applications on the Maemo emulator and
|
|
devices, you must set up connections to the emulator and devices in the
|
|
Qt Creator build and run settings.
|
|
If you install \QSDK, the
|
|
connection to the Maemo emulator is configured automatically and you
|
|
only need to configure a connection to the device.
|
|
|
|
You use a wizard to create the connections. You can edit the settings later
|
|
in \gui {Tools > Options... > Maemo > Maemo Device Configurations}.
|
|
|
|
\image qtcreator-maemo-device-configurations.png "Maemo Device Configurations dialog"
|
|
|
|
By default, you create the connection as the \e developer user. This
|
|
protects real user data on the device from getting corrupted during
|
|
testing. If you write applications that use Qt Mobility APIs, you might want
|
|
to test them with real user data. To create a connection as a user, specify
|
|
the \gui Username and \gui Password in Qt Creator. For more information, see
|
|
\if defined(qcmanual)
|
|
\l{Testing with User Data}.
|
|
\else
|
|
the Qt Creator Manual.
|
|
\endif
|
|
|
|
|
|
You can protect the connections between Qt Creator and
|
|
a Maemo device by using either a password or an SSH key. If you use a password, you
|
|
must generate it in Mad Developer and enter it in Qt Creator every time
|
|
you connect to the Maemo device.
|
|
|
|
If you do not have an SSH key, you can create it in Qt Creator.
|
|
Encrypted keys are not supported. For more
|
|
information, see
|
|
\if defined(qcmanual)
|
|
\l{Generating SSH Keys}.
|
|
\else
|
|
the Qt Creator Manual.
|
|
\endif
|
|
|
|
|
|
To configure connections between Qt Creator and the Maemo
|
|
device:
|
|
|
|
\list 1
|
|
|
|
\o To deploy applications and run them remotely on Maemo devices,
|
|
specify parameters for accessing devices:
|
|
|
|
\list a
|
|
|
|
\o Connect your device to the development PC via a USB cable or
|
|
a WLAN. For a USB connection, you are prompted to select the mode
|
|
to use. Choose \gui{PC suite mode}.
|
|
|
|
\note If you experience connection problems due to a USB port issue,
|
|
switch to a different port or use WLAN to connect to the device.
|
|
|
|
\o Select \gui Tools > \gui Options... > \gui Maemo >
|
|
\gui{Maemo Device Configurations > Add}, and add a new configuration for a
|
|
hardware device.
|
|
|
|
\image qtcreator-screenshot-devconf.png
|
|
|
|
\o In the \gui {The name to identify this configuration} field,
|
|
enter a name for the connection.
|
|
|
|
\o In the \gui {The system running on the device} field, select
|
|
the software platform of the device.
|
|
|
|
\o In the \gui {The kind of device} field, select
|
|
\gui {Hardware device}.
|
|
|
|
\o In the \gui {The device's host name or IP address} field, enter
|
|
the IP address from the \gui usb0 or \gui wlan0 field in Mad Developer.
|
|
|
|
\o Click \gui Next.
|
|
|
|
\o Follow the instructions of the wizard to create the connection.
|
|
|
|
\endlist
|
|
|
|
\if defined(qcmanual)
|
|
|
|
\o To test applications on the Maemo emulator (QEMU) separately, you must
|
|
create a connection to it from the development PC. If you installed
|
|
\QSDK, the connection is created automatically and you can omit this
|
|
step.
|
|
|
|
\list a
|
|
|
|
\o In Qt Creator, select \gui {Tools > Options... > Maemo >
|
|
Maemo Device Configurations > Add} to add a new configuration.
|
|
|
|
\image qtcreator-maemo-emulator-connection.png
|
|
|
|
\o In the \gui {The name to identify this configuration} field,
|
|
enter a name for
|
|
the connection.
|
|
|
|
\o In the \gui {The system running on the device} field, select
|
|
the software platform to emulate.
|
|
|
|
\o In the \gui {The kind of device} field, select
|
|
\gui {Emulator (Qemu)}.
|
|
|
|
\o Click \gui Next.
|
|
|
|
\o Follow the instructions of the wizard to create and test the
|
|
connection.
|
|
|
|
\endlist
|
|
\endif
|
|
|
|
\o To specify build and run settings:
|
|
|
|
\list a
|
|
|
|
\o Open a project for an application you want to develop for your
|
|
Nokia N900.
|
|
|
|
\o Click \gui Projects to open the projects mode.
|
|
|
|
\o In the \gui{Build Settings} section, choose the MADDE Qt version
|
|
that was registered by the installation program.
|
|
|
|
\image qtcreator-screenshot-build-settings.png
|
|
|
|
\o In the \gui{Run Settings} section, click \gui Add to add a new
|
|
deploy configuration. The configuration is named automatically. To
|
|
give it a new name, click \gui Rename.
|
|
|
|
\o In the \gui {Device configuration} field, select the device
|
|
connection or the Maemo emulator connection.
|
|
\image qtcreator-screenshot-run-settings.png
|
|
|
|
\o Click \gui {<no target path set>} in \gui {Remote Directory}
|
|
to specify the folder where the file is installed on the device.
|
|
For example, \c {/opt/usr/bin}.
|
|
|
|
\endlist
|
|
|
|
\endlist
|
|
|
|
\if defined(qcmanual)
|
|
\section2 Testing with User Data
|
|
|
|
To run your application as the default user, you must first assign a password
|
|
for the user account and then create the connection to the device as the
|
|
user:
|
|
|
|
\list 1
|
|
|
|
\o On the device, in \gui Programs, select \c {X Terminal} to open a
|
|
terminal window.
|
|
|
|
\o To specify the password, enter the following command:
|
|
\c{/usr/lib/mad-developer/devrootsh passwd user}
|
|
|
|
\o In Qt Creator, Select \gui Tools > \gui Options... > \gui Maemo >
|
|
\gui{Maemo Device Configurations}.
|
|
|
|
\o Specify the username \c user and the password in the device configuration.
|
|
|
|
\endlist
|
|
|
|
\section2 Generating SSH Keys
|
|
|
|
If you do not have an SSH public and private key pair, you can generate it
|
|
in Qt Creator. You can specify key length and the key algorithm, RSA or DSA.
|
|
If you only use the keys to protect connections to the Maemo emulator or
|
|
device, you can use the default values.
|
|
|
|
\list 1
|
|
|
|
\o Select \gui {Tools > Options... > Maemo > Maemo Device Configurations
|
|
> Generate SSH Key...}.
|
|
|
|
\o Click \gui {Generate SSH Key}.
|
|
|
|
\image qtcreator-ssh-key-configuration.png "SSH Key Configuration dialog"
|
|
|
|
\o Click \gui {Save Public Key...} to select the location to save the
|
|
public key.
|
|
|
|
\o Click \gui {Save Private Key...} to specify the location to save the
|
|
private key.
|
|
|
|
\o Click \gui Close to close the dialog.
|
|
|
|
\endlist
|
|
|
|
\section2 Managing Device Processes
|
|
|
|
You can view processes running on the Maemo device and kill them.
|
|
Select \gui {Tools > Options... > Maemo > Maemo Device Configurations >
|
|
Remote Processes...}.
|
|
|
|
You can filter the processes by name in the \gui {List of Remote Processes}
|
|
dialog.
|
|
|
|
To update the process list, select \gui {Update List}.
|
|
|
|
To kill a process, select it in the list, and then select \gui {Kill
|
|
Selected Process}.
|
|
|
|
\endif
|
|
|
|
\section1 Troubleshooting
|
|
|
|
The addresses used in this example might be reserved by some other application
|
|
in your network. If you cannot establish a connection, try the following optional
|
|
configurations:
|
|
|
|
\table
|
|
|
|
\header
|
|
\o usb0 in Mad Developer on Device
|
|
\o USB Network on Development PC
|
|
\o Host Name in Qt Creator Build Settings
|
|
|
|
\row
|
|
\o 172.30.7.15 255.255.255.0
|
|
\o 172.30.7.14 255.255.255.0
|
|
\o 172.30.7.15
|
|
|
|
\row
|
|
\o 10.133.133.15
|
|
\o 10.133.133.14
|
|
\o 10.133.133.15
|
|
|
|
\row
|
|
\o 192.168.133.15
|
|
\o 192.168.133.14
|
|
\o 192.168.133.15
|
|
|
|
\note You cannot use the value localhost for connections to a device.
|
|
|
|
\endtable
|
|
|
|
\note VPN connections might block the device connection.
|
|
|
|
*/
|
|
|