GCC Cortex-M4 with hard FP Timing Benchmarks

Target Platform: ti.platforms.simplelink:CC2642:1

Tool Chain Version: 9.2.1

BIOS Version: bios_6_81_00_03_eng

XDCTools Version: xdctools_3_61_00_16_core

Benchmark Cycles
Interrupt Latency 187
Hwi_restore() 17
Hwi_disable() 16
Hwi dispatcher prolog 151
Hwi dispatcher epilog 238
Hwi dispatcher 380
Hardware Interrupt to Blocked Task 651
Hardware Interrupt to Software Interrupt 454
Swi_enable() 91
Swi_disable() 20
Post Software Interrupt Again 40
Post Software Interrupt without Context Switch 117
Post Software Interrupt with Context Switch 243
Create a New Task without Context Switch 2551
Set a Task Priority without a Context Switch 199
Task_yield() 290
Post Semaphore No Waiting Task 63
Post Semaphore No Task Switch 227
Post Semaphore with Task Switch 338
Pend on Semaphore No Context Switch 78
Pend on Semaphore with Task Switch 381
Clock_getTicks() 222
POSIX Create a New Task without Context Switch 5471
POSIX Set a Task Priority without a Context Switch 285
POSIX Post Semaphore No Waiting Task 73
POSIX Post Semaphore No Task Switch 241
POSIX Post Semaphore with Task Switch 352
POSIX Pend on Semaphore No Context Switch 89
POSIX Pend on Semaphore with Task Switch 393

The benchmark application was built using BIOS.LibType_Custom with the following BIOS.customCCOpts settings:

“-mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -mabi=aapcs -O3 -Wunused -Wunknown-pragmas -ffunction-sections -fdata-sections -Dti_sysbios_Build_useHwiMacros -Dfar= -D__DYNAMIC_REENT__”.

The M4F target also supports zero latency interrupts. See ti.sysbios.family.arm.m3.Hwi cdocs for details.

See the SYS/BIOS User’s Guide for more information regarding how interrupt latency is calculated.