Coremark is an industry standard benchmark used for testing processor's core features.
Read more about Coremark here: https://www.eembc.org/coremark/
Supported Combinations
Parameter | Value |
CPU + OS | r5fss0-0 nortos |
Toolchain | ti-arm-clang |
Boards | am263px-cc, am263px-lp |
Example folder | examples/benchmarks/coremark_benchmark |
Introduction
- This demo provides a means of measuring the performance of MCUs (Microcontrollers) and CPUs (Central Processing Units) used in embedded systems
- The demo uses linked lists pointers to exercise the memory units of the processor to find and alter data. All operations are inplace operations without using extra memory.
- The example does the following:
- Initializes the drivers and board
- Initializes the data block and runs the benchmark algorithm. Here, 2000 performance run parameters are used for coremark benchmarking. The input seeds are initialized from a source that cannot be determined at compile time, memory blocks are initialized and then the application is run and timed.
- The output validity is tests if the seeds are known, and the output is a single-number score which shows the performance for quick comparison.
- Note
- The out of box demo contains the .code in STACK and .data in TCMA memory section. The memory placement of these sections can be changed from the syscfg memory configuration section.
Performance statistics
Device | Coremark/MHz |
AM263Px-CC | 3.769163 |
AM263Px-LP | 3.769089 |
Steps to Run the Example
Building Coremark 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 Coremark application
Once you have the application binary built following the aforementioned steps, Load and run the application using CCS. (see CCS Launch, Load and Run).
If you want to flash the application binary to the device, follow the steps mentioned here (see Flash a Hello World example).
Sample output for Coremark example
BENCHMARK START - ARM R5F - COREMARK
2K performance run parameters for coremark.
CoreMark Size : 666
begin tick : 71
end tick : 9949230
Total ticks : 9949159
Total time (secs): 9.949159
Iterations/Sec : 1507.665120
Iterations : 15000
Memory location : STACK
seedcrc : 0xe9f5
[0]crclist : 0xe714
[0]crcmatrix : 0x1fd7
[0]crcstate : 0x8e3a
[0]crcfinal : 0x65c5
CoreMark 1.0 : 1507.665120
CoreMark/MHz :3.769163 / STACK
BENCHMARK END