bsps/arm: Optimize ARMv7-M CPU counter

Update #3456.
This commit is contained in:
Sebastian Huber
2019-04-09 08:06:01 +02:00
parent e0dcf29438
commit 222570a61b

View File

@@ -50,15 +50,16 @@ static uint32_t _ARMV7M_Clock_counter(ARMV7M_Timecounter *tc)
uint32_t interval; uint32_t interval;
uint32_t counter; uint32_t counter;
uint32_t ticks; uint32_t ticks;
uint32_t csr;
systick = _ARMV7M_Systick;
interval = systick->rvr;
rtems_interrupt_disable(level); rtems_interrupt_disable(level);
systick = _ARMV7M_Systick;
counter = systick->cvr; counter = systick->cvr;
csr = systick->csr;
interval = systick->rvr;
ticks = tc->ticks; ticks = tc->ticks;
if ((systick->csr & ARMV7M_SYSTICK_CSR_COUNTFLAG) != 0) { if (RTEMS_PREDICT_FALSE((csr & ARMV7M_SYSTICK_CSR_COUNTFLAG) != 0)) {
counter = systick->cvr; counter = systick->cvr;
ticks += interval; ticks += interval;
tc->ticks = ticks; tc->ticks = ticks;