GorgonMeducer perf_counter A dedicated performance counter for the Cortex-M Systick. It shares the SysTick with users' original SysTick function without interfering with it. This library will bring new functionalities, such as performance counter, delay_us and clock() service defined in time.h https://raw.githubusercontent.com/GorgonMeducer/perf_counter/CMSIS-Pack/cmsis-pack/ https://github.com/GorgonMeducer/perf_counter/issues lib/LICENSE https://github.com/GorgonMeducer/perf_counter.git - Add support for RT-Thread - Other minor update - Add support for FreeRTOS - Other minor update - Add new feature for RTOS. Now you can get cycle information for the current thread. - Other minor update - Include stddef.h in perf_counter.h to solve missing NULL definition issue. - Improve support for IAR - Fix issues found in foreach - Other minor update - Add CMSIS Dependency Check - Add options for selecting between source code and library. - Add GCC support to CMSIS-Pack Cortex-M SysTick Performance Analaysis Arm Compiler 5 (armcc) or Arm Compiler 6 (armclang). GNU Tools for Arm Embedded Processors. Support All Cortex-M based processors Require CMSIS-CORE Support Require RTX5 Support Require FreeRTOS Support Require Perf_Counter Core Compile Cortex-M Processors with GNU Tools for Arm Embedded Processors. Compile Cortex-M Processors with GNU Tools for Arm Embedded Processors. Compile Cortex-M Processors with GNU Tools for Arm Embedded Processors. Compile Cortex-M Processors with GNU Tools for Arm Embedded Processors. A dedicated performance counter for Cortex-M systick. A dedicated performance counter for Cortex-M systick. A dedicated performance counter for Cortex-M systick. A Patch for RTX5 //! \brief Enable RTOS Patch for perf_counter #define __PERF_CNT_USE_RTOS__ A Patch for FreeRTOS //! \brief Enable RTOS Patch for perf_counter #define __PERF_CNT_USE_RTOS__ #define traceTASK_SWITCHED_OUT_DISABLE #define traceTASK_SWITCHED_IN_DISABLE extern void __freertos_evr_on_task_switched_out (void *ptTCB); extern void __freertos_evr_on_task_switched_in(void *ptTCB, unsigned int uxTopPriority) ; # define traceTASK_SWITCHED_OUT() \ __freertos_evr_on_task_switched_out(pxCurrentTCB) # define traceTASK_SWITCHED_IN() \ __freertos_evr_on_task_switched_in(pxCurrentTCB, uxTopReadyPriority) A Patch for RT-Thread //! \brief Enable RTOS Patch for perf_counter #define __PERF_CNT_USE_RTOS__