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.
 | 
						|
 | 
						|
*/
 | 
						|
 |