Optimize your Embedded Application
When developing embedded applications, important aspects are minimizing hardware costs, optimizing resource usage, and improving system performance. The µVision debugger offer various profiling utilities to identify the optimization potential of your application. This webinar recording will show how you can use features like performance analysis, stack watermarking and the event viewer.
Advanced Debug and Trace using ULINKpro
The µVision Debugger gives you full access to debug and trace of an Cortex-M based system. Trace enables additional debug views such as Logic Analyzer, Event Viewer, Performance Analyzer, Code Coverage, and Instruction Trace. These debug views show the dynamic behavior of your application and let you optimize algorithms or identify sporadic errors. In this webinar, you will learn how to use ULINKpro for advanced debugging and tracing of embedded applications on an NXP's Kinetis K64 MCU.
Component Viewer and Event Recorder
Component Viewer and Event Recorder do not require special debug capabilities of the target hardware. They use memory reads and writes to show information about:
- software components that are provided in static memory variables or structures
- objects that are addressed by an object handle.
- execution status and event information of software components.
Using the event information coming from the Event Recorder, Percepio's Tracealyzer supports advanced debugging of Keil RTX5 projects.
Dynamic software analysis with MDK event recorder
Today, flexible and easy-to-use software components are essential for microcontroller applications. These software components are frequently a "black box" to the application programmer, which makes the analysis of potential issues challenging. This webinar introduces the Keil MDK Event Recorder that enables programmers to understand and analyze the operation of software components. Users can utilize the provided infrastructure to add specific MDK debugger views to their applications and third party middleware.
Mastering RTOS Debugging Techniques
Using an RTOS has almost become a necessity when developing a real-time embedded system. The problem is that many developers are just starting to use an RTOS and are not familiar with the methodologies and techniques necessary to quickly and efficiently debug their RTOS based application code. In this webinar, attendees will become familiar with the latest and greatest techniques and tools necessary to debug their code. Important concepts such as properly sizing thread stacks, using event viewers and discovering issues such as priority inversions, deadlock and thread starvation will be examined. This webinar provides hands-on demonstrations using NXP's K64 Freedom Board with MDK, Keil RTX5 and Percepio's Tracealyzer.
The webinar is presented by Jacob Beningo, an embedded software expert, Percepio, and ARM.
Data and Event Trace
All Cortex-M3/M4/M7 based devices provide Data and Event Trace. MDK provides a number of ways to analyze this information while your system is running:
Many Cortex-M3/M4/M7 devices incorporate an Embedded Trace Macrocell (ETM) which provides instruction trace. The Keil ULINKpro streams instruction trace directly to your PC, enabling debugging of historical sequences, execution profiling, performance optimization, and code coverage analysis.
The virtually unlimited stream of trace information enables MDK to provide complete Code Coverage of your program. Code coverage identifies every instruction that has been executed, ensuring thorough testing of your application. This is an essential requirement for complete software verification and certification.
ULINKpro allows applications to be run for long periods of time while collecting trace information. This is used by Performance Analyzer to record and display execution times for functions and program blocks. It shows the processor cycle usage and enables you to identify algorithms that require optimization.
Having recorded your application, the Execution Profiler shows timing and execution statistics for the complete program code.