*
*Home|Chinese|Japanese*About ARM|Forums|Events|News|Employment|Contact Us|Investors*
dotted rule
*ARM - the architecture for the digital worldARM - the architecture for the digital world
search
*
*
***
*MARKETS:PRODUCTS & SOLUTIONS:CONNECTED COMMUNITY:TECHNICAL SUPPORT:DOCUMENTATION*
*
technical support
*
*
****
*.Technical Support
*
*
*>>Home Page*
*
*.Obtaining Support*
*
*.FAQs*
*
**Development Tool FAQs*
**IP FAQs*
**Embedded Software FAQs*
**Artisan Physical IP FAQs (Login Required)*
*
*.Downloads*
*
*.Documentation*
*
*.Training*
*
*.Where To Buy*
*
*.Keil MCU Tools*
*
*.What's New*
*
*.ARM Newsgroups*
*
*.Active Assist On-site Services*
*
*
*
technical support FAQsask ARM*
*

Technical Support Search
*     (Advanced Search)
  FAQs   Documentation   Downloads   Forums

*

 
downarrow'Unknown watchpoint' and 'Unknown breakpoint' errors
Applies to: ADW/ADU/armsd, Software Development Toolkit (SDT)

Description
When the user sets a breakpoint, the Debugger will normally use the image's debug information to decide whether to set an ARM or a Thumb breakpoint.

The main difference between an ARM software breakpoint and a Thumb software breakpoint is the bit pattern that is written out to memory. For ARM breakpoints, the bit pattern 0xDEEEDEEE is written using a word write. For Thumb breakpoints, the bit pattern 0xDEEE is written using two byte writes. The target hardware MUST provide word, half-word and byte write access for this to work, i.e. the memory controller must decode the MAS signal.

However if no debug information is available (e.g when debugging a ROM image) then the Debugger does not know which to set and defaults to an ARM breakpoint. When program execution reaches the ARM breakpoint in Thumb state, the break is taken correctly. However, if you then 'go', the second half of the ARM breakpoint in memory is then reached, which the debugger will not recognise as a valid breakpoint, and so reports 'Unknown watchpoint' or 'Unknown breakpoint' error.

Solution
In the above cases, the workaround is to use the command 'break/16 @address' (or 'br/32') to explicitly set a Thumb (or ARM) breakpoint as required.

New for ADW 2.50 - Breakpoints can be configured with 'Execute->Set or Edit Breakpoint' to be 16-bit, 32-bit, or 'automatic' (decided from debug info).






back to top

*
**
*4 dots*Other ARM Websites
*
shadow *LEGAL STATEMENTshadow