*
*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

*

 
downarrowWhy does the 'Synchronised' trace view only allow me to synchronise trace output with the disassembly window and not the source window?
Applies to: ARM Developer Suite (ADS), AXD Trace, Trace Debug Tools (TDT)

The nature of synchronisation is determined by the area of code most recently in focus. To illustrate this, consider the 'dhrystone' project supplied with ADS as an example. This executes in three stages:

  1. Library & initialization code that branches to main
  2. Main 'C' code that is built with debug information
  3. Program termination - control passed to debugger via a semihosting SWI]

Note that sections 1 & 3 have no debug information associated with them, thus it is NOT possible to perform source code debug on these sections.

If you perform a simple trace capture on this program and allow dhrystone to terminate you will notice that synchronisation of the trace window is ALWAYS with the 'Disassembly' window, even when you are scrolling through the trace capture from the main 'C' code (section 2). This is because the debugger's most recent point of focus in the image was at the point of program termination (where no debug information was available).

There are two ways to force the source synchronisation view:

  1. Place a breakpoint on the last 'C' source statement (in this case the closing '}' of the 'main()' function) the debugger will then halt with focus still on a point in the image where debug information is available. You will see that synchronisation will be tied to the source code window rather than the disassembly window.
  2. Alternatively, if you are writing your own application initialisation and termination code you can choose to build this with debug information enabled to achieve the same functionality.





back to top

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