У вас, вероятно, есть только два варианта:
Используйте точный симулятор цикла инструкций;проблема здесь в том, что эффективное моделирование периферийных устройств и внешних стимулов может быть сложным или невозможным.
Используйте аппаратный таймер периферийного устройства.В большинстве случаев вы не сможете запустить такой таймер на типичной тактовой частоте ядра ARM9, и при обслуживании таймера будут возникать накладные расходы по обе стороны от периода времени, но его можно использовать для выполнениявремя на больших или более длинных секциях кода, которые могут быть более практичными, чем счетчик циклов.
Хотя счетчик циклов может быть несколько масштабируем для разных тактовых частот, он по-прежнему ограничен состояниями памяти и ожидания ввода / вывода, поэтому, возможно, он не так полезен, как может показаться метрикой производительностикроме как на микроуровне анализа, и больший прирост производительности, как правило, можно получить, взяв более широкий взгляд.