Technical Support

µVISION DEBUGGER: BREAKPOINT PROBLEMS WITH INFINEON XC800 DEVICES


Information in this knowledgebase article applies to:

  • ULINK USB-JTAG Adapter
  • ULINK2 USB-JTAG Adapter
  • Infineon JTAG Debug Access Server (DAS)

QUESTION

I debug my application with ULINK, ULINK2 or the Infineon DAS interface. Since I am using multiple data pointers in my own assembly functions, the debugger does not stop at the breakpoints that I have set. Are there debug restrictions when using the multiple data pointers?

My code looks like:

   MOV  EO,#0x00    // select DPTR 0
   :
   MOV  EO,#0x01    // select DPTR 1

ANSWER

There are no debug restrictions when using multiple data pointers but you must avoid modifying configuration bits which are not used for switching the data pointers. Your example writes a new value (0) to all bits of the Extended Operation register EO. This also overwrites the TRAP_EN bit (EO.4). Writing any value to this bit, even the same 0 value, disables debugging. Please use the following instructions to modify the DPSEL0 bit (EO.0):

   ANL  EO,#0xFE    // select DPTR 0
   :
   ORL  EO,#0x01    // select DPTR 1

Using the multiple data pointers in your C code does not lead to such debug problems. The C51 libraries use the above code to switch data pointers.

MORE INFORMATION

  • Infineon User's Manual, Extended Operation Register (EO)

Last Reviewed: Wednesday, October 29, 2008


Did this article provide the answer you needed?
 
Yes
No
Not Sure