The Debug dialog configures the way ULINKplus
connects to the target hardware. When Pack support is enabled some device
options or settings are controlled by the Software Pack and therefore
grey or not available. As highlighted on the figure below there are 5
configurations groups in the dialog:
ULINKplus - JTAG/SW Adapter shows information
about the debug unit.
- Serial No:
- Select the serial number of the ULINKplus
adapter to use. This is useful when multiple adapters are connected
to the PC. Any selects the first adapter in the list.
- Firmware Version
- Displays the firmware software revision of the
- Enable to generate sequences that switch between
JTAG and Serial Wire (SW) mode. Disable this option for devices
with only a SW or only a JTAG interface.
- Selects the debug port type to use: JTAG or
SW (Serial Wire).
- Max Clock
- Sets the maximum clock rate.
SW Device/JTAG Device Chain shows status
information about the connection to the target devices.
- Automatic Detection
- ULINKplus detects the connected devices and
displays the IDCODE and known device names.
- Manual Configuration
- Specify the parameters of each device in a JTAG
device chain when chaining multiple targets.
Specify the identifier of the Access Port in multi-core devices
with a single Debug Port (DP). The Access Port specification
depends on the Arm Debug Interface (ADI) supported in the device.
- For APv1 (ADIv5):
- The AP value range is 0 to 255.
- For single core devices, set AP to 0 (default).
For a multi-core device, core 0 is expected to have
AP=0 and core 1 AP=1. However, the port identifiers are
specified by the device manufacturer.
- For APv2 (ADIv6):
Only SWD connection to ADIv6 target systems is
The AP value range is 0x00000000 to 0xFFFFFFFF. The
value needs to be set by a user for a target sub-system
based on the information provided by the device vendor in
If AP value is set to 0xFFFFFFFF then µVision debugger
will automatically connect to the AP of the first
Debugger automatically requests power using Granular
Power Requester (GPR) from Class 0x9 ROM Tables.
Only top-level APs are supported, not "nested APs" (AP
exposing its registers via target memory accesses of a
Connect & Reset Options controls device
connection and reset behavior.
Control operations that execute at debugger start:
- Normal stop the CPU after connect.
with Pre-reset apply a hardware reset before
under Reset holds the hardware reset signal active
during connect. Use this option when the user program disables
the JTAG/SW interface by mistake.
without Stop connect without stopping the CPU.
Useful to hot-plug to a running target.
- Reset after Connect
- When enabled, a reset is issued after the connect
operation. Refer to Start
Sequence for details.
- Log Debug Accesses
- When enabled, create a log file
(ULINKplus_DebugLog_nnnn.log) in the project folder to analyze
debugger communication issues. Disable this option for normal
Control how the debugger performs a Reset Sequence to the device.
The available options vary when Pack support is enabled.
HW RESET assert hardware reset (nReset) signal on
the JTAG/SWD connector.
SYSRESETREQ set the SYSRESETREQ bit to perform a
software reset (Cortex-M core and on-chip peripherals are
VECTRESET performs a CPU reset (on-chip peripherals
are not reset). VECTRESET is not supported on Cortex-M0,
Cortex-M0+, Cortex-M1, and Armv8-M cores.
Custom select a custom reset method (available when
defined in the Software Pack and Pack support is enabled).
Autodetect selects the best suitable reset method
for a known device. For unknown devices SYSRESETREQ is used.
(Not available when Pack support is enabled.)
- Stop after Reset
- Stop the CPU when executing the reset vector (this
option enables the Cortex-M Reset Vector Catch).
Cache Options improve the debugger performance
during debugging by caching target memory areas into the PC memory.
Enable caching options to get maximum performance.
- Cache Code
- The debugger assumes that downloaded program code
will never change. When enabled, the debugger never reads the
program code from the target. Disable this option when the
application includes self-modifying code or the program code might
- Cache Memory
- Determines whether memory displays are updated
during a program stop. When enabled, the debugger does not update
memory displays until the next program execution. Disable this
option to display the actual memory content (for example, the
content of memory mapped peripherals) when the debugger is
Download Options control the program code
updates at debugger start.
- Verify Code Download
- Compare the content of the target memory with the
application program loaded in the debugger. Enable this option to
prevent debugging of wrong code, for example when working with
various project targets.
- Download to Flash
- By default, this option is disabled to avoid
multiple code downloads to Flash memory defined under Flash Download. When
enabled, download code to all memory regions including Flash
memory. For more information, refer to the knowledgebase article
µVision Debugger: Error 57: Illegal Address in Debugger