在 Modus Toolbox 中没有寄存器可以直接查看某条语句或者某个函数的执行时间,可以利用 ARM Cotex-M 核自带的 System Tick 来实现这个功能。System Tick 是以 CPU Clock 作为它的源时钟,因此 1 个 System Tick 的 count 就表示一个机器周期,下面是可以参考的代码片段:
uint32_t DURATION_TIME; float result1;
SysTick->CTRL = 0;/*Disable SysTick*/
SysTick->LOAD = 0xffffff; /* Count down from maximum value */
SysTick->CTRL = 0x5; /* Enable SysTick and use processor clock */
SysTick->VAL = 0; /* Clear current value to 0 */
result1 = arm_sin_f32(0.5f);
DURATION_TIME = SysTick->VAL; /* Get duration time */
SysTick->CTRL = 0; /* Disable SysTick */