The following content has been imported from Legacy Help systems and is in the process of being checked for accuracy.
Parent process: WorkspaceManager:ProjectSpecificProcess
Applied parameters: Server=EditEmbedded|Command=StartDebug|ProjectKind=EmbeddedProject|StartServer=True|Simulate=False|ProcessorIndex=N
Summary
This command is used to initiate a debug session, with respect to the currently focused embedded project.
First, ensure that the FPGA design has been downloaded to the physical FPGA device and that the embedded software is running on the target MCU.
Also ensure that the embedded project whose source code you wish to debug is focused in the
Projects panel. Focus is given simply by clicking once on the project's entry.
After launching the command, the embedded project for the software running in the indicated processor will initially be recompiled and the debug session will commence. The relevant source code document (either Assembly or C) will be opened and the current execution point will be set to the first line of executable code.
The debug environment offers the full suite of tools you would expect to see in order to efficiently debug the embedded code. These features include:
Setting Breakpoints
Adding Watches
Stepping into and over at both the source (*.C) and instruction (*.asm) level
Reset, Run and Halt code execution
Run to cursor
All of these and other feature commands can be accessed from the
Debug menu or the associated
Debug toolbar.
Notes
You can have multiple debug sessions running simultaneously - one per embedded software project associated with a microcontroller in the FPGA design.
Various workspace panels are accessible in the debug environment, allowing you to view/control code-specific features, such as Breakpoints, Watches and Local variables, as well as information specific to the microcontroller in which the code is running, such as memory spaces and registers.
These panels can be accessed from the
View>> Workspace Panels>> Embedded sub menu, or by clicking on the
Embedded button at the bottom of the application window and choosing the required panel from the subsequent pop-up menu.
Full-feature debugging is of course enjoyed at the source code level - from within the source code file itself. To a lesser extent, debugging can also be carried out from a dedicated
Generic Processor Controller dialog. To access this dialog, simply double-click on the icon representing the microcontroller to be debugged, in the
Soft Devices region of the
Devices view. The Soft Devices Instrument Rack will appear.
Each core microcontroller that you have included in the design will appear, when double-clicked, as an Instrument in the rack (along with any other Nexus-enabled devices). The
Nexus Debugger button provides access to the
Generic Processor Controller dialog, which in turn allows you to interrogate and to a lighter extent control, debugging of the processor and its embedded code, notably with respect to the microcontroller registers and memory.
One key feature of the
Generic Processor Controller dialog is that it enables you to specify (and therefore change) the embedded code (HEX file) that is downloaded to the microcontroller, quickly and efficiently.