## Symbian OS Sophia Target Interface Support

Launch configurations define a collection of settings used to tell the debugger how to start a debug session. The launch configuration panes for creating a Sophia (STI) stop mode debug launch configuration are described below. Figure 1 is an example of the STI Debug launch configuration window and the related panes accessible in a tabbed format.

#### To open the Debug window

- Select the Run > Debug... menu item

The Debug window (Figure 1) appears.

The panes include:

- The Main tab (Figure 1) defines the project to be launched. Enter the name of the project in the Project field, and the executable name in the Executable field.
- The Connection tab (Figure 2) defines the Sophia Target Interface, EJ_Debug type, and JTAG TCLK Frequency.
- The Debugger tab (Figure3) defines debug configurations, such as entry point to begin debugging, target options, and instruction set.
- The ROM Image tab (Figure 4) allows you to define startup options and ROM image and ROM log file download information.
- The Executables tab (Figure 5) allows you to specify which executables that you want to debug that are part of the project.
- The Source tab (Figure 6) (standard CDT page) defines the location of source files used to display source when debugging an application. By default, these settings are derived from the associated project's build path. You may override these settings here.
- The Common tab (Figure 7) (standard CDT page) defines general information about the launch configuration. You may choose to store the launch configuration in a specific file.

## Main

Figure 1 - Sophia (STI) Launch Configuration Settings - Main Tab

##### Table 1. Debug Launch configuration window—Main tab items

Item | Explanation
--- | ---
Project | The project to associate with this debug launch configuration. Click Browse to select a different project.
Executable | This is the name of the executable that is linked to the project. Click Browse to select a different executable.

## Connection

Figure 2 - Sophia Launch Configuration Settings - Connection Tab

##### Table 2. Launch configuration window—Connection tab items

Item | Explanation
--- | ---
Sophia Target Interface Location | Enter or browse to the Sophia interface (WTI.dll) to be launched for debugging. By default, it will be set to C:\CarbideIF_ARM\WTI.dll. If default file does not exist then an error message will appear.
EJ_Debug Type | Sophia Systems' EJ-Debug is a compact, USB-powered JTAG emulator. Select the EJ_Debug type. Options include: Auto (automatically detects target CPU) ARM9 (target CPU) ARM11 (target CPU) ARM9_11 (target CPU) ARM7_9_11 (target CPU)
JTAG TCLK Frequency | Select the JTAG TCLK frequency. Options include: Auto 33 MHz 16 MHz 8 MHz 500 KHz
View Messages between Carbide and STI | The View Messages between Carbide and STI check box allows you to specify if the debug protocol messages between Carbide and STI should be logged in a Communication Log console window.

## Debugger

Figure 3 - Sophia Launch Configuration Settings - Debugger Tab

##### Table 3. Launch configuration window—Debugger tab items

Item | Explanation
--- | ---
Break at entry point | Select the check box and specify an entry point in the text box if you want the debugger to break at an entry point in the program being debugged. The default is set to E32Main since most applications entry point is E32Main. But you can specify a function name in the program being debugged.
Soft attach | Select to attach to a target without restarting the target device. This is very handy when the device uses flash, memory cards, or other external media for booting purposes and when it's not possible to configure the device to restart by the debugger. With soft attach, the debugger doesn't change the state of the target device. The debugger halts the target after attaching to the target to show the current PC location. User can preform normal debugging operations from then onwards.
Debug from start address | Select this option to stop the target at the start address once the target initialization is done and the OS is downloaded; if you have chosen to download the OS.
Run from start address | Select this option to run the target from the start address once the target initialization is done.
Start Address (hex) | Specify the memory address that the Carbide debugger will use to set the program counter to start the target. This is typically the start address of the Symbian OS.
Reset target at the start of each debug session | Select this check box to reset the target at the start of each debug session. For Trace32, the reset is typically done as part of the CMM script file. Consult board specifications to determine if resetting is necessary.
Target Processor | Select a target processor from the drop down list of all supported processors. By default the field is set to Generic. When you select a processor, Carbide determines whether the debugger provides ARMV5 or ARMV6 support.
Target Initialization File | Select the check box and enter or browse to the target initialization file. Typically, this initialization file is used to initialize the target after connecting. When using Trace32, the initialization is done in the CMM script file.
Memory Configuration File | Select the check box and enter or browse to the memory configuration file. The Carbide debugger uses this configuration file to determine which memory is accessible, readable, and writable on the target.
Default Instruction set | The following options are available: Auto (examine code at current PC location) Arm (32 bit) Thumb (16 bit) Arm is the default. It is used by the debugger to determine the processor mode when it cannot be determined otherwise. This can happen at addresses for which there is no symbolic information. The debugger uses the mode when setting breakpoints and disassembling code.

## ROM Image

Figure 4 - Sophia Launch Configuration Settings - ROM Image Tab

##### Table 4. Launch configuration window—ROM Image tab items

Item | Explanation
--- | ---
Parse Rom Log File | Check this option to parse the ROM log file.
Symbian Rom Log File | Enter or browse to the Rom log file that is generated when the Symbian OS image is built. This is necessary for debugging any Symbian OS module.
Symbian Epoc32 Directory | Enter or browse to the epoc32 directory for the Symbian OS kit that is being targeted for debugging. This is necessary for the debugger to resolve the full paths for each module in the log file since the log file does not contain the full paths.
Log unresolved modules | Check this option to log unresolved modules. If the actual binary in the log file doesn’t exist on the PC, then a warning message will be logged in a Rom Log console window.
Debug non-XIP executables | Check this option to target non-XIP executables. This allows the debugger to target a non-XIP module whenever it’s loaded.
Download Rom Image | Check this box to enable downloading.
Symbian Rom Image | Enter or browse to the Symbian OS image (.img file) that will be downloaded onto the target at the specified download address.
Download Address (hex) | Specify the address where the image is to be downloaded. This address is target-specific. The address should be in hexadecimal format with the 0x prefix.
Same as start address | Check this option to make the download address the same as the start address.
Ask for download at the start of each debug session | Select this option to prompt you to download the image at the start of the debug session.

## Executables

Figure 5 - Sophia Launch Configuration Settings - Executables Tab

##### Table 5. Executable pane —items

Item | Explanation
--- | ---
Load symbols for these executables and target them for debugging | Select the rule which govern the executable support used by this project for debugging purposes. The options include: Executables in the workspace from this SDK — shows all executables in the workspace built using the specified SDK. This is the default setting. Executables built by this project — shows only the executables built by this project using the specified SDK Executables selected below — shows only the executables chosen by the user. Initial list display uses the All Executables listing. All executables (slows launch) — shows all the executables in the workspace regardless of which SDK created them. Selecting this option will slow down Carbide launches as the list is populated.
Executables list | Shows all the executables associated with this project.
Add... | Opens the Select an executable file dialog which can locate and select executable files and add them to the project's executables list.
Select All | Enables all the executables in the list for debugging.
Unselect All | Disables all the executables in the list from debugging.

## Source

Figure 6 - Sophia Launch Configuration Settings - Source Tab

##### Table 6. Launch configuration window—Source tab items

Item | Explanation
--- | ---
Source Lookup Path | Allows you to add locations to search for source files. You can arrange the list by selecting the type of source path and clicking Up and Down buttons. Select a type of source and click Remove button to delete the item from the list.
Search for duplicate source files on the path | Enable this option to search for duplicate source files on source paths listed.

## Common

Figure 7 - Sophia Launch Configuration Settings - Common Tab

##### Table 7. Launch configuration window—Common tab items

Item | Explanation
--- | ---
Save As | Allows you to save the launch configuration as a file local to the project or as shared file. For a shared file you can enter or browse to a folder within an existing project directory.
Display in favorites menu | Select menu for launch configuration to appear.
Console Encoding | Select the character set to use to display information in the console window.
Standard Input and Output | Allocate input and output to console and/or specified file. If a file is selected, you can select Append option to append data to selected file.
Launch in background | Enable this option to launch debug operation in a background process.

##### Related concepts

- Launch Configurations
- About the Debugger

##### Related tasks

- Creating a Launch Configuration

##### Related references

- Symbian OS Trace32 Support
- Debug Perspective
- Debug View