Jun 07, 2016
11:54 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Jun 07, 2016
11:54 PM
Hello at all. In my application i am using a XMC4500. The IDE i am using is Eclipse CDT with the gnu arm plugin together with the segger j-link.
My application is very time critial (interrupt driven system). When running the debugger within eclipse without break points the runtime performace of my application is influenced as much as my appliction does not longer work
properly. Switching off the debugger, the applicaiton behaves normal.
How is the debugger principally working? For my understanding the CoreSight domain is a independant part of the core wich acts as a separte bus user.
Is the CPU halted periodically when using the debugger?
My application is very time critial (interrupt driven system). When running the debugger within eclipse without break points the runtime performace of my application is influenced as much as my appliction does not longer work
properly. Switching off the debugger, the applicaiton behaves normal.
How is the debugger principally working? For my understanding the CoreSight domain is a independant part of the core wich acts as a separte bus user.
Is the CPU halted periodically when using the debugger?
- Tags:
- IFX
3 Replies
Jun 08, 2016
02:31 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Jun 08, 2016
02:31 AM
Hi olnol,
it depends on how you debug. For instance if you have ITM_SendChar in your code there is a while loop in that function, that waits for the ITM-transmit-buffer to be empty.
Also there might be problems if you use conditional breakpoints...as far as I know the conditions aren't checked by the debug hardware but by your PC.
I only used the debugger included in DAVE (which is also segger j-link and DAVE is based on Eclipse) a few times and you can't really see anything until the cpu is halted...so how exactly do you debug your time-critical application without halting the cpu?
Regards,
Niclas
it depends on how you debug. For instance if you have ITM_SendChar in your code there is a while loop in that function, that waits for the ITM-transmit-buffer to be empty.
Also there might be problems if you use conditional breakpoints...as far as I know the conditions aren't checked by the debug hardware but by your PC.
I only used the debugger included in DAVE (which is also segger j-link and DAVE is based on Eclipse) a few times and you can't really see anything until the cpu is halted...so how exactly do you debug your time-critical application without halting the cpu?
Regards,
Niclas
Jun 08, 2016
05:24 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Jun 08, 2016
05:24 AM
Hi Niclas, there is no ITM_SendChar() in my code. As i mentionend above also no breakpoints are active. Just flashing the application using the debugger and pressing run causes a influence on the runtine performance.
With a power on reset, the debug communication is terminated and my application runs normal. It seems that just the connection between the debuger and the pc causes the problemes. Besides i am using the SWD interface.
With a power on reset, the debug communication is terminated and my application runs normal. It seems that just the connection between the debuger and the pc causes the problemes. Besides i am using the SWD interface.
Jun 14, 2016
12:03 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Jun 14, 2016
12:03 AM
Can anyone confirm this behaviour? For me it is still unclear.