- Packs
- perf_counter
perf_counter
2.5.2-
Pack Type
Software Pack
A dedicated performance counter mainly for micro-controllers. For Cortex-M processors, the `perf_counter` uses the SysTick by default. It shares the SysTick with users' original SysTick functions without interfering with them. This library brings new functionalities, such as performance counter, `perfc_delay_us()`, `perfc_delay_ms()` and implements `clock()` defined in `time.h`. It provides a template for porting the `perf_counter` to different architectures or using a different Timer instead of SysTick in Cortex-M processors.
-
Add to CMSIS Solution
packs:
- pack: GorgonMeducer::perf_counter@2.5.2
Add with cpackget
> cpackget add GorgonMeducer::perf_counter@2.5.2
Download
GorgonMeducer.perf_counter.2.5.2.packRepository
perf_counterChange Log
Version 2.5.2: July 25, 2025
Recommended
Get Pack-
Add to CMSIS Solution
packs:
- pack: GorgonMeducer::perf_counter@2.5.2
Add with cpackget
> cpackget add GorgonMeducer::perf_counter@2.5.2
Download
GorgonMeducer.perf_counter.2.5.2.packRelease v2.5.2 - Fixes the support for Arm Compiler 5 - Improves the compatibility with C++ - Adds support for the hardware architectures that use growing-upward stacks - Uses format specifiers defined in inttypes.h - Allows users to disable the aliases of the deprecated APIs - Fixes GCC support
Version 2.5.1: July 18, 2025
Get Pack-
Add to CMSIS Solution
packs:
- pack: GorgonMeducer::perf_counter@2.5.1
Add with cpackget
> cpackget add GorgonMeducer::perf_counter@2.5.1
Download
GorgonMeducer.perf_counter.2.5.1.packRelease v2.5.1 - Adds a macro ISR() to measure the maximum stack usage of a given Cortex-M exception handler. - Allows users to define the macro __PERFC_STACK_WATERMARK_U32__ to override the default watermark, i.e. 0xDEADBEEF. - Fixes issues found in __stack_usage__() and __stack_usage_max__(). - Other minor changes.
Version 2.5.0: July 14, 2025
Get Pack-
Add to CMSIS Solution
packs:
- pack: GorgonMeducer::perf_counter@2.5.0
Add with cpackget
> cpackget add GorgonMeducer::perf_counter@2.5.0
Download
GorgonMeducer.perf_counter.2.5.0.packRelease v2.5.0 - Adds a helper service for coroutines - Adds a coroutine based protoThread code template - Adds prefix 'perfc_' to APIs and Macros - Supports feed the watchdog in perfc_delay_ms(), originally called delay_ms() - Supports yield from perfc_delay_ms() with coroutine's help - Adds __stack_usage__() and __stack_usage_max__() - Other minor changes
Version 2.4.0: Dec. 8, 2024
Get Pack-
Add to CMSIS Solution
packs:
- pack: GorgonMeducer::perf_counter@2.4.0
Add with cpackget
> cpackget add GorgonMeducer::perf_counter@2.4.0
Download
GorgonMeducer.perf_counter.2.4.0.pack- Avoid time roll-back in some rare cases - Add macros for protoThread - Some minor changes
Version 2.3.3: July 27, 2024
Get Pack-
Add to CMSIS Solution
packs:
- pack: GorgonMeducer::perf_counter@2.3.3
Add with cpackget
> cpackget add GorgonMeducer::perf_counter@2.3.3
Download
GorgonMeducer.perf_counter.2.3.3.packRelease v2.3.3 - Enhance foreach() and with() with __typeof__() - Always use systick_wrapper_gnu.s when Arm Compiler 6 is detected - Some minor fixes
Version 2.3.2: July 6, 2024
Get Pack-
Add to CMSIS Solution
packs:
- pack: GorgonMeducer::perf_counter@2.3.2
Add with cpackget
> cpackget add GorgonMeducer::perf_counter@2.3.2
Download
GorgonMeducer.perf_counter.2.3.2.packRelease v2.3.2 - Adds __perfc_sync_barrier__() and improves __cycleof__() - Some minor fixes
Version 2.3.1: March 12, 2024
Get Pack-
Add to CMSIS Solution
packs:
- pack: GorgonMeducer::perf_counter@2.3.1
Add with cpackget
> cpackget add GorgonMeducer::perf_counter@2.3.1
Download
GorgonMeducer.perf_counter.2.3.1.packRelease v2.3.1 - Fixed PMU-SysTick-overflow-miscounting issue - Other minor changes.
Version 2.3.0: Feb. 28, 2024
Get Pack-
Add to CMSIS Solution
packs:
- pack: GorgonMeducer::perf_counter@2.3.0
Add with cpackget
> cpackget add GorgonMeducer::perf_counter@2.3.0
Download
GorgonMeducer.perf_counter.2.3.0.packRelease v2.3.0 - Support porting to a different architecture - Support Armv8.1-m PMU * Add __cpu_perf__() for CPI and L1 DCache miss rate - Some other minor changes.
Version 2.2.4: Oct. 19, 2023
Get Pack-
Add to CMSIS Solution
packs:
- pack: GorgonMeducer::perf_counter@2.2.4
Add with cpackget
> cpackget add GorgonMeducer::perf_counter@2.2.4
Download
GorgonMeducer.perf_counter.2.2.4.pack- Add support for RT-Thread-nano - Add an API for checking stack overflow - Improve the support for the Arm Compiler 6.21 - Other minor updates
Version 2.2.3: Aug. 30, 2023
Get Pack-
Add to CMSIS Solution
packs:
- pack: GorgonMeducer::perf_counter@2.2.3
Add with cpackget
> cpackget add GorgonMeducer::perf_counter@2.2.3
Download
GorgonMeducer.perf_counter.2.2.3.pack- Mitigate time-rolling-back issue when calling get_system_ticks in exception handlers that have higher priorities than the SysTick_Handler. - Other minor updates
Version 2.2.2: June 12, 2023
Get Pack-
Add to CMSIS Solution
packs:
- pack: GorgonMeducer::perf_counter@2.2.2
Add with cpackget
> cpackget add GorgonMeducer::perf_counter@2.2.2
Download
GorgonMeducer.perf_counter.2.2.2.pack- Add __cpu_time__ - Support reconfiguring the SysTick - Suppress warnings - Other minor updates
Version 2.2.1: May 19, 2023
Get Pack-
Add to CMSIS Solution
packs:
- pack: GorgonMeducer::perf_counter@2.2.1
Add with cpackget
> cpackget add GorgonMeducer::perf_counter@2.2.1
Download
GorgonMeducer.perf_counter.2.2.1.pack- Update perfc_is_time_out_ms and perf_is_time_out_us
Version 2.2.0: May 18, 2023
Get Pack-
Add to CMSIS Solution
packs:
- pack: GorgonMeducer::perf_counter@2.2.0
Add with cpackget
> cpackget add GorgonMeducer::perf_counter@2.2.0
Download
GorgonMeducer.perf_counter.2.2.0.pack- Enhance Timer Services - Other minor changes
Version 2.1.0: March 19, 2023
Get Pack-
Add to CMSIS Solution
packs:
- pack: GorgonMeducer::perf_counter@2.1.0
Add with cpackget
> cpackget add GorgonMeducer::perf_counter@2.1.0
Download
GorgonMeducer.perf_counter.2.1.0.pack- Update stop_cycle_counter prototype to solve return-value-overflow issue - Provide timer service for EventRecorder automatically - Remove the bundle from cmsis-pack
Version 2.0.0: March 2, 2023
Get Pack-
Add to CMSIS Solution
packs:
- pack: GorgonMeducer::perf_counter@2.0.0
Add with cpackget
> cpackget add GorgonMeducer::perf_counter@2.0.0
Download
GorgonMeducer.perf_counter.2.0.0.pack- Add Coremark
Version 1.9.11: Feb. 9, 2023
Get Pack-
Add to CMSIS Solution
packs:
- pack: GorgonMeducer::perf_counter@1.9.11
Add with cpackget
> cpackget add GorgonMeducer::perf_counter@1.9.11
Download
GorgonMeducer.perf_counter.1.9.11.pack- Fix the source variant support for Armv8-M processors - Other minor fixes
Version 1.9.10: Nov. 1, 2022
Get Pack-
Add to CMSIS Solution
packs:
- pack: GorgonMeducer::perf_counter@1.9.10
Add with cpackget
> cpackget add GorgonMeducer::perf_counter@1.9.10
Download
GorgonMeducer.perf_counter.1.9.10.pack- Fix the support for RT-Thread - Improve the way to import systick wrapper - Add get_system_us to avoid 64bit integer divider. - Minor Update
Version 1.9.8: Aug. 10, 2022
Get Pack-
Add to CMSIS Solution
packs:
- pack: GorgonMeducer::perf_counter@1.9.8
Add with cpackget
> cpackget add GorgonMeducer::perf_counter@1.9.8
Download
GorgonMeducer.perf_counter.1.9.8.pack- Improve delay accuracy - Fix RT-Thread stack-fully-used issue - introduce macro __PERF_COUNTER_CFG_USE_SYSTICK_WRAPPER__
Version 1.9.6: June 15, 2022
Get Pack-
Add to CMSIS Solution
packs:
- pack: GorgonMeducer::perf_counter@1.9.6
Add with cpackget
> cpackget add GorgonMeducer::perf_counter@1.9.6
Download
GorgonMeducer.perf_counter.1.9.6.pack- Add RT-Thread Package - Add new API update_perf_counter() for notifying perf_counter that SystemCoreClock has been updated - Add a macro __perf_counter_printf__ to retarget printf - Add a macor __PERF_COUNT_PLATFORM_SPECIFIC_HEADER__ for people to insert a platform specific header file. - Add Doxygen - Other minor changes
Version 1.9.5: May 20, 2022
Get Pack-
Add to CMSIS Solution
packs:
- pack: GorgonMeducer::perf_counter@1.9.5
Add with cpackget
> cpackget add GorgonMeducer::perf_counter@1.9.5
Download
GorgonMeducer.perf_counter.1.9.5.pack- Add support for Cortex-M85, Star-MC1 and all other Armv8.1-M processors - Update Readme
Version 1.9.4: April 13, 2022
Get Pack-
Add to CMSIS Solution
packs:
- pack: GorgonMeducer::perf_counter@1.9.4
Add with cpackget
> cpackget add GorgonMeducer::perf_counter@1.9.4
Download
GorgonMeducer.perf_counter.1.9.4.pack- Mitigate some clang warnings - Minor update for RTOS support
Version 1.9.3: Feb. 26, 2022
Get Pack-
Add to CMSIS Solution
packs:
- pack: GorgonMeducer::perf_counter@1.9.3
Add with cpackget
> cpackget add GorgonMeducer::perf_counter@1.9.3
Download
GorgonMeducer.perf_counter.1.9.3.pack- Fix CONNECT macro cannot connect two parameters issue. - Add UNUSED_PARAM - Add support for C++ env - Other minor updates
Version 1.9.2: Feb. 14, 2022
Get Pack-
Add to CMSIS Solution
packs:
- pack: GorgonMeducer::perf_counter@1.9.2
Add with cpackget
> cpackget add GorgonMeducer::perf_counter@1.9.2
Download
GorgonMeducer.perf_counter.1.9.2.pack- Add API get_system_ms() to avoid int64_t divide operation. - Add API delay_ms()
Version 1.9.1: Feb. 13, 2022
Get Pack-
Add to CMSIS Solution
packs:
- pack: GorgonMeducer::perf_counter@1.9.1
Add with cpackget
> cpackget add GorgonMeducer::perf_counter@1.9.1
Download
GorgonMeducer.perf_counter.1.9.1.pack- Add preprocessing in perf_counter.h to detect whether GNU extension is enabled or not. - Enhance RTOS support - Add macro __PERF_COUNTER__ in RTE_Components.h for compile-time detection.
Version 1.8.2: Jan. 29, 2022
Get Pack-
Add to CMSIS Solution
packs:
- pack: GorgonMeducer::perf_counter@1.8.2
Add with cpackget
> cpackget add GorgonMeducer::perf_counter@1.8.2
Download
GorgonMeducer.perf_counter.1.8.2.pack- Fix a bug found in __cycleof__. The __cycle_counter__ was not updated with the measure result. - Add macros for version info.