AM263Px MCU+ SDK: FreeRTOS Interrupt Profiling Example

| AM263Px MCU+ SDK 26.00.00 |

FreeRTOS Interrupt Profiling Example

# Introduction

This example demonstrates profiling of interrupts. Two tasks are created, three interrupts of different priority levels are configured. The interrupts are triggered to cause nesting & the behaviour of interrupts is verified against a reference. If the behaviour of interrupts is as expected, the total ISR load and CPU load is displayed and the example is marked as passed.

Note
  Make sure "#define INTR_PROF" is present in "/source/drivers/hw_include/am263px/soc_config.h", to enable capturing of interrupt trace. Else the displayed LOAD values will be 0.

# Supported Combinations

Parameter | Value
--- | ---
CPU + OS | r5fss0-0 freertos
Toolchain | ti-arm-clang
Boards | am263px-cc, am263px-lp
Example folder | examples/kernel/freertos/interrupt_profiling

# Steps to Run the Example

- When the INTR_PROF macro is modified, the library needs to be re-built. This can be done only using makefiles. (see Using SDK with Makefiles).
- When using CCS projects to build, import the CCS project for the required combination and build it using the CCS project menu (see Using SDK with CCS Projects).
- When using makefiles to build, note the required combination and build using make command (see Using SDK with Makefiles)
- Launch a CCS debug session and run the executable, see CCS Launch, Load and Run

# See Also

FreeRTOS

# Sample Output

Shown below is a sample output when the application is run,

[FreeRTOS] profiling ... start !!!
[FreeRTOS] profiling ... done !!!
[FreeRTOS] profiling ... completed !!!
LOAD: ISR = 0. 0 %
LOAD: CPU = 0.60 %
LOAD: ping = 0.27 %
LOAD: pong = 0.10 %
All tests have passed!!