AM263Px MCU+ SDK: Optiflash OCRAM Benchmark

| AM263Px MCU+ SDK 26.00.00 |

Optiflash OCRAM Benchmark

# Supported Combinations

Parameter | Value
--- | ---
CPU + OS | r5fss0-0 freertos
Toolchain | ti-arm-clang
Boards | am263px-cc
Example folder | examples/benchmarks/optiflash_benchmark/ocram

# Introduction

- This demo provides a means of measuring the performance of a realistic application where the text of the application is sitting in various memory locations and the data is sitting in On-Chip-Memory RAM (referred to as OCM, OCMC or OCMRAM).
- The application executes 10 different configurations of the same text varying by data vs. instruction cache intensity. Each test calls 16 separate functions 500 total times in random order.
- The most instruction intensive example achieves a instruction cache miss rate (ICM/sec) of ~3-4 million per second when run entirely from OCMRAM. This is a rate that we have similarly seen in real-world customer examples.
- More data intensive tests have more repetitive code, achieving much lower ICM rates.

# Steps to Run the Example

## Building the application

- 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)

## Running the application

Flash the application binary to the device, follow the steps mentioned here (see Flash a Hello World example).

## Sample output

Starting OSPI Bootloader ...
KPI_DATA: [BOOTLOADER_PROFILE] Boot Media : NOR SPI FLASH
KPI_DATA: [BOOTLOADER_PROFILE] Boot Media Clock : 133.333 MHz
KPI_DATA: [BOOTLOADER_PROFILE] Boot Image Size : 121 KB
KPI_DATA: [BOOTLOADER_PROFILE] Cores present :
r5f0-0
KPI_DATA: [BOOTLOADER PROFILE] System_init : 603us
KPI_DATA: [BOOTLOADER PROFILE] Drivers_open : 137us
KPI_DATA: [BOOTLOADER PROFILE] LoadHsmRtFw : 9335us
KPI_DATA: [BOOTLOADER PROFILE] Board_driversOpen : 2758us
KPI_DATA: [BOOTLOADER PROFILE] CPU load : 5815us
KPI_DATA: [BOOTLOADER PROFILE] SBL End : 17us
KPI_DATA: [BOOTLOADER_PROFILE] SBL Total Time Taken : 18668us
Image loading done, switching to application ...
OCMC benchmarking:: Board_init success
Filling up the buffers
master_task
master_task -- start sending
memcpy Exec Time I$ Miss I$ Acc INST ICM/sec INST/sec
0B 12450us 85318 1046450 2162880 8.5 214.6
100B 12998us 84394 1191682 2352420 8.0 223.5
200B 13667us 84705 1341724 2552549 7.7 230.7
400B 15044us 85799 1643566 2954476 7.0 242.5
700B 16813us 82423 2084262 3540160 6.1 260.0
1000B 19206us 84301 2546558 4155016 5.4 267.2
1500B 23748us 82726 3296846 5147364 4.3 267.7
2250B 31153us 84861 4437201 6662237 3.4 264.1
2500B 33682us 86060 4802825 7149636 3.2 262.2
4096B 48094us 84698 7203272 10345626 2.2 265.7
All tests have passed