9#ifndef BSP_CLOCK_ARMV7M_H
10#define BSP_CLOCK_ARMV7M_H
21#ifdef ARM_MULTILIB_ARCH_V7M
28extern ARMV7M_Timecounter _ARMV7M_TC;
30static inline uint32_t _ARMV7M_Clock_frequency(
void)
32#ifdef BSP_ARMV7M_SYSTICK_FREQUENCY
33 return BSP_ARMV7M_SYSTICK_FREQUENCY;
35 volatile ARMV7M_Systick *systick = _ARMV7M_Systick;
36 return ARMV7M_SYSTICK_CALIB_TENMS_GET(systick->calib) * 100;
40static uint32_t _ARMV7M_Clock_counter(ARMV7M_Timecounter *tc)
42 volatile ARMV7M_Systick *systick;
50 systick = _ARMV7M_Systick;
51 counter = systick->cvr;
53 interval = systick->rvr;
57 counter = systick->cvr;
62 counter = interval - counter + ticks;
This header file provides interfaces of the ARMv7-M architecture support.
#define RTEMS_PREDICT_FALSE(_exp)
Evaluates the integral expression and tells the compiler that the predicted value is false (0).
Definition: basedefs.h:732
ISR_Level rtems_interrupt_level
This integer type represents interrupt levels.
Definition: intr.h:111
#define rtems_interrupt_enable(_isr_cookie)
Restores the previous interrupt level on the current processor.
Definition: intr.h:311
#define rtems_interrupt_disable(_isr_cookie)
Disables the maskable interrupts on the current processor.
Definition: intr.h:264
This header file provides the Timecounter Support API.