PEmicro - P&E Microcomputer Systems: Over 30 years as an Industry leader in Embedded Systems Development Tools, debug probes, and production programmers
Cart New Account Login

HomeAbout usProductsSupportForumsBlogCustomer Service

by Zahar Raskin

As members of the Embedded Tools Alliance, PEmicro and SOMNIUM share a focus on producing tools of the highest quality that are proven to work together and do exactly what's required, so that the customer can concentrate on their development work. SOMNIUM DRT products are 100% industry compatible, with unique benefits for developers working with ARM® Cortex® devices from Microchip, STMicroelectronics and NXP, with support for others (including Nordic Semiconductor) coming soon. Developers using DRT can reach the market faster, with higher performance, greater energy efficiency and more profitable designs.

DRT's main features include:

  • Professional quality, industry standard compatible tools available on Windows, Linux and macOS
  • Industry standard "curated" Eclipse IDE with special features for embedded development
  • State-of-the-art RTOS aware embedded debug and trace (including fault diagnosis, MTB trace, live memory viewing with full C/C++ typecasting, SWO trace and integrated Percepio Tracealyzer)
  • Smallest, fastest and most energy efficient code, combined with industry standard GNU GCC compatibility
  • Quality validated with ISO26262 test suites (certified version also available)

DRT comes with PEmicro’s GDB Server fully integrated. This provides advanced debug capabilities via PEmicro’s Multilink, Cyclone, and embedded OpenSDA debug interfaces including: hardware breakpoints, watchpoints, real-time variables, semihosting, FreeRTOS awareness, the ability to attach to a running target, the ability to provide target power, remote debug, and more.

It's incredibly simple to create a project pre-configured for one of PEmicro’s debug interfaces: Multilink, Cyclone or embedded OpenSDA. When creating a new project, please select a GDB PEMicro Interface Debugging option from the Debug Adapter drop down menu:

Select a GDB PEMicro Interface Debugging Option
Figure 1: Select a GDB PEMicro Interface Debugging Option

The project wizard will default the PEmicro debug configuration to use of a USB Multilink Debug interface. While the default debug configuration will work for most USB Multilink hardware configurations, there are many launch settings the user may wish to modify, including:

  • Debug Probe Selection via USB or Ethernet (Cyclone, Multilink or OpenSDA interfaces)
  • Debug protocol options including SWD, JTAG, Daisy Chain, and Shift Speed
  • Automatically provide/switch power to the target MCU
  • Memory region preservation during programming
  • The application binary to be programmed and debugged
  • Any additional binaries to be programmed into the device (bootloaders, etc.)
  • Whether to reset/program a target MCU or to attach (hotsync) to a running device
  • Calibration of (trimming) internal clocks for accuracy during programming
  • Partitioning FlexMemory Regions (Flash/EEProm)
  • Semihosting options allowing running code to emit debug messages
  • Temporary breakpoints
  • MCU Device Selection
  • Initialization Scripts

When a debug session is not active, the debug configuration settings can be accessed by using the down arrow of the Debug button on the Eclipse button bar and then selecting the “Debug Configurations” option. All PEmicro launch configurations can be found in the “GDB PEmicro Interface Debugging” category of the Debug Configuration window which appears.

Debug Configuration Settings (Session Not Active)
Figure 2: Debug Configuration Settings (Session Not Active)

PEmicro launch configuration selection for one of the open projects within DRT grants the user access to different interface and session settings under Debugger and Startup tabs, within the Debug Configurations dialog.

 Debug Configurations: Debugger and Startup Tabs
Figure 3: Debug Configurations: Debugger and Startup Tabs (CLICK TO ENLARGE)

In addition to being able to modify an existing launch configuration, a new debug configuration can be created in the Debug Configurations window by double clicking the “GDB PEmicro Interface Debugging” title. This will create a “New_Configuration” which can subsequently be renamed and modified.

Different launch configurations can be created for different launch scenarios (e.g., one configuration to reprogram the target MCU, and another to attach/hotsync to a running device). The following items, at a minimum, need to be configured in a new configuration in order to launch a debug session:

  • The Debug Hardware Interface
  • The MCU Device Part Number
  • The Project and Application Binary to Launch
  • The Launcher to use (PEmicro GDB Launcher)

The user should begin by selecting the Debug Hardware Interface to be used. The PEmicro GDB server supports debug connections through PEmicro’s USB Multilink debug probes, Cyclone programmers via USB and Ethernet, and OpenSDA debug hardware that is embedded on many NXP development boards.

 Select the Debug Hardware Interface
Figure 4: Select the Debug Hardware Interface

PEmicro’s USB and local Ethernet devices are automatically detected. Remotely networked Ethernet debug interfaces may be specified via their IP addresses. Next, the user should select the specific MCU device to be debugged/programmed:

 Select the Specific MCU Device to be Debugged/Programmed
Figure 5: Select the Specific MCU Device to be Debugged/Programmed

Finally, prior to launching a debug session, the user should make sure that the appropriate project and C/C++ application binary to debug are properly specified in the Main tab:

 Specify Project and C/C++ Application Binary
Figure 6: Specify Project and C/C++ Application Binary (CLICK TO ENLARGE)
After specifying all of these options, a new debug configuration can be launched from within Debug Configurations by clicking the “Debug” button. DRT's enhanced Eclipse IDE includes a special "launch" button which provides easy-to-use management for multiple project and launch configurations. This allows them to be rebuilt (if necessary) and debugged with a single mouse click. For more information about PEmicro GDB launch configuration options, please refer to the GDB Server User Manual. Please ensure that the Debug type of the session as well as the corresponding PEmicro launch configuration are selected at the top of the page:
 Check Type of Session & Corresponding PEmicro Launch Configuration
Figure 7: Check Type of Session & Corresponding PEmicro Launch Configuration
PEmicro is continually adding support for new ARM devices and adding features to the PEmicro GDB Eclipse plug-in. The latest version can be found and installed from the Update Page on our website.

In order to install the latest PEmicro plug-in into DRT IDE, or another Eclipse IDE, the user should go to Help -> Install New Software and point the “Work with” dialog box to PEmicro’s update site. Make sure to expand the “PEmicro Software” category and select the appropriate GDB plugin.

  Install the Latest PEmicro Plug-In
Figure 8: Install the Latest PEmicro Plug-In (CLICK TO ENLARGE)
SOMNIUM’s DRT is a high-quality, enhanced Eclipse-based IDE combining industry standard GNU compatibility with patented code generation for smaller, faster, more energy efficient code. DRT generates programs typically 10-30% smaller than other GNU tools, and up to 15% smaller than IAR Embedded Workbench. DRT comes fully integrated with PEmicro’s GDB plugin. Both SOMNIUM and PEmicro spent substantial test and validation time to make sure that this overall solution represents a highly efficient and effective toolchain for code development and debug.

search in blog posts


Product pages
Cyclone (25)
Cyclone FX (27)
Multilink (12)
Multilink FX (7)
GDB Server (9)
Prog ACMP (3)
Interface Library Routines (4)

ARM (23)
NXP (34)
Atmel (2)
Cypress (1)
Maxim (1)
Nordic Semiconductor (1)
Silicon Labs (1)
STMicroelectronics (1)
Toshiba (1)
Renesas (5)

Production Programming (40)
Debug (15)
Automated Control (10)
Miscellaneous (33)

© 2018 P&E Microcomputer Systems Inc.
Website Terms of Use and Sales Agreement