Keil Logo

C166: Do Peripherals Stop with ULINK2 Debugging?

Information in this article applies to:

  • PK166 Version 5.05 or higher


I am using the Keil ULINK2 USB-JTAG/OCDS Adapter for debugging of an Infineon XC16x devices. In my program I have several peripherals running. Do this peripherals (such as timer or A/D converter) stop when I reach a breakpoint?


By default the peripherals do not stop when you reach a breakpoint. However the Infineon XC16x devices provide a OCDS Debug Peripheral Suspend Configuration OPSEN register. The OPSEN register is a protected register that must be either initialized before the EINIT instruction or by using a Security Level Command Register.

The START_V2.A66 CPU startup code version 5.06 or higher provides at setup for the OPSEN register.


  • Registers which belong to a suspended peripheral cannot be written when the CPU is stopped. So it is not possible to modify such a register in the peripheral dialog or command line of the µVision debugger.
  • Peripherals and Peripheral registers do not change when single stepping through the application. When single stepping, you will not notice any modifications on peripherals that stop during debugging. For example, it is impossible to step over initialization code for peripherals.
  • Peripherals do not stop when you use the Debug - Stop Running command from the debugger.


  • Refer to Overview in the OCDS User's Guide.



Request the files attached to this knowledgebase article.

Last Reviewed: Thursday, February 25, 2021

Did this article provide the answer you needed?
Not Sure
  Arm logo
Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

Change Settings

Privacy Policy Update

Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.