|ARM Technical Support Knowledge Articles|
Applies to: uVision Debugger
Information in this knowledgebase article applies to:
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
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.
Request the files attached to this knowledgebase article.
Article last edited on: 2008-10-29 10:40:59
Did you find this article helpful? Yes No
How can we improve this article?