Вы не указали, какой процессор находится на плате (гораздо важнее, чем марка платы!), Если процессор включает в себя ETM, и у вас есть ULINK-Pro или другой отладчик с поддержкой трассировки, тогда uVision может незаметно профилировать выполнение кода непосредственно на уровне цикла инструкций.
Аналогичным образом, если вы запускаете код в симуляторе uVision, а не на реальном оборудовании, вы можете получить профилирование и синхронизацию с точным циклом без необходимости поддержки аппаратного отслеживания.
Даже без возможности трассировки функция «секундомера» в uVision может напрямую выполнять синхронизацию между двумя точками останова. Секундомер находится в нижней части IDE в строке состояния. Вам необходимо установить тактовую частоту в конфигурации трассировки отладчика, чтобы получать «в реальном времени» от секундомера.
Простой подход, который не требует специальных возможностей отладки или симулятора, заключается в использовании доступного периферийного устройства таймера (или в случае устройств Cortex-M sysclk) для отметки времени начала и конца выполнения раздела кода, или если вы у вас нет доступного ресурса синхронизации, вы можете переключать вывод GPIO и отслеживать его на осциллографе. Эти методы имеют некоторый уровень программных издержек, которых нет в трассировке аппаратного обеспечения или симулятора, что может сделать их непригодными для очень коротких участков кода.