Skip to content

Commit 46dd8d6

Browse files
committed
Update README.md
1 parent fd2fff4 commit 46dd8d6

File tree

1 file changed

+14
-10
lines changed

1 file changed

+14
-10
lines changed

README.md

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# perf_counter (v2.5.3-dev)
1+
# perf_counter (v2.5.3)
22
A dedicated performance counter mainly for micro-controllers.
33

44
For Cortex-M processors, the Systick will be used by default. The `perf_counter` shares the SysTick with users' original SysTick function(s) without interfering with it. This library will bring new functionalities, such as performance counter,` perfc_delay_us`, `perfc_delay_ms` and `clock()` service defined in `time.h`.
@@ -23,7 +23,7 @@ A dedicated template is provided to port the perf_counter to different architect
2323

2424
- Easy to port to a different architecture with a porting template
2525
- **Provide Free Services**
26-
- Do **NOT** interfere with existing SysTick-based applications
26+
- Would **NOT** interfere with existing SysTick-based applications
2727
- **Support most of the arm compilers**
2828
- Arm Compiler 5 (armcc), Arm Compiler 6 (armclang)
2929
- arm gcc
@@ -37,10 +37,13 @@ A dedicated template is provided to port the perf_counter to different architect
3737
- `perfc_delay_us()` and `perfc_delay_ms()` with **64bit return value**.
3838
- Adds weak entries `perfc_delay_us_user_code_in_loop()` and `perfc_delay_ms_user_code_in_loop()` for users to override, e.g. feeding the watchdog.
3939
- Provides Timestamp services via `get_system_ticks()`, `get_system_us` and `get_system_ms()`.
40+
- **[new]** When passing `false` to `perfc_init()`, it is possible to use perf_counter in ISRs or global interrupt handling is disabled.
41+
- **[new]** Users can call micro-seconds related APIs even when the system timer clock is less than 1MHz.
4042
- **Support both RTOS and bare-metal environments**
41-
- Support SysTick Reconfiguration
42-
- Support changing System Frequency
43-
- Support stack-overflow detection in RTOS environment via `perfc_check_task_stack_canary_safe()`
43+
- Supports SysTick Reconfiguration
44+
- Supports changing System Frequency
45+
- Supports stack-overflow detection in RTOS environment via `perfc_check_task_stack_canary_safe()`
46+
- **[new]** Adds macro `__PERFC_SAFE ` to avoid blocking high priority ISRs and tasks. Users should define the system timer priority level with macro `__PERFC_SYSTIMER_PRIORITY__ `. In Cortex-M, `0` means the highest configurable exception level.
4447
- **Utilities for C language enhancement**
4548
- Macros to detect compilers, e.g. `__IS_COMPILER_ARM_COMPILER_6__`, `__IS_COMPILER_LLVM__` etc.
4649
- Macros to detect compiler features:
@@ -57,18 +60,19 @@ A dedicated template is provided to port the perf_counter to different architect
5760
- A dedicated macro `__perfc_sync_barrier__()` for code barrier.
5861
- Macros to measure stack usage
5962
- Adds a macro `__stack_usage__()` and `__stack_usage_max__()` to measure the stack usage for a given code segment.
60-
- **[new]** Adds a macro `ISR()` to measure the stack usage of a given Cortex-M Exception handling.
63+
- Adds a macro `ISR()` to measure the stack usage of a given Cortex-M Exception handling.
6164
- You can define macro `__PERFC_STACK_CHECK_IN_ISR__` in project configuration to enable this feature.
62-
- **[new]** You can define macro `__PERFC_STACK_WATERMARK_U32__` in your project configuration to override the default watermark, i.e. `0xDEADBEEF`.
63-
- **[new]** Supports for architectures that use growing-upward stacks. You can define macro `__PERFC_STACK_GROWS_UPWARD__` to switch.
65+
- You can define macro `__PERFC_STACK_WATERMARK_U32__` in your project configuration to override the default watermark, i.e. `0xDEADBEEF`.
66+
- Supports for architectures that use growing-upward stacks. You can define macro `__PERFC_STACK_GROWS_UPWARD__` to switch.
6467
- Adds C Language Extensions
6568
- Adds Coroutine support
6669
- Adds watermark to stack and users can call `perfc_coroutine_stack_remain()` to get the stack usage info.
6770
- Defining macro `__PERFC_COROUTINE_NO_STACK_CHECK__` in **compilation command line** disables the stack-checking feature.
6871
- Adds protoThread support with/without the coroutine.
72+
- **[new]** Adds timeout feature in **wait_xxxx**
6973

7074

71-
### Updates
75+
### Important Updates
7276

7377
- Following functions/macros are **deprecated**, please use the version with `perfc_` as prefix:
7478
- `init_cycle_counter()` -> `perfc_init()`
@@ -79,7 +83,7 @@ A dedicated template is provided to port the perf_counter to different architect
7983
- `with()` -> `perfc_with()`
8084
- `foreach()` -> `perfc_foreach()`
8185

82-
- **[new]** You can define the macro `__PERFC_NO_DEPRECATED__` to disable the alias of the deprecated APIs.
86+
- You can define the macro `__PERFC_NO_DEPRECATED__` to disable the alias of the deprecated APIs.
8387

8488

8589

0 commit comments

Comments
 (0)