GDB is a freely downloadable software debugger that, when paired with debug hardware, provides debug capabilities including flash programming, execution control, breakpoints, watchpoints, stepping, and value inspection. P&E's GDB Server is the piece which links the GDB debugger to the P&E hardware, allowing debug and programming via USB, Serial, and Ethernet buses. PEmicro's GDB Server is available to download at no cost. PEmicro's GDB Server supports Multilink, Cyclone and OpenSDA debug hardware interfaces. The server is available as an Eclipse plugin so the user can easily install and configure it. NXP's Kinetis Design Studio, MCUExpresso IDE, and S32 Design Studio already have the plugin seamlessly built into their products. PEmicro's GDB Server supports run control and FLASH programming of many ARM devices. Click for a complete list of ARM devices that are supported.
The latest version of the software contains the following features:
- FreeRTOS. The GDB server will automatically detect the presence, type, and configuration of an OS by the querying the application's symbol table for identifying characteristics. Using these discovered symbols, the debugger can traverse the kernel's internal data structures to enumerate the available threads and their corresponding execution context. This information is then used to dynamically populate the Eclipse views as the user navigates between the threads.
- Real Time Variables. Real Time Expressions dialog allows users to see updated variable values as the target is running.
- Multi-Core project debugging. This powerful feature allows user to debug multiple device cores concurrently. While the main device core is used to load multiple .elf files for all device cores, the user can run an attach debug session on secondary cores in order to instantiate multi-core debug experience. For more information about Multi-Core debug functionality please refer to chapter 6 within GDB Server User's Guide.
- Parallel debugging of multiple ARM devices. PEmicro's plugin allows user to debug multiple ARM devices in parallel, as long as they are connected to different PEmicro hardware interfaces.
- Preserve memory ranges across an erase. Users can prevent parts of memory from being erased during the programming process.
- Trim Kinetis devices during programming. We choose a default center frequency which can be changed in the plug-ins dialogs. This allows the internal reference frequency to be accurate on your hardware.
- EEPROM partitioning capability during flash programming. Allows users, on certain devices, to set aside some flash memory for use as a pseudo-eeprom.
- SWD and JTAG : Both communications protocols are supported.
- JTAG daisy chain support. Allows users to communicate with multiple JTAG devices on the same bus.
- Attach to a running part during debug session. Launches the client in a way that does not disturb the state of the target device.
- Semihosting : Simple way for target to send debug messages to the PC. To Eclipse or a Telnet client.
- Power Control : Many of PEmicro's debug interfaces can provide power to the target.
PEmicro's GDB Server for ARM devices is available as an Eclipse plugin that can easily be installed within Eclipse IDE under Windows, Linux, and macOS operating systems. For user's of Eclipse based development IDEs such as KDS (Kinetis Design Studio), S32 Design Studio for ARM, LPCExpresso, SOMNIUM DRT, etc. The latest P&E GDB Server plugin can be installed by Eclipse automatically (Help->Install New Software...) via the following update site: http://www.pemicro.com/eclipse/updates.