forked from espressif/esp-idf
refactor(test): Change clang build tests app name
This commit is contained in:
@@ -56,7 +56,7 @@
|
|||||||
variables:
|
variables:
|
||||||
IDF_TOOLCHAIN: clang
|
IDF_TOOLCHAIN: clang
|
||||||
TEST_BUILD_OPTS_EXTRA: ""
|
TEST_BUILD_OPTS_EXTRA: ""
|
||||||
TEST_DIR: tools/test_apps/system/cxx_pthread_bluetooth
|
TEST_DIR: tools/test_apps/system/clang_build_test
|
||||||
script:
|
script:
|
||||||
# CI specific options start from "--parallel-count xxx". could ignore when running locally
|
# CI specific options start from "--parallel-count xxx". could ignore when running locally
|
||||||
- run_cmd python tools/ci/ci_build_apps.py $TEST_DIR -v
|
- run_cmd python tools/ci/ci_build_apps.py $TEST_DIR -v
|
||||||
|
@@ -11,18 +11,18 @@ tools/test_apps/system/build_test:
|
|||||||
- if: CONFIG_NAME == "usb_console_ets_printf" AND SOC_USB_OTG_SUPPORTED != 1
|
- if: CONFIG_NAME == "usb_console_ets_printf" AND SOC_USB_OTG_SUPPORTED != 1
|
||||||
- if: CONFIG_NAME == "phy_multiple_init_data" AND IDF_TARGET == "esp32p4" # Update with caps here when IDF-7460 is resolved
|
- if: CONFIG_NAME == "phy_multiple_init_data" AND IDF_TARGET == "esp32p4" # Update with caps here when IDF-7460 is resolved
|
||||||
|
|
||||||
|
tools/test_apps/system/clang_build_test:
|
||||||
|
enable:
|
||||||
|
- if: IDF_TARGET in ["esp32", "esp32s2", "esp32s3", "esp32c2", "esp32c3", "esp32c5", "esp32c6", "esp32h2", "esp32p4"]
|
||||||
|
temporary: true
|
||||||
|
reason: the other targets are not supported yet
|
||||||
|
|
||||||
tools/test_apps/system/cxx_no_except:
|
tools/test_apps/system/cxx_no_except:
|
||||||
enable:
|
enable:
|
||||||
- if: IDF_TARGET == "esp32" or IDF_TARGET == "esp32c3"
|
- if: IDF_TARGET == "esp32" or IDF_TARGET == "esp32c3"
|
||||||
temporary: true
|
temporary: true
|
||||||
reason: the other targets are not tested yet
|
reason: the other targets are not tested yet
|
||||||
|
|
||||||
tools/test_apps/system/cxx_pthread_bluetooth:
|
|
||||||
enable:
|
|
||||||
- if: IDF_TARGET in ["esp32", "esp32s2", "esp32s3", "esp32c2", "esp32c3", "esp32c5", "esp32c6", "esp32h2", "esp32p4"]
|
|
||||||
temporary: true
|
|
||||||
reason: the other targets are not supported yet
|
|
||||||
|
|
||||||
tools/test_apps/system/eh_frame:
|
tools/test_apps/system/eh_frame:
|
||||||
enable:
|
enable:
|
||||||
- if: IDF_TARGET in ["esp32c2", "esp32c3"]
|
- if: IDF_TARGET in ["esp32c2", "esp32c3"]
|
||||||
|
4
tools/test_apps/system/clang_build_test/README.md
Normal file
4
tools/test_apps/system/clang_build_test/README.md
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-H2 | ESP32-P4 | ESP32-S2 | ESP32-S3 |
|
||||||
|
| ----------------- | ----- | -------- | -------- | -------- | -------- | -------- | -------- | -------- | -------- |
|
||||||
|
|
||||||
|
This project is for testing if the application can be built with Clang toolchain.
|
@@ -1,3 +1,3 @@
|
|||||||
idf_component_register(SRCS "cpp_pthread.cpp"
|
idf_component_register(SRCS "test_main.cpp"
|
||||||
INCLUDE_DIRS "."
|
INCLUDE_DIRS "."
|
||||||
PRIV_REQUIRES pthread bt)
|
PRIV_REQUIRES pthread bt)
|
@@ -80,7 +80,7 @@ esp_pthread_cfg_t create_config(const char *name, int core_id, int stack, int pr
|
|||||||
|
|
||||||
extern "C" void app_main(void)
|
extern "C" void app_main(void)
|
||||||
{
|
{
|
||||||
// Create a thread using deafult values that can run on any core
|
// Create a thread using default values that can run on any core
|
||||||
auto cfg = esp_pthread_get_default_config();
|
auto cfg = esp_pthread_get_default_config();
|
||||||
esp_pthread_set_cfg(&cfg);
|
esp_pthread_set_cfg(&cfg);
|
||||||
std::thread any_core(thread_func_any_core);
|
std::thread any_core(thread_func_any_core);
|
@@ -1,51 +0,0 @@
|
|||||||
| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-H2 | ESP32-P4 | ESP32-S2 | ESP32-S3 |
|
|
||||||
| ----------------- | ----- | -------- | -------- | -------- | -------- | -------- | -------- | -------- | -------- |
|
|
||||||
|
|
||||||
# C++ pthread Example
|
|
||||||
|
|
||||||
(See the README.md file in the upper level 'examples' directory for more information about examples.)
|
|
||||||
|
|
||||||
Support for the [C++ threads](http://www.cplusplus.com/reference/thread/thread/) in ESP-IDF is implemented on top of the [ESP-pthread](https://docs.espressif.com/projects/esp-idf/en/latest/api-reference/system/esp_pthread.html#overview) component. Thus, C++ threads created using the standard thread class constructor will automatically inherit the current ESP-pthread configuration. This example demonstrates how to leverage the thread configuration functions provided by ESP-pthread (e.g., `esp_pthread_get_default_config()` and `esp_pthread_set_cfg()`) to modify the stack sizes, priorities, names, and core affinities of the C++ threads.
|
|
||||||
|
|
||||||
**Note: Due to the use of the C++ threads, this example is written in C++ instead of C.**
|
|
||||||
|
|
||||||
## How to use example
|
|
||||||
|
|
||||||
### Hardware Required
|
|
||||||
|
|
||||||
This example should be able to run on any commonly available ESP32 development board.
|
|
||||||
|
|
||||||
### Configure the project
|
|
||||||
|
|
||||||
```
|
|
||||||
idf.py menuconfig
|
|
||||||
```
|
|
||||||
|
|
||||||
* The default ESP-pthread configuration may also be modified under `Component config > PThreads`
|
|
||||||
|
|
||||||
### Build and Flash
|
|
||||||
|
|
||||||
Build the project and flash it to the board, then run monitor tool to view serial output:
|
|
||||||
|
|
||||||
```
|
|
||||||
idf.py -p PORT flash monitor
|
|
||||||
```
|
|
||||||
|
|
||||||
(Replace PORT with the name of the serial port to use.)
|
|
||||||
|
|
||||||
(To exit the serial monitor, type ``Ctrl-]``.)
|
|
||||||
|
|
||||||
See the Getting Started Guide for full steps to configure and use ESP-IDF to build projects.
|
|
||||||
|
|
||||||
## Example Output
|
|
||||||
|
|
||||||
The following log output should appear when the example runs (note that the bootloader log has been omitted).
|
|
||||||
|
|
||||||
```
|
|
||||||
...
|
|
||||||
I (380) Thread 1: Core id: 0, prio: 5, minimum free stack: 2068 bytes.
|
|
||||||
I (0) pthread: This thread (with the default name) may run on any core.Core id: 1, prio: 5, minimum free stack: 2056 bytes.
|
|
||||||
I (390) Thread 1: This is the INHERITING thread with the same parameters as our parent, including name. Core id: 0, prio: 5, minimum free stack: 2092 bytes.
|
|
||||||
I (410) Thread 2: Core id: 1, prio: 5, minimum free stack: 2088 bytes.
|
|
||||||
I (410) main: core id: 0, prio: 1, minimum free stack: 2928 bytes.
|
|
||||||
```
|
|
Reference in New Issue
Block a user