Какое ядро? Разные ARM, разные Cortex имеют свое время выполнения.
Впрочем все это неважно. Для подсчета тактов воспользуйся счетчиком
DWT тикающим с частотой ядра: #define DWT_CYCCNT *(volatile uint32_t*)0xE0001004
#define DWT_CONTROL *(volatile uint32_t*)0xE0001000
#define SCB_DEMCR *(volatile uint32_t*)0xE000EDFC
uint32_t count_tic = 0;
SCB_DEMCR |= CoreDebug_DEMCR_TRCENA_Msk;// разрешаем использовать DWT
DWT_CONTROL|= DWT_CTRL_CYCCNTENA_Msk; // включаем счётчик
DWT_CYCCNT = 0;// обнуляем счётчик
// здесь кусок измеряемого участка программы
count_tic = DWT_CYCCNT; // кол-во тактов