Getting Started with Hardware System/Platform Bring Up Using Intel® System Studio 2018 for Windows* OS

Explore the Debug Components

Component

Description

Intel® System Debugger — System Debug

Enables JTAG-based debugging of Intel® architecture-based system software and embedded applications.

Intel® System Debugger — System Trace

Allows you to access the Intel® Trace Hub, providing advanced SoC-wide instruction and data events tracing.

Intel® Debug Extensions for WinDbg*

Extend WinDbg* with JTAG debugging capabilities and Intel ® Processor Trace support.

Intel® Debugger for Heterogeneous Compute

Remotely debugs parts of application code that get executed on an Intel® integrated GPU.

Debug a Simics* Simulation Target with the Intel® System Debugger — System Debug

This tutorial uses a Simics* simulation target to help you get familiar with the basic features of Intel® System Debugger — System Debug.

Step 1: Establish Target Connection

  1. Launch the Intel® System Studio IDE by clicking Intel(R) System Studio in your Start menu. Alternatively, run the script <install-dir>\iss_ide_eclipse-launcher.bat, where <install-dir> is the root directory of your Intel® System Studio installation.
  2. Click the New Connection... drop-down list in the main toolbar of the Intel® System Studio IDE.



     

  3. In the Wizards list, select JTAG Connection for System Debug & Trace and click Next >.



     

  4. Name the connection by typing in the Connection Name input field, then expand the Others entry in the Target Type list and select Simics Simulation Target (Demo Mode). Select Simics in the Connection Method list and click Finish.



     

  5. Press the green Connect button next to the target selection drop-down list.



     

  6. After the connection has been established, the Disconnect button becomes active, and the word (Connected) appears in title bar of the Intel System Studio IDE and the Debug Targets Connection tab.



     

Step 2: Start Debugging Session

  1. Launch the Intel® System Debugger by clicking the Launch Intel System Debugger (Debug) button in the Intel® System Studio IDE.

    Alternatively, click System Debugger (Debug) on your Start page.

  2. Click Yes in the New connection established dialog box.



     

  3. If you start the demo for the first time, a dialog box might display, asking for help on improvements. Make your selection and click OK.

Note

On Windows* OS systems, depending on your security settings, a Windows Security Alert dialog box might display, informing you about the Windows* OS firewall blocking some features of the demo application. Select your appropriate settings and click Allow access. Windows* OS saves this setting so that the dialog box will not display when you launch the application for further sessions.

During the demo application launch, several other, simulation related windows are displayed which belong to the shell starting the simulation process and to the simulated graphics and serial consoles. You can ignore these windows for this tutorial.

When the startup is complete, the Intel® System Debugger opens in default view. The debugger downloads the program code to the target (the simulation engine) and stops the execution of the demo application at its entry point.



The Source view and the Console view are visible, providing the actual active source code and a display of the ongoing activities of the debugger.

The Console view acts like a command line where you can enter Intel® System Debugger commands. It also displays any kind of informational, warning or error messages that provide further information about ongoing debugger activities.

Tip

Check the contents of the Console view whenever problems occur. Note that the console might not be visible by default.

The debugger is now ready to run the sample application as described in the following sections.

Step 3: Run Demo Application

Step 3.A: Set a line breakpoint

The easiest way to set a breakpoint is double-clicking one of the blue dots in the Source view. The blue dots indicate lines that contain executable code and therefore can be used to set breakpoints.

  1. Double-click the blue dot at line 179 in the Source view.

    The blue dot transforms into a breakpoint icon and a message is printed in the Console view, describing the breakpoint.

Step 3.B: Run the application

Click the Run button in the toolbar.

The program stops at the breakpoint and the program counter, iconized by a yellow arrow in the Source view, is set to line 179. The executed line is highlighted with a blue background color. The graphics console of the simulated target displays the string programmed with line 167 of the application:

To prepare the next step, double-click the breakpoint icon at line 179 to remove the breakpoint there.

Step 3.C: Evaluate variables of a specific function

  1. Set another breakpoint at the function screen_write_hex(unsigned int):
    1. Select Debug > Create Breakpoint...

      The Create Breakpoint dialog box is opened.

    2. Click Browse.

      The Symbol Browser is opened where you can select an expression to determine the breakpoint location.

    3. Select the function screen_write_hex(unsigned int) and click OK.

      The Symbol Browser is closed and the symbol appears in the Location: field of the Create Breakpoint dialog box.

    4. Click OK in the Create Breakpoint dialog box.

      The breakpoint is set.

  2. Click the Run button.

    The program runs and stops at the breakpoint.

  3. Select View > Locals.

    The Locals view is opened where you can observe the local variables of the function.

  4. Click the Step button several times.

    The debugger steps line by line through the function. You can observe how the values of the local variables change while the program is executed.

Step 3.D: Explore the debugger

To discover and explore more features of the Intel® System Debugger, check out the following:

  1. Click the Source Files button to open the Source Files view where you can find all the sources used to build up your application.
  2. Click the PCI button to open the PCI Tool dialog box and click the Scan button to fill the dialog with actual data.
  3. Click the GDT button to open the GDT view, which shows you the current Global Descriptor Table used by the processor. Right-click an entry and choose Modify…

    The Modify Descriptor dialog box is displayed, showing in detail the setup of the related GDT descriptor.

  4. Click the Assembler button to open the Assembler view where the current disassembled code is displayed.
  5. Click the Callstack button to open the Callstack view showing the list of function calls.
  6. Click the Memory button to open the Memory view.
  7. Click the Paging button to open the Paging view. Right-click and select Translate Address from the pop-up menu.

    The Address Translation dialog box is opened. Type start_kernel in the Address/Symbolname field and click OK to display the address calculation steps for the given symbol.

  8. Select View > System Registers > Processor Specific Registers to open the Processor Specific Registers window. Expand the 64-Bit entry by clicking the arrow. Double-click the RFL entry to open the Modify Register dialog.

    The values of the bits of this register together with their descriptions are displayed. You can edit the values by clicking on the related bit field. Use this feature with care, since this might have unpredictable results.

Find More

Resource

Description

Code Samples and Tutorials

The sample code and tutorials available for download guide a new user through basic product features. Sample code illustrates common code inefficiencies and the corresponding tutorials show how the performance analysis products can be used to solve issues.

Intel® System Debugger — System Debug documentation

The following documentation about the Intel® System Debugger — System Debug may be helpful:

Intel® System Debugger — System Trace documentation

The following documentation about the Intel® System Debugger — System Trace may be helpful:

Intel® Debug Extensions for WinDbg* documentation

The following documentation about the Intel® Debug Extensions for WinDbg* may be helpful:

Intel® Debugger for Heterogeneous Compute documentation

The following documentation about the Intel® Debugger for Heterogeneous Compute may be helpful:

Additional Documentation

Use the online documentation for the latest content.

A downloadable ZIP file containing all Intel® System Studio documentation is available for offline use from https://software.intel.com/en-us/articles/download-documentation-intel-system-studio-current-previous.

Intel® System Studio product page

Visit this page for support and the latest online documentation.

Legal Information

Intel, Intel Atom, Intel Core and the Intel logo are trademarks of Intel Corporation in the U.S. and/or other countries.

*Other names and brands may be claimed as the property of others.

© Intel Corporation

For more complete information about compiler optimizations, see our Optimization Notice.