Jakob Hasse
be59c94917
feat(pthread): Pthread can now use PSRAM as stack
...
Closes https://github.com/espressif/esp-idf/pull/10623
Closes https://github.com/espressif/esp-idf/issues/8662
Thanks to f-hoepfinger-hr-agrartechnik for the contribution
in https://github.com/espressif/esp-idf/pull/10623
2024-01-22 15:33:05 +08:00
Marius Vikhammer
8fe0f99368
change(system): enabled pthread, ringbuf and event tests
2023-12-21 11:09:42 +08:00
Jakob Hasse
a937efef1a
feat(pthread): added pthread_condattr* stubs to avoid linker errors
...
Closes https://github.com/espressif/esp-idf/issues/12171
2023-09-26 12:17:38 +08:00
Jakob Hasse
ccaceec15d
fix(pthread): fixed pthread_condvar linker hook
2023-09-12 11:17:31 +08:00
Armando
7dbd3f6909
feat(ci): Enable p4 example, test_apps and unit tests CI build
2023-08-24 12:51:19 +08:00
Jakob Hasse
8042362e2a
refactor: moved semaphore.h to newlib platform_include
...
Closes https://github.com/espressif/esp-idf/issues/11540
2023-08-08 16:45:57 +08:00
Zim Kalinowski
1f3aec2e67
bugfix(pthread): fixed log related warning
2023-07-19 15:51:56 +08:00
Zim Kalinowski
3e48e008e2
pthread: updated qemu test scripts
2023-06-13 13:05:15 +02:00
Alexey Lapshin
dfcab42a01
pthread: fix restrict keyword usage in function declarations
...
See https://gcc.gnu.org/onlinedocs/gcc/Restricted-Pointers.html
2023-05-05 13:35:19 +08:00
Jakob Hasse
852c60fee0
Merge branch 'refactor/pthread_iram' into 'master'
...
pthread: removed IRAM code from pthread
Closes IDF-7147
See merge request espressif/esp-idf!23213
2023-04-19 15:31:19 +08:00
Jakob Hasse
e7312cccea
pthread: added pthread_rwlock_tryrd/wrlock()
...
Closes https://github.com/espressif/esp-idf/issues/9229
2023-04-17 16:16:11 +08:00
Jakob Hasse
999fa28187
pthread: removed IRAM code from pthread
...
* Currently, the underlying FreeRTOS API functions
used for the pthread implementation are not
ISR-safe, hence the removal of IRAM placement.
2023-04-17 10:19:33 +08:00
Jakob Hasse
45c8b8ba10
pthread: Implemented POSIX unnamed semaphore
2023-03-21 10:23:58 +08:00
Jakob Hasse
8e2e61ad83
pthread: unit test builds only necessary components
2023-03-14 09:37:01 +08:00
Jakob Hasse
be7859ad43
pthread: fixed wrong deletion of condvar in unit test
2023-03-14 09:37:01 +08:00
Jakob Hasse
0769298b3b
Merge branch 'contrib/github_pr_8987' into 'master'
...
pthread: avoid heap alloc in pthread_cond_timedwait if possible (GitHub PR)
Closes IDFGH-7409
See merge request espressif/esp-idf!22702
2023-03-13 19:34:21 +08:00
Zim Kalinowski
ff3a3ac411
pthread: fix and re-enable no-format warnings
2023-03-12 21:49:57 +01:00
MacDue
253b952f4d
pthread: avoid heap alloc in pthread_cond_timedwait
2023-03-10 15:52:27 +08:00
Omar Chebib
5e5343d429
TWDT: Use the new TWDT Kconfig options in the examples and tests
2023-02-17 11:22:25 +08:00
David Cermak
fa97004faf
lwip: Support for linux target
...
Implement linux port layer and reuse the original FreeRTOS layer
that's compiled and used on linux target as well, by means of FreeRTOS
simulator.
2023-01-31 08:43:45 +01:00
Cao Sen Miao
94120b82c2
esp32h2: add build test
2023-01-17 10:29:04 +08:00
Zim Kalinowski
7627a12045
pthread: enable qemu tests
2022-12-13 21:42:58 +01:00
Sudeep Mohanty
b3755b751e
pthread: Remove pthread TLS cleanup dependency on FreeRTOS Static Task Cleanup Hook
...
This commit removes the need to define the vTaskCleanupTCB hook in
pthread to cleanup the thread-specific data before a thread is deleted.
2022-11-02 09:52:28 +01:00
Song Ruo Jing
be0fdfa176
soc: Add a soc cap, SOC_CLK_RC_FAST_D256_SUPPORTED, for whether the target has the RC_FAST_D256 clock
2022-11-01 11:23:26 +08:00
Ivan Grokhotkov
4a69a3f7ef
Merge branch 'feature/cmake_use_new_features' into 'master'
...
cmake: use features introduced between 3.5 and 3.16
Closes IDF-5955
See merge request espressif/esp-idf!19819
2022-09-21 11:05:06 +08:00
Ivan Grokhotkov
c392c06216
cmake: remove -D prefix from COMPILE_DEFINITIONS property
...
Unlike COMPILE_OPTIONS, COMPILE_DEFINITIONS CMake property assumes
values without the -D prefix, such as NAME or NAME=VAL.
Previously, IDF build system was passing COMPILE_DEFINITIONS build
property to CMake COMPILE_OPTIONS property, so -D prefix was not
a problem.
Now that COMPILE_DEFINITIONS CMake property is used, -D prefix has
to be removed.
(Note that this doesn't affect 'target_compile_definitions' function,
which strips -D prefix before adding the definition to the property.)
2022-09-20 11:08:02 +02:00
Marius Vikhammer
46c092c04a
pthread: migrate unit tests to pytest test app
2022-09-19 17:43:33 +08:00
Ivan Grokhotkov
401c10ecfb
build system: re-add -Wno-format as private flag for some components
2022-08-03 16:42:47 +04:00
Darian Leung
781d06af73
esp_hw_support: Remove compare_set.h API
...
This function removes the following legacy atomic CAS functions:
From compare_set.h (file removed):
- compare_and_set_native()
- compare_and_set_extram()
From portmacro.h
- uxPortCompareSet()
- uxPortCompareSetExtram()
Users should call esp_cpu_compare_and_set() instead as this function hides the details
of atomic CAS on internal and external RAM addresses.
Due to the removal of compare_set.h, some missing header includes are also fixed in this commit.
2022-07-22 00:06:06 +08:00
Marius Vikhammer
c6260e66e5
system: re-enable esp_event, real_time_stats and pthread examples and test for C2
2022-06-23 02:05:46 +00:00
Darian Leung
97cf44cbe0
freertos: Fix SMP FreeRTOS TSLP deletion callback tests
...
The TLSP deletion callback feature is not compatible with the CONFIG_FREERTOS_ENABLE_STATIC_TASK_CLEAN_UP
option. However, the "freertos_options" unit test configuration will enable that option.
This commit disables all CONFIG_FREERTOS_ENABLE_STATIC_TASK_CLEAN_UP related features when compiling with
SMP FreeRTOS.
2022-06-17 21:57:11 +08:00
Michael (XIAO Xufeng)
6a8aed12ee
ci: partially enable ut tests for esp32c2
...
Disabled test cases are tracked in:
IDF-4465, IDF-5045, IDF-5057, IDF-5058, IDF-5059, IDF-5060, IDF-5061, IDF-5131
- test_fatfs: IDF-5136
- test_pm: IDF-5053
- test_cache_mmu: IDF-5138
- test_partitions: IDF-5137
- test_vfs: IDF-5139
- test_freertos: IDF-5140
- test_wpa_supplicant: IDF-5046
- test_mbedtls: IDF-5141
- test_pthread: IDF-5142
- test_protocomm: IDF-5143
- test_lightsleep: IDF-5053
- test_taskwdt: IDF-5055
- test_tcp_transport: IDF-5144
- test_app_update: IDF-5145
- test_timer: IDF-5052
- test_spi: IDF-5146
- test_rtc_clk: IDF-5060
- test_heap: IDF-5167
ci: fixed issues for tests of libgcc, ets_timer, newlib
test_pm: support on C2
2022-06-02 14:23:35 +08:00
Anton Maklakov
8ea1a2b1e8
pthread: add missing header
2022-05-30 12:43:36 +07:00
Ivan Grokhotkov
708e99497b
global: add dependency on esp_timer component and include esp_timer.h
...
Some components were including esp_timer.h without declaring a
dependency on esp_timer component. This used to work due to a
transitive public dependency on esp_timer from freertos component.
Add explicit dependencies where needed.
Also some source files were using esp_timer functions without
including the header file. This used to work because esp_timer.h was
included from freertos port header file. This commit adds esp_timer.h
includes where needed.
2022-04-25 18:39:23 +02:00
Anton Maklakov
68e5d9d585
Remove IRAM_ATTR from any function declarations
...
IRAM_ATTR expands to a unique section attribute. Applying it to both
declaration and definition results in a section conflict.
2022-03-22 09:58:50 +00:00
Sudeep Mohanty
a9fda54d39
esp_hw_support/esp_system: Re-evaluate header inclusions and include directories
...
This commit updates the visibility of various header files and cleans up
some unnecessary inclusions. Also, this commit removes certain header
include paths which were maintained for backward compatibility.
2022-03-07 11:18:08 +05:30
Darian Leung
57fd78f5ba
freertos: Remove legacy data types
...
This commit removes the usage of all legacy FreeRTOS data types that
are exposed via configENABLE_BACKWARD_COMPATIBILITY. Legacy types can
still be used by enabling CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY.
2022-02-09 23:05:45 +08:00
morris
ef00bd59dc
esp_rom: extract int matrix route and cpu ticks getter
2022-02-09 13:52:20 +08:00
Roland Dobai
766aa57084
Build & config: Remove leftover files from the unsupported "make" build system
2021-11-11 15:32:36 +01:00
Jakob Hasse
32e3444701
feat (pthread): reader-writer locks implementation
...
* Added implementation based on cond. variables
* Added unit tests
Closes https://github.com/espressif/esp-idf/issues/7411
2021-11-03 16:38:14 +08:00
Angus Gratton
c685ef303b
pthread: Fix race conditions in existing pthread UTs
2021-06-22 08:26:08 +08:00
Angus Gratton
262107691a
pthread: Fix pthread_cond_timedwait returning early from timeout
...
The reason timeouts would sometimes happen before the abstime deadline was due
to rounding errors converting the timeout to milliseconds, and also because
vTaskDelay(1) only delays until the next tick which is less than one full tick
period.
Closes https://github.com/espressif/esp-idf/issues/6901
2021-06-22 08:26:08 +08:00
Angus Gratton
6713291dad
pthread: Fix behaviour when pthread destructor calls pthread_getspecific/pthread_setspecific
...
Update as per specification at https://pubs.opengroup.org/onlinepubs/009695399/functions/pthread_key_create.html
Specifically:
- Before a destructor is called then the value for the corresponding key is
already set to NULL.
- If a destructor calls pthread_setspecific() to assign a non-NULL value then
this destructor is called again, after all existing non-NULL values have been
called.
Adds a test for this relatively complex behaviour.
Closes https://github.com/espressif/esp-idf/issues/6643
2021-05-18 10:21:34 +10:00
Angus Gratton
b7ad39f694
Merge branch 'bugfix/pthread_docs' into 'master'
...
Fix and improve pthread docs, create pthread example
Closes IDF-731 and IDFGH-5085
See merge request espressif/esp-idf!13314
2021-05-14 01:19:02 +00:00
Angus Gratton
c6b2191643
pthread: Cleanups for attr init/destroy
...
* Zero all fields of the attr structure when initializing
* Can implement pthread_attr_destroy() by calling pthread_attr_init()
2021-05-14 10:03:11 +10:00
Angus Gratton
a6dea64106
pthread: Add support for PTHREAD_COND_INITIALIZER
...
Includes unit test for condition variables in C (previous test was C++ only)
2021-05-14 10:03:11 +10:00
Angus Gratton
bf1a6eb770
pthread: Fix possible deadlock when using pthread_join() and Debug log level
...
Possible for a joined task to be deleted at the moment it is logging,
meaning it might hold the stdout lock. In that case the lock isn't
released and the next task to try and take it (i.e. call printf)
will block indefinitely.
2021-05-05 14:12:13 +10:00
Angus Gratton
6e80811ca2
log: Remove redundant definition of LOG_LOCAL_LEVEL
...
After adding a maximum setting, the default value of LOG_LOCAL_LEVEL
will be CONFIG_LOG_MAXIMUM_LEVEL not CONFIG_LOG_DEFAULT_LEVEL
2021-04-23 18:13:04 +10:00
Angus Gratton
79ae7a7bd9
freertos: test: Add stress test for thread local storage
...
(Fails without the fix applied in parent commit.)
2021-04-20 14:46:49 +10:00
xutao
28ca70cce5
pthread: fix the priority inheritance
...
When `pthread_mutex_destroy` is used to release mutex, `pthread_mutex_lock_internal` is used,
which results in the increase of `uxmutexehold` and no recovery base priority
2020-11-13 06:30:11 +00:00