Home > On-Demand Archives > Theatre Talks >

Advanced Debugging and Performance Analysis Techniques for Embedded Applications

Axel Wolf - SEGGER Microcontroller - Watch Now - EOC 2023 - Duration: 51:16

Advanced Debugging and Performance Analysis Techniques for Embedded Applications
Axel Wolf
Packed with live demos, this session introduces you to advanced debugging and performance analysis techniques for your embedded system. See how Streaming Instruction Tracing lets you capture what your embedded system really executes, in a non-intrusive way. Learn about measuring the execution time and frequency of functions, blocks, and instructions using Code Profiling, making it easier to discover optimization potential. Discover how Code Coverage lets you measure the execution of code, detect unreachable code, and code not covered by tests, allowing for fast, efficient code improvement. Find out how you can do real-time recording and visualization of your embedded application, revealing its true runtime behavior. Going far deeper than the system insights provided by debuggers, this is especially useful when developing and working with complex embedded systems comprising of multiple threads and interrupts. Once you know about these advanced techniques and the tools behind them, you’ll never want to go back to basic debugging!
M↓ MARKDOWN HELP
italicssurround text with
*asterisks*
boldsurround text with
**two asterisks**
hyperlink
[hyperlink](https://example.com)
or just a bare URL
code
surround text with
`backticks`
strikethroughsurround text with
~~two tilde characters~~
quote
prefix with
>

Steve_Wheeler
Score: 0 | 2 years ago | 1 reply

Very nice tools. I enjoyed the presentation.

axel.wolf@segger.comSpeaker
Score: 0 | 2 years ago | no reply

Thanks! Learn more at www.segger.com.

Nathan3
Score: 0 | 2 years ago | 1 reply

Thanks for the demo. I have a couple of questions for you. What is the license of SystemView ? I know it used to be free and the website currently shows a 1.5 k€ price. Is it free for J-Link probe users ?
Power consumption in Ozone: is it only available with J-Trace ? Or also with J-Link ?

axel.wolf@segger.comSpeaker
Score: 0 | 2 years ago | 1 reply

Hello Nathan,
Thanks for reaching out!
SystemView v2.xx is free, and you can still download those versions from the SEGGER web site.
https://www.segger.com/downloads/systemview/
V3.xx of SystemView requires a commercial license, even if you own a J-Link.
Power Profiling is available on our high-end probes: J-Link PRO, J-Link ULTRA+, and J-Trace PRO.
Also see here:
https://www.segger.com/products/debug-probes/j-link/technology/power-profiling/

Nathan3
Score: 0 | 2 years ago | 1 reply

Thanks for the response. The Segger website is not very clear regarding the V2 / V3 different licensing scheme. I see it more clear now.
Overall, trace capabilities seem really great.
There is one point that I find a bit disappointing though in the Segger tools is the RTT capability. I can easily send data to several RTT channels from my firmware, but the RTT Viewer only seem to allow to displaying channel 0. I managed to get channel 1 sent to a file through the Data Trace menu but it really is not idea. When I asked Segger's support, I got the response that not a lot of customers seem to be using multiple channel and that there was no plan to improve RTT Viewer on this aspect, which I find quite regrettable. I've basically been told to buy the SDK and go build a 'better' RTT Viewer myself...

axel.wolf@segger.comSpeaker
Score: 0 | 2 years ago | no reply

Hello Nathan,
Yes, I agree, it would be nice to be able to display data in RTT Viewer for channels other than just channel 0. While we are always striving to improve our free J-Link utilities, we are usually fully booked with projects, leaving only very little time to do so, unfortunately...

SimonSmith
Score: 0 | 2 years ago | 1 reply

Thanks for the demo. I have used SystemView with my J-Link Plus when trying to locate a tricky real-time bug, but I'll try Ozone now I've seen it in action. What is the difference in the timelines between the two, i.e. should I be using Ozone in conjunction with SystemView? I tend to just use markers added at the start and end of functions I'm debugging, but I often get overwhelmed with data from all the tasks and interrupts that I give up with it. I would love it if it were possible to search and filter for specific events.

axel.wolf@segger.comSpeaker
Score: 0 | 2 years ago | no reply

Hi, Thanks for the question, and thanks for using SEGGER tools!
SystemView and Ozone complement each other. You will only get Timeline information in Ozone if you do some kind of Tracing (either via ETM with J-Trace or via ETB/MTB with J-Link). And the Timeline information in Ozone only gets updated when the MCU is halted. In SystemView, The timeline is updated in real-time, as the application is running. But you need to instrument your code.
SystemView actually does offer event filters. See here:
https://www.segger.com/doc/UM08027_SystemView.html#Event_Filter
Hope this helps!

JeanLabrosse
Score: 2 | 2 years ago | 1 reply

Excellent presentation and amazing tools, probable the best in the industry!

axel.wolf@segger.comSpeaker
Score: 0 | 2 years ago | no reply

Thanks, Jean!

Miro
Score: 1 | 2 years ago | 1 reply

Excellent presentation and fantastic debugging tools!

axel.wolf@segger.comSpeaker
Score: 0 | 2 years ago | no reply

Thanks!

Peter
Score: 1 | 2 years ago | 1 reply

The video referenced at 29:58 looks interesting but doesn't seem to be available.
https://www.youtube.com/watch?v=lu9XpFNgU7Q

axel.wolf@segger.comSpeaker
Score: 0 | 2 years ago | no reply

Hello Peter,
Thank you for watching my talk.
The first letter of that link is a capital "I" (as in "Idaho", not a lower case "l" (as in "link").
Impossible to see in that font! Here is the correct link:
https://www.youtube.com/watch?v=Iu9XpFNgU7Q
Regards,
Axel.

OUR SPONSORS

OUR PARTNERS