summaryrefslogtreecommitdiffstats
path: root/bsps/arm/include/bsp/clock-armv7m.h
diff options
context:
space:
mode:
Diffstat (limited to 'bsps/arm/include/bsp/clock-armv7m.h')
-rw-r--r--bsps/arm/include/bsp/clock-armv7m.h9
1 files changed, 5 insertions, 4 deletions
diff --git a/bsps/arm/include/bsp/clock-armv7m.h b/bsps/arm/include/bsp/clock-armv7m.h
index c570153c33..317502734e 100644
--- a/bsps/arm/include/bsp/clock-armv7m.h
+++ b/bsps/arm/include/bsp/clock-armv7m.h
@@ -50,15 +50,16 @@ static uint32_t _ARMV7M_Clock_counter(ARMV7M_Timecounter *tc)
uint32_t interval;
uint32_t counter;
uint32_t ticks;
-
- systick = _ARMV7M_Systick;
- interval = systick->rvr;
+ uint32_t csr;
rtems_interrupt_disable(level);
+ systick = _ARMV7M_Systick;
counter = systick->cvr;
+ csr = systick->csr;
+ interval = systick->rvr;
ticks = tc->ticks;
- if ((systick->csr & ARMV7M_SYSTICK_CSR_COUNTFLAG) != 0) {
+ if (RTEMS_PREDICT_FALSE((csr & ARMV7M_SYSTICK_CSR_COUNTFLAG) != 0)) {
counter = systick->cvr;
ticks += interval;
tc->ticks = ticks;