Merge branch 'bugfix/perfmon_s3_v4.4' into 'release/v4.4'

perfmon: re-enable example for ESP32-S3, remove warning from the docs (v4.4)

See merge request espressif/esp-idf!17042
This commit is contained in:
Krzysztof Budzynski
2022-02-09 03:28:01 +00:00
2 changed files with 333 additions and 341 deletions

View File

@@ -1,15 +1,7 @@
Performance Monitor Performance Monitor
=================== ===================
.. only:: esp32s3 The Performance Monitor component provides APIs to use {IDF_TARGET_NAME} internal performance counters to profile functions and applications.
.. warning::
This feature is not supported in v4.4
The Performance Monitor component provides APIs to use {IDF_TARGET_NAME} internal performance counters to profile functions and
applications.
Application Example Application Example
------------------- -------------------

View File

@@ -1,5 +1,5 @@
| Supported Targets | ESP32 | ESP32-S2 | | Supported Targets | ESP32 | ESP32-S2 | ESP32-S3 |
| ----------------- | ----- | -------- | | ----------------- | ----- | -------- | -------- |
# Performance Monitor (`perfmon`) example # Performance Monitor (`perfmon`) example
@@ -16,13 +16,7 @@ The example contain test function that will be executed with perfmon component a
### Hardware Required ### Hardware Required
Example should be able to run on any commonly available ESP32 development board. Example should be able to run on any commonly available ESP32, ESP32-S2 or ESP32-S3 development board. `perfmon` component isn't supported on Espressif chips with RISC-V CPU architecture.
### Configure the project
```
idf.py menuconfig
```
### Build and Flash ### Build and Flash
@@ -36,9 +30,11 @@ See the [Getting Started Guide](https://docs.espressif.com/projects/esp-idf/en/l
## Example Output ## Example Output
1. Example starts and call first test. The first test call test function 'exec_test_function' 1. Example starts and calls the first test. This test calls the test function `exec_test_function` 200 times and collects all CPU performance metrics.
```bash <details><summary>Example log output:</summary>
```
I (288) example: Start I (288) example: Start
I (288) example: Start test with printing all available statistic I (288) example: Start test with printing all available statistic
Value = 750, select = 0, mask = 0001. Counts cycles. Value = 750, select = 0, mask = 0001. Counts cycles.
@@ -319,8 +315,11 @@ Value = 0, select = 28, mask = 2000. Length of Instructions.
Value = 0, select = 28, mask = 4000. Length of Instructions. Value = 0, select = 28, mask = 4000. Length of Instructions.
128-bit 128-bit
``` ```
</details>
2. Example calls second test. 2. Example calls the second test, which runs the same function under tests. This time, a user-provided list of metrics is measured.
<details><summary>Example log output:</summary>
``` ```
I (1588) example: Start test with user defined statistic I (1588) example: Start test with user defined statistic
@@ -366,3 +365,4 @@ Value = 0, select = 1, mask = 0001. Overflow of counter.
I (1788) example: The End I (1788) example: The End
``` ```
</details>