PORT_SUPPORTS_RT for Cortex-A5 and Cortex-A9
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@11245 35acf78f-673a-0410-8e92-d51de3d6d3f4
This commit is contained in:
parent
3310b12b3b
commit
e669bfa7e6
|
@ -39,7 +39,7 @@
|
||||||
/**
|
/**
|
||||||
* @brief This port supports a realtime counter.
|
* @brief This port supports a realtime counter.
|
||||||
*/
|
*/
|
||||||
#define PORT_SUPPORTS_RT FALSE
|
#define PORT_SUPPORTS_RT TRUE
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Natural alignment constant.
|
* @brief Natural alignment constant.
|
||||||
|
@ -508,6 +508,29 @@ static inline void port_wait_for_interrupt(void) {
|
||||||
asm volatile ("wfi" : : : "memory");
|
asm volatile ("wfi" : : : "memory");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Returns the current value of the realtime counter.
|
||||||
|
*
|
||||||
|
* @return The realtime counter value.
|
||||||
|
*/
|
||||||
|
static inline rtcnt_t port_rt_get_counter_value(void) {
|
||||||
|
|
||||||
|
#if ((ARM_CORE == ARM_CORE_CORTEX_A5) || (ARM_CORE == ARM_CORE_CORTEX_A9) || defined(__DOXYGEN__))
|
||||||
|
|
||||||
|
rtcnt_t cyc;
|
||||||
|
|
||||||
|
__asm volatile("mrc p15, 0, %[p0], c9, c13, 0" : [p0] "=r" (cyc) :);
|
||||||
|
|
||||||
|
return cyc;
|
||||||
|
#else
|
||||||
|
/*
|
||||||
|
* TODO develop same function for ARM_CORE_CORTEX_A8
|
||||||
|
*/
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
#if CH_CFG_ST_TIMEDELTA > 0
|
#if CH_CFG_ST_TIMEDELTA > 0
|
||||||
#if PORT_USE_ALT_TIMER == FALSE
|
#if PORT_USE_ALT_TIMER == FALSE
|
||||||
#include "chcore_timer.h"
|
#include "chcore_timer.h"
|
||||||
|
|
Loading…
Reference in New Issue