diff --git a/GorgonMeducer.perf_counter.pdsc b/GorgonMeducer.perf_counter.pdsc index 54b5c00..842b0f9 100644 --- a/GorgonMeducer.perf_counter.pdsc +++ b/GorgonMeducer.perf_counter.pdsc @@ -297,6 +297,10 @@ + + +#define __RTE_PERFC_PORTING_USER_DEFINED__ 1 + diff --git a/systick_wrapper_gnu.s b/systick_wrapper_gnu.s index 54182ce..b2e0ac6 100644 --- a/systick_wrapper_gnu.s +++ b/systick_wrapper_gnu.s @@ -14,6 +14,11 @@ ;* limitations under the License. * ;* * ;****************************************************************************/ +#if defined(_RTE_) +# include "RTE_Components.h" +#endif + +#if !defined(__RTE_PERFC_PORTING_USER_DEFINED__) #if !__PERFC_CFG_DISABLE_DEFAULT_SYSTICK_PORTING__ .syntax unified @@ -43,4 +48,6 @@ $Sub$$SysTick_Handler: __ensure_systick_wrapper: bx lr +#endif + #endif \ No newline at end of file diff --git a/template/perfc_port_user.c b/template/perfc_port_user.c index 5f4a64a..8111c85 100644 --- a/template/perfc_port_user.c +++ b/template/perfc_port_user.c @@ -44,6 +44,24 @@ /*============================ GLOBAL VARIABLES ==============================*/ /*============================ LOCAL VARIABLES ===============================*/ /*============================ PROTOTYPES ====================================*/ +/* low level interface for porting */ +extern +uint32_t perfc_port_get_system_freq(void); +extern +int64_t perfc_port_get_system_timer_top(void); +extern +bool perfc_port_is_system_timer_ovf_pending(void); +extern +void perfc_port_init_system_timer(bool bTimerOccupied); +extern +int64_t perfc_port_get_system_timer_elapsed(void); +extern +void perfc_port_clear_system_timer_ovf_pending(void); +extern +void perfc_port_stop_system_timer_counting(void); +extern +void perfc_port_clear_system_timer_counter(void); + /*============================ IMPLEMENTATION ================================*/ /*============================ INCLUDES ======================================*/