By Jacob Beningo – A typical developer, on average, spends around 40% of his or her time debugging software. This can lead to increased costs and time to market as developers grapple with system complexities and try to understand how various software components are interacting in their system. There are several tools that I use in my own development cycle that I have found to be indispensable. They help not just to understand the software, but also to decrease my costs and time to market. Let’s examine several of these tools:
- Tool #1—A Trace-Enabled Debugger
Whether it’s an ARM Keil ULINKplus or a j-Trace, these tools provide a developer with the ability to access streaming trace capabilities and the memory on an embedded target.
- Tool #2 – Micrium µC Probe
Micrium’s µC Probe can be used for real-time visualization of variables and data in an embedded application.
- Tool #3 – Percepio Tracealyzer
Tracealyzer can be integrated into an RTOS-based application to record the events that are happening in the application, such as task context switches, interrupts, mutex locks and unlocks, along with many other events that occur.
- Tool #4 – SEGGER System View
The tool contains just four views, but it’s enough to still get useful information about how the application is behaving, which is great for a free tool.
- Tool #5 – SEGGER Ozone
Ozone allows developers to see how good their code coverage is while letting them monitor function execution and see every instruction that has been executed in the code.