[Previous] [Contents] [Index] [Next]

Caution: This version of this document is no longer maintained. For the latest documentation, see http://www.qnx.com/developers/docs.

Preparing Your Target

You can select a topic from this diagram:

Utilities Used by the IDE Getting System Information Using Code Coverage Common Wizards Reference Preparing Your Target Developing Photon Applications Developing C/C++ Programs Where Files Are Stored Building OS and Flash Images Migrating to the 6.3 Release Tutorials IDE Concepts About This Guide Analyzing Your System With Kernel Tracing Profiling an Application Finding Memory Errors Debugging Programs Managing Source Code Launch Configurations Reference

Workflow with targets chapter highlighted


This chapter explains how to set up host-target communications.


In this chapter...

Host-target communications

Regardless of whether you're connecting to a remote or a local target, you have to prepare your target machine so that the IDE can interact with the QNX Neutrino image running on the target.

The IDE supports host-target communications using either an IP or a serial connection. We recommend both. If you have only a serial link you'll be able to debug a program, but you'll need an IP link in order to use any of the advanced diagnostic tools in the IDE.

Target systems need to run the target agent (qconn). See Target agent in the IDE Concepts chapter for more information.

IP communications

Before you can configure your target for IP communications, you must connect the target and host machines to the same network. You must already have TCP/IP networking functioning between the host and target systems.

To configure your target for IP communications, you must launch qconn on the target, either from a command-line shell or its boot script.


Note: The version of QNX Momentics on your host must be the same or newer than the version of QNX Neutrino on your target, or unexpected behavior may occur. Newer features won't be supported by an older target.

When you set up a launch configuration, select C/C++ QNX QConn (IP). (See the Launch Configurations Reference chapter in this guide for more information.)


Note: pdebug must be present on the target system in /usr/bin for all debugging sessions. qconn will launch it as needed. devc-pty must also be running on the target to support the Debug perspective's Terminal view.

Serial communications

Before you can configure your target for serial communications, you must establish a working serial connection between your host and target machines.


Note: On Linux, disable and stop mgetty before configuring your target for serial communications.

To configure your target for serial communications:

  1. If it's not already running, start the serial device driver that's appropriate for your target. Intel x86-based machines usually use the devc-ser8250 driver.
  2. Once the serial driver is running, you'll see a serial device listed in the /dev directory. To confirm it's running, enter:
    ls /dev/ser*

    You'll see an entry such as /dev/ser1 or /dev/ser2.

  3. Start the pseudo-terminal communications manager (devc-pty):
    devc-pty &
  4. Start the debug agent by entering this command (assuming you're using the first serial port on your target):
    pdebug /dev/ser1 &

    The target is now fully configured.

  5. Determine the serial port parameters by entering this command (again assuming the first serial port):
    stty  </dev/ser1

    This command gives a lot of output. Look for the baud=baudrate entry; you'll need this information to properly configure the host side of the connection.

When you set up a launch configuration, select C/C++ QNX PDebug (Serial). (See the Launch Configurations Reference chapter in this guide for more information.)

Example: Debugging via PPP

This example shows you how to prepare your target and host for debugging using a PPP connection.

Before you begin, make sure the serial ports on both the host and target systems are configured properly and can talk to each other through a null-modem serial cable.

Setting up your target

To configure your target for PPP:

  1. Create a /etc/ppp/options file containing the following:
    debug
    57600
    /dev/ser1
    10.0.0.1:10.0.0.0

    Note: You may need to try a different baud rate if you have any problems at 57600.

  2. If it's not already running, start io-net with this command:
    io-net -ptcpip -ppppmgr
  3. Now start the PPP daemon:
    pppd
  4. Finally, start the qconn target agent:
    qconn

QNX Neutrino host

To configure your QNX Neutrino host for PPP:

  1. Create a /etc/ppp/options file containing the following:
    debug
    57600
    /dev/ser1
    10.0.0.1:10.0.0.0

    Note: You may need to try a different baud rate if you have any problems at 57600.

  2. If it's not already running, start io-net with this command:
    io-net -ptcpip -ppppmgr
  3. Start the PPP daemon with the passive option:
    pppd passive

Windows host

To configure your Windows XP host for serial communication using PPP:


Note: The names of menu items and other details differ slightly on other supported versions of Windows.

  1. In the Control Panel window, select Network Connections.
  2. In the New Connection Wizard dialog, click Set up an advanced connection, then click Next:

    Network Connection Wizard

  3. Select Connect directly to another computer, then click Next.
  4. When prompted for the role of your target, choose Guest:

    Network Connection Wizard

  5. Name your connection (e.g. "ppp_biscayne").
  6. When prompted to select a device, choose Communications Port (COM1), then click Next.
  7. When prompted to specify whether you want this connection to be for your use only, or for anyone's, select Anyone's use.
  8. If you want Windows to create a desktop shortcut, click the option on the last page of the wizard. If not, simply click Finish.
  9. In the Connect name_of_target dialog, enter your user ID and password, the select Properties.
  10. Select the Options tab.
  11. Turn off the option Prompt for name and password, certificate, etc., then click OK.

Connecting with Phindows

The IDE lets you connect to a Photon session on a target from a Windows host machine and interact with the remote Photon system as if you were sitting in front of the target machine.

To prepare your target for a Phindows connection:

  1. Open a terminal window and log in as root.
  2. Edit the /etc/inetd.conf file and add the following line (or uncomment it if it's already there):
    phrelay stream tcp nowait root /usr/bin/phrelay phrelay -x
  3. Save the file and exit the editor.
  4. If it's running, kill the inetd daemon:
    slay inetd
  5. Now restart inetd:
    inetd

    The inetd daemon starts and you can connect to your target using Phindows.

For details on using Phindows, see the Phindows Connectivity User's Guide in your QNX Momentics documentation set.


[Previous] [Contents] [Index] [Next]