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:
edolomb 2018-01-10 09:28:25 +00:00
parent 3310b12b3b
commit e669bfa7e6
1 changed files with 24 additions and 1 deletions

View File

@ -39,7 +39,7 @@
/**
* @brief This port supports a realtime counter.
*/
#define PORT_SUPPORTS_RT FALSE
#define PORT_SUPPORTS_RT TRUE
/**
* @brief Natural alignment constant.
@ -508,6 +508,29 @@ static inline void port_wait_for_interrupt(void) {
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 PORT_USE_ALT_TIMER == FALSE
#include "chcore_timer.h"