Browse Source

timing: fix ARM Cortex-M timing functions wrap-around issue

Added casts to uint32_t in arch_timing_cycles_get() to handle the
wrap-around of the 32-bit cycle counter correctly.

Signed-off-by: Simon Tomschik <simon.tomschik@askgroup.global>
pull/80566/head
Simon Tomschik 9 months ago committed by Mahesh Mahadevan
parent
commit
1647ad5c0a
  1. 2
      arch/arm/core/cortex_m/timing.c

2
arch/arm/core/cortex_m/timing.c

@ -104,7 +104,7 @@ timing_t arch_timing_counter_get(void) @@ -104,7 +104,7 @@ timing_t arch_timing_counter_get(void)
uint64_t arch_timing_cycles_get(volatile timing_t *const start,
volatile timing_t *const end)
{
return (*end - *start);
return ((uint32_t)*end - (uint32_t)*start);
}
uint64_t arch_timing_freq_get(void)

Loading…
Cancel
Save