Zim Kalinowski
4b8f96c73f
resolve conflicts
2021-10-04 09:02:12 +08:00
Zim Kalinowski
d98b3948b8
Merge remote-tracking branch 'origin/master' into feature/github-5838
2021-10-04 08:38:39 +08:00
Zim Kalinowski
11329a0ce5
rename processors to cores
...
(cherry picked from commit a0d3afcac63bb62516daa3abd316091a1601c08c)
2021-10-01 21:23:17 +08:00
Zim Kalinowski
6590cc7616
freertos: upgrade to 10.4.3 - rename xaskRemoveFromUnorderedEventList
...
(cherry picked from commit e91586b57e19a3776c7c675f62c0afeebd19c294)
2021-10-01 13:28:42 +08:00
Darian Leung
e194113964
freertos: Tidy up port files
...
- port.c and portmacro.h contents are now logically grouped
- Doxygen API descriptions added
- Added refactor todo markers
- Removed portmacro_priv.h. Contents now in portmacro.h
- Formatted files
2021-09-24 18:14:33 +08:00
Zim Kalinowski
d37ed3e05b
freertos: upgrade to 10.4.3 - try to add portDONT_DISCARD
2021-09-22 09:11:44 +08:00
Sudeep Mohanty
7eb75428d5
Merge branch 'feature/freertos-upgrade-to-10.4.3-FreeRTOSConfig.h-location-update' into 'master'
...
freertos: updated the location of FreeRTOSConfig.h
Closes IDF-3721
See merge request espressif/esp-idf!15119
2021-09-15 07:11:12 +00:00
Zim Kalinowski
da65a010a3
fixed invalid taskEXIT_CRITICAL
2021-09-14 15:03:46 +08:00
Sudeep Mohanty
0912df611f
freertos: updated the location of FreeRTOSConfig.h
...
Moved FreeRTOSConfig.h from include/freertos to include/esp_additions/freertos.
Updated FreeRTOS.h file to include FreeRTOSConfig.h without the
freertos/ prefix to match with the upstream file.
Renamed architecture specific FreeRTOSConfig.h files to FreeRTOSConfig_arch.h
Signed-off-by: Sudeep Mohanty <sudeep.mohanty@espressif.com>
2021-09-14 08:46:01 +05:30
Zim Kalinowski
fa56351261
Merge branch 'feature/freertos-upgrade-to-10.4.3-extras' into 'master'
...
freertos: upgrade to 10.4.3 -- extras from SMP base
See merge request espressif/esp-idf!15144
2021-09-13 03:44:18 +00:00
Zim Kalinowski
59f6087b55
Merge branch 'feature/freertos-upgrade-to-10.4.3-reconcile-traces' into 'master'
...
freertos: upgrade to 10.4.3 - reconcile traces
See merge request espressif/esp-idf!15104
2021-09-10 10:18:20 +00:00
Bao Hong De
7fc071e133
Merge branch 'feature/high_level_interrupt_in_bluetooth' into 'master'
...
Bluetooth: High level interrupt in bluetooth
See merge request espressif/esp-idf!11156
2021-09-10 09:50:39 +00:00
Zim Kalinowski
f3b3c1697c
added vApplication... prototypes to tasks.h
2021-09-10 09:37:01 +08:00
baohongde
006a10b050
components/doc: Update doc about high-level interrupt
...
some bugfix.
2021-09-09 20:40:09 +08:00
Zim Kalinowski
5f522cd6f3
freertos: upgrade to 10.4.3 -- extras
2021-09-09 11:54:47 +08:00
baohongde
e2fb413329
components/bt: add config option to choose Bluetooth intterupt level.
2021-09-09 11:29:17 +08:00
baohongde
8a4696d25a
components/os: Fix live lock int bt isr using ocd multicore debug
...
components/os: Fix live lock in bt isr immediately
2021-09-09 11:29:08 +08:00
baohongde
d1db2df316
components/bt: High level interrupt in bluetooth
...
components/os: Move ETS_T1_WDT_INUM, ETS_CACHEERR_INUM and ETS_DPORT_INUM to l5 interrupt
components/os: high level interrupt(5)
components/os: hli_api: meta queue: fix out of bounds access, check for overflow
components/os: hli: don't spill registers, instead save them to a separate region
Level 4 interrupt has a chance of preempting a window overflow or underflow exception.
Therefore it is not possible to use standard context save functions,
as the SP on entry to Level 4 interrupt may be invalid (e.g. in WindowUnderflow4).
Instead, mask window overflows and save the entire general purpose register file,
plus some of the special registers.
Then clear WindowStart, allowing the C handler to execute without spilling the old windows.
On exit from the interrupt handler, do everything in reverse.
components/bt: using high level interrupt in lc
components/os: Add DRAM_ATTR to avoid feature `Allow .bss segment placed in external memory`
components/bt: optimize code structure
components/os: Modify the BT assert process to adapt to coredump and HLI
components/os: Disable exception mode after saving special registers
To store some registers first, avoid stuck due to live lock after disabling exception mode
components/os: using dport instead of AHB in BT to fix live lock
components/bt: Fix hli queue send error
components/bt: Fix CI fail
# Conflicts:
# components/bt/CMakeLists.txt
# components/bt/component.mk
# components/bt/controller/bt.c
# components/bt/controller/lib
# components/esp_common/src/int_wdt.c
# components/esp_system/port/soc/esp32/dport_panic_highint_hdl.S
# components/soc/esp32/include/soc/soc.h
2021-09-09 11:29:06 +08:00
Zim Kalinowski
538911e9ee
reconcile traces
2021-09-07 15:57:50 +08:00
Sudeep Mohanty
3b40d77584
freertos: move esp_compiler.h include from FreeRTOS.h
...
Moved the inclusion of esp_compiler.h from FreeRTOS.h to
the app specific FreeRTOSConfig.h where the unlikely()
macro is used. This change is in alignment with the upstream
FreeRTOS.h file.
Signed-off-by: Sudeep Mohanty <sudeep.mohanty@espressif.com>
2021-09-07 13:12:04 +05:30
Sudeep Mohanty
1a19014d3d
Merge branch 'feature/move-esp-macros-from-freetos-upstream-files' into 'master'
...
freertos: remove xSemaphoreAltTake/Give macros from semphr.h
Closes IDF-3814
See merge request espressif/esp-idf!15088
2021-09-07 04:45:18 +00:00
Zim Kalinowski
8f06bf6e44
freertos: upgrade to 10.4.3 - missing code layout changes
...
(cherry picked from commit 46477d85bb43aafac688747ad0c4090030410e3a)
2021-09-07 10:31:26 +08:00
Sudeep Mohanty
46d54990d8
freertos: remove xSemaphoreAltTake/Give macros from upstream files
...
xSemaphoreAltTake and xSemaphoreAltGive are Espressif defined macros and
are not being used. The respective definitions, xQueueAltGenericReceive
and xQueueAltGenericSend are also not part of current FreeRTOS source
(v10.4.3). Hence, removed xSemaphoreAltTake and xSemaphoreAltGive
definitions to align with upstream code.
Signed-off-by: Sudeep Mohanty <sudeep.mohanty@espressif.com>
2021-09-06 15:55:23 +05:30
Zim Kalinowski
ef75b5a188
Merge branch 'feature/zim-freertos-upgrade-missing-files-etc' into 'master'
...
freertos: upgrade to 10.4.3 - missing files from upstream
See merge request espressif/esp-idf!15061
2021-09-06 06:40:04 +00:00
Zim Kalinowski
3f2f6d0cf5
freertos: upgrade to 10.4.3 - missing files from upstream
2021-09-06 14:39:48 +08:00
Zim Kalinowski
cbb087ae9c
Merge branch 'zim-marking-vtasksuspendall' into 'master'
...
freertos: clearly marking vTaskSuspendAll and a few other small cleanups
See merge request espressif/esp-idf!15048
2021-09-06 06:01:28 +00:00
Zim Kalinowski
61ac7c3368
freertos: upgrade - indexed notifications
2021-09-06 12:46:14 +08:00
Zim Kalinowski
b7dbd3ffc1
Merge branch 'zim-xtaskdelayuntil-and-a-few-minor' into 'master'
...
freertos: upgrade to 10.4.3 - xTaskDelayUntil change and a few minor changes
See merge request espressif/esp-idf!15011
2021-09-02 10:01:16 +00:00
Zim Kalinowski
704a092550
freertos: upgrade to 10.4.3 - xTaskDelayUntil change and a few minor changes
2021-09-02 18:01:08 +08:00
Zim Kalinowski
07bd686471
marking vTaskSuspendAll and a few other small cleanups
...
(cherry picked from commit dc61510249fe441189ea1ca557deb9f003bbd374)
2021-09-02 15:20:19 +08:00
Zim Kalinowski
701c4fb2e3
upgrade freertos version and history
2021-09-02 11:02:34 +08:00
Omar Chebib
92cf321677
freertos: add kconfig options for task snapshot functions
...
Task snapshots is required by other modules that don't use gdbstub
or core dump. Add a Kconfig option to manage these possibilities.
2021-09-01 15:13:48 +08:00
Zim Kalinowski
268eace13a
Merge branch 'zim-some-esp-platform-markers' into 'master'
...
freertos: several ESP specific things clearly marked
See merge request espressif/esp-idf!14995
2021-08-31 02:33:00 +00:00
Zim Kalinowski
4bad316700
freertos: several ESP specific things clearly marked
2021-08-31 10:32:54 +08:00
Zim Kalinowski
29ae014fd6
remaining <pre> to @code changes
2021-08-30 15:13:27 +08:00
Zim Kalinowski
39046c5e3e
Merge branch 'zim-reduce-esp-specific-code' into 'master'
...
freertos: Reduce ESP specific code
See merge request espressif/esp-idf!14969
2021-08-30 06:45:36 +00:00
Zim Kalinowski
5f2a66a8a5
freertos: Reduce ESP specific code
2021-08-30 14:45:31 +08:00
Zim Kalinowski
b843eb61a7
Merge branch 'zim-cherrypicked-coroutine' into 'master'
...
freertos: upgrade to 10.4.3 - vCoRoutineSchedule fix
See merge request espressif/esp-idf!14942
2021-08-30 04:46:28 +00:00
Zim Kalinowski
0583bda9c7
Merge branch 'zim-fix-defines-in-doc' into 'master'
...
freertos: fix defines in documentation
See merge request espressif/esp-idf!14987
2021-08-30 03:36:20 +00:00
Zim Kalinowski
41c0e44185
freertos: Upgrade to 10.4.3 - timers
...
(cherry picked from commit c22a4c355603318a16adb3b898943744d9b826a5)
2021-08-30 10:10:29 +08:00
Zim Kalinowski
13360ab126
fix defines in doc
2021-08-29 21:02:33 +08:00
sU8U7SfkcwTJVH7PjaVmej7D
91a40044f5
[freertos] Silence sign-conversion warning
2021-08-26 12:36:46 +02:00
Zim Kalinowski
a8c7db62be
freertos: cherrypicked code layout changes from freertos upgrade branch
2021-08-26 13:45:51 +08:00
Zim Kalinowski
12bf160f3d
vCoRoutineScheduleFix
...
(cherry picked from commit 1edbd44db107225b7bc6342a7da5680cc12ad22f)
2021-08-25 15:59:00 +08:00
Zim Kalinowski
ff56848a0e
revert dependency
...
integrating changes from upstream
2021-08-17 16:10:45 +08:00
Omar Chebib
32067f9b6b
Merge branch 'feature/freertos_snapshot_extraction' into 'master'
...
freertos: take tasks snapshot out of tasks.c source code
Closes IDF-3334
See merge request espressif/esp-idf!14675
2021-08-16 11:04:51 +00:00
Omar Chebib
83c9e1b223
freertos: take tasks snapshot out of tasks.c source code
2021-08-16 10:29:36 +08:00
KonstantinKondrashov
263c10cee1
freertos: Fix settings of systimer for SysTicks in case Unicore
...
systimer was stopped because the option SYSTIMER_TIMER_UNIT1_CORE1_STALL_EN is set by default 1, it blocks counting.
For Unicore should be:
SYSTIMER_TIMER_UNIT1_CORE0_STALL_EN 1
SYSTIMER_TIMER_UNIT1_CORE1_STALL_EN 0
2021-08-12 12:30:52 +05:00
Zim Kalinowski
afc77dbc5a
freertos: Sync safe changes from Amazon SMP branch
2021-08-10 05:13:43 +08:00
Jakob Hasse
c9984faaef
[mocks]: freertos mock
...
[esp_event]: added preliminary host-based tests
2021-08-06 17:08:21 +08:00
Sachin Parekh
6582f7070e
Update tests for assert and abort
...
- Place panic_abort in IRAM
- Added abort, assert test case in case of cache disabled
- Expect assert instead of abort in a freertos_mutex test
2021-08-05 11:09:22 +05:30
Zim Kalinowski
1fd56e0b87
Merge branch 'feature/systimer_generate_rtos_tick' into 'master'
...
freertos(esp32s3): SysTick uses systimer
Closes IDF-2613
See merge request espressif/esp-idf!12246
2021-08-04 12:33:52 +00:00
Konstantin Kondrashov
29f581fc70
freertos(esp32s3): SysTick uses systimer
2021-08-04 20:33:44 +08:00
Mahavir Jain
77900888f7
Merge branch 'bugfix/uninitialized_tasknumber' into 'master'
...
fix(FreeRTOS): Initialize uxTaskNumber at task initialization
Closes IDFGH-1815
See merge request espressif/esp-idf!14620
2021-08-04 12:12:08 +00:00
Konstantin Kondrashov
4972605b16
esp_common: Add API for IPC to run small pieces of code on the other CPU, in the context of the level 4 interrupt
2021-08-03 14:35:29 +08:00
Gautier Seidel
5a5e710225
fix(FreeRTOS): Initialize uxTaskNumber at task initialization
...
Signed-off-by: Laukik Hase <laukik.hase@espressif.com>
Closes https://github.com/espressif/esp-idf/pull/4025
2021-08-03 10:42:09 +05:30
Craig Kewley
99e2f970c3
doc: freertos: fix function name typo
...
Closes https://github.com/espressif/esp-idf/pull/7265
Closes IDFGH-5539
2021-07-28 19:04:15 +08:00
Konstantin Kondrashov
9c870b74bb
Merge branch 'bugfix/freertos_ut_suspend' into 'master'
...
freertos: Increases delta for UT - Test suspend-resume CPU. The number of...
Closes IDFCI-688
See merge request espressif/esp-idf!14403
2021-07-21 06:07:34 +00:00
Ivan Grokhotkov
c28612cd2b
Merge branch 'bugfix/freertos_coproc_save_area_alignment' into 'master'
...
freertos: Apply upstream stack masking fix for xtensa/port.c (Github PR)
Closes IDFGH-5549
See merge request espressif/esp-idf!14379
2021-07-20 09:00:04 +00:00
KonstantinKondrashov
84e5f52a26
freertos: Increases delta for UT - Test suspend-resume CPU. The number of tick_hook should be the same for both CPUs
2021-07-16 18:26:02 +05:00
Renz Bagaporo
7c22cccb9c
esp32: cleanup build script
2021-07-16 20:14:27 +08:00
Axel Lin
6c2aa59b51
freertos: Apply upstream stack masking fix for xtensa/port.c
...
Link: 6a5784598a (diff-cfa9a8b71a9665b5610f59bd2f56cb81b3ee73beaa6cac3fc965884069588d47)
Signed-off-by: Axel Lin <axel.lin@gmail.com>
Merges https://github.com/espressif/esp-idf/pull/7274
2021-07-15 11:55:41 +02:00
Jakob Hasse
f6031d469b
[cxx]: No ##__VA_ARGS__ in public header files
...
* ##__VA_ARGS__ is replaced by __VA_OPT__(,)
and __VA_ARGS if C++20 is used.
* Affected header files are: esp_log.h,
portmacro.h and esp_check.h
* Closes https://github.com/espressif/esp-idf/pull/6692
2021-07-15 17:05:57 +08:00
Vladimir Chistyakov
1d74652b5e
Fix portGET_ARGUMENT_COUNT macro
...
portGET_ARGUMENT_COUNT uses a GCC extension ##__VA_ARGS__. It forces
the user to compile the code with GNU extensions enabled instead of ISO
language standard. The suggested change is to replace ##__VA_ARGS__ with
__VA_OPT__(,) __VA_ARGS__ which is supported by the current version of
GCC used in ESP-IDF for both C and C++ ISO standards.
This fix would enable ESP-IDF users to compile their code with ISO C++20
standard in future releases.
Signed-off-by: Jakob Hasse <jakob.hasse@espressif.com>
2021-07-15 17:01:31 +08:00
Shu Chen
ee23a489b9
esp32h2: code clean up
2021-07-01 19:53:50 +08:00
Shu Chen
6fce2930d0
esp32h2: enable more components to support esp32h2
...
Involved components:
* app_trace
* esp-tls
* esp_adc_cal
* esp_pm
* esp_serial_slave_link
* esp_timer
* freertos
* idf_test
* log
* mbedtls
* newlib
* perfmon
* spi_flash
* spiffs
* ulp
* unity
* vfs
2021-07-01 19:53:11 +08:00
Angus Gratton
a413cbd784
Merge branch 'feature/esp_timer_with_skip_unhandled_events_does_not_wake_up' into 'master'
...
esp_timer: A timer with skip_unhandled_events won't wake up in light sleep mode
See merge request espressif/esp-idf!13219
2021-06-29 08:10:51 +00:00
Ivan Grokhotkov
d7928bf1db
Merge branch 'feature/esp32c3_apptrace' into 'master'
...
apptrace: refactoring & esp32c3 support
See merge request espressif/esp-idf!11702
2021-06-28 06:00:24 +00:00
Alexey Gerenkov
20fd09728f
apptrace: Adds ESP32-C3 support
2021-06-24 13:16:14 +03:00
Alexey Gerenkov
821869d98d
apptrace: Refactors apptrace for better support various tracing HW
2021-06-24 13:16:13 +03:00
Fu Hanxi
cb46558c30
ci: update performance test key to db compatible format
2021-06-21 14:17:45 +08:00
KonstantinKondrashov
f9ad16bb66
esp_timer: Timers with skip_unhandled_events option won't wake up system from light sleep
2021-06-19 12:45:17 +08:00
Angus Gratton
dc6b950257
doc: Add performance guides for execuion speed, binary size, RAM usage
...
Closes https://github.com/espressif/esp-idf/issues/7007
Closes https://github.com/espressif/esp-idf/issues/6715
Closes https://github.com/espressif/esp-idf/issues/3781
Closes https://github.com/espressif/esp-idf/issues/2566
2021-06-03 13:55:34 +10:00
Ivan Grokhotkov
38d902f544
Merge branch 'feature/gdbstubs_rt' into 'master'
...
Extension of GDBStub component for handling GDB by serial port at runtime.
See merge request espressif/esp-idf!10312
2021-05-18 17:14:51 +00:00
Omar Chebib
dda7001c25
freertos: revert minimum stack size from 2304 to 1536
2021-05-14 11:12:28 +08:00
Dmitry
00a7ecb5a3
Code cleanup. Bugfix after rebase with master. Formating.
2021-05-13 15:03:40 +03:00
Angus Gratton
e02439f2de
freertos: Add addition overflow check for stream buffer
...
Patch from upstream commit d05b9c123f2bf9090bce386a244fc934ae44db5b
2021-05-04 16:55:40 +10:00
Angus Gratton
b41d4b0a9c
freertos: Check for arithmetic overflows on queue creation
...
Addition overflow check is from FreeRTOS kernel commit 47338393f1f79558f6144213409f09f81d7c4837
2021-05-04 16:55:20 +10:00
Angus Gratton
96c2acd9a8
Merge branch 'refactor/strip_systimer_hal_layer' into 'master'
...
refactor HAL driver of systimer to a common systimer_hal
Closes IDF-2996
See merge request espressif/esp-idf!13027
2021-04-23 07:45:31 +00:00
Ivan Grokhotkov
cfdfeed973
freertos: linker.lf rules fixes
...
1. Add conditions based on Kconfig options for functions which are
compiled based on those options.
2. Static allocation is always enabled, move corresponding functions
into the common list.
2021-04-22 17:14:46 +02:00
morris
ec898b771e
systimer: strip hal driver
2021-04-22 21:08:39 +08:00
Ivan Grokhotkov
0535195983
freertos: fix TLS run-time address calculation
...
Since dd849ffc
, _rodata_start label has been moved to a different
linker output section from where the TLS templates (.tdata, .tbss)
are located. Since link-time addresses of thread-local variables are
calculated relative to the section start address, this resulted in
incorrect calculation of THREADPTR/$tp registers.
Fix by introducing new linker label, _flash_rodata_start, which points
to the .flash.rodata output section where TLS variables are located,
and use it when calculating THREADPTR/$tp.
Also remove the hardcoded rodata section alignment for Xtensa targets.
Alignment of rodata can be affected by the user application, which is
the issue dd849ffc
was fixing. To accommodate any possible alignment,
save it in a linker label (_flash_rodata_align) and then use when
calculating THREADPTR. Note that this is not required on RISC-V, since
this target doesn't use TPOFF.
2021-04-21 13:45:21 +02:00
Angus Gratton
c7328f1cc0
freertos: Fix race condition returning incorrect TCB on unpinned tasks
...
Noted as a problem with thread local storage returning a different task's
pointers, but some other were APIs also accessing current task unsafely.
Regression in FreeRTOS 10 update a3c90bf59a
2021-04-20 14:46:49 +10:00
Angus Gratton
191e649257
freertos: Add some comments about deleting tasks when using SMP
...
Some cases are not immediately obvious, so document them in comments.
2021-04-13 03:40:10 +00:00
Angus Gratton
f7b859ac84
freertos: Fix race condition using vTaskDelete() cross-core causing resource leak
...
Causes test added in parent commit to pass.
This race happens if the deleted task is running on the other CPU,
and is already spinning in a critical section waiting for xTaskQueueMutex
because it's about to be blocked for a resource.
The "deleted" task would end up blocked, possibly indefinitely, and
never actually deleted or its resources cleaned up by the idle tasks.
Details:
vTaskDelete() adds the target task to the xTasksWaitingTermination list,
expecting it to be yielded off CPU and then cleaned up later. However as soon as
vTaskDelete() releases xTaskQueueMutex, the target task runs and moves itself to the
xDelayedTaskList1. Because interrupts are already disabled on that CPU,
the "yield" to the other CPU sent by the vTaskDelete() comes afterward so
doesn't help.
2021-04-13 03:40:10 +00:00
Angus Gratton
db7d272873
freertos: Add unit test for deleting task which may be blocking
2021-04-13 03:40:10 +00:00
Angus Gratton
94ac251091
Merge branch 'doc/general_notes' into 'master'
...
doc: Update docs about startup sequence and memory types
Closes IDF-2321, IDF-2409, and IDFGH-1540
See merge request espressif/esp-idf!12636
2021-04-05 23:51:25 +00:00
Angus Gratton
37acd13cdd
doc: Add notes that vTaskStartScheduler() is called during startup
...
Closes https://github.com/espressif/esp-idf/issues/1457
2021-03-31 09:37:28 +11:00
Renz Bagaporo
8d32232899
esp_system: check early for single core variant
2021-03-29 06:50:47 +00:00
Angus Gratton
11e2620acc
freertos docs: Specify that uxTaskGetStackHighWaterMark() returns bytes not words
...
As reported https://esp32.com/viewtopic.php?f=13&t=20043&p=73732
2021-03-25 00:08:24 +00:00
Angus Gratton
9122e530be
Merge branch 'refactor/freertosconfig_h' into 'master'
...
freertos: common config header
Closes IDF-2389
See merge request espressif/esp-idf!12485
2021-03-22 09:04:41 +00:00
Angus Gratton
1581744c10
Merge branch 'feature/main_task_affinity_pr6627' into 'master'
...
Allow selection of different core for main task
Closes IDFGH-4828
See merge request espressif/esp-idf!12654
2021-03-22 06:46:24 +00:00
Renz Bagaporo
021cce3f56
freertos: formatting fixes for config file
2021-03-22 13:35:49 +08:00
Renz Bagaporo
39cf818838
freertos: common config header
2021-03-22 12:19:03 +08:00
Angus Gratton
fd164b82b6
Merge branch 'refactor/move_from_xtensa' into 'master'
...
Movements from xtensa
Closes IDF-2164
See merge request espressif/esp-idf!10556
2021-03-11 00:24:25 +00:00
0xFEEDC0DE64
6928db7670
Allow selection of different core for main task
...
Closes https://github.com/espressif/esp-idf/pull/6627
2021-03-09 10:13:28 +11:00
Angus Gratton
ef0bbc5baa
freertos: Add a small additional stack when optimization set to None
...
Fix for occasional crash on startup when DPORT task overwrites its stack during
context switch, otherwise.
2021-03-04 17:57:55 +11:00
Angus Gratton
9c73b80ee0
freertos: Increase minimum task stack size when stack smashing checker is enabled
...
Fixes issue with DPORT init task, this task uses minimum stack size and may not be
enough if stack smashing detection is set to Overall mode.
Also reworks the way we calculate minimum stack to allow for adding multiple
contributing factors.
Closes https://github.com/espressif/esp-idf/issues/6403
2021-03-04 17:44:36 +11:00
Angus Gratton
3ddfe1e8ac
Merge branch 'bugfix/asserts_disabled' into 'master'
...
core: Fix assert path embedding, warnings when asserts are disabled
Closes IDFGH-4477
See merge request espressif/esp-idf!12371
2021-03-03 08:20:54 +00:00
Angus Gratton
c786ba9186
Merge branch 'feature/re-enable_suspend_test_esp32c3' into 'master'
...
freertos: Workaround delay between interrupt request and trigger on RISC-V
Closes IDF-2588 and IDF-2226
See merge request espressif/esp-idf!12350
2021-03-03 03:41:05 +00:00
Angus Gratton
61b70c50a4
freertos: Use the standard assert() function for configASSERT
...
Unless the option for "assert and keep running" is enabled.
This means that silent asserts now work for FreeRTOS, and disabling asserts
now also disables them in FreeRTOS without needing a separate config change.
Related to https://github.com/espressif/esp-idf/issues/6306
2021-03-03 10:26:57 +11:00
Angus Gratton
d6f4d99d93
core system: Fix warnings in compilation when assertions are disabled
...
Adds a CI config for hello world that sets this, to catch future regressions
2021-03-03 10:26:57 +11:00
Renz Bagaporo
0f03f450ff
esp_hw_support: create esp_cpu
...
Create a esp_cpu header that contains CPU-related functions and
utilities.
2021-02-26 13:34:29 +08:00
Wang Fang
776684fa84
docs: provide the link to pcb layout for ethernet board v1.2 and fix a typo in freetos/task
2021-02-26 10:35:21 +08:00
Omar Chebib
78a94dbb6c
freertos: Fix delay between interrupt request and trigger on RISC-V
...
NOP instructions have been added in order to prevent the code
from executing code it shouldn't execute. This is due to a delay
between the moment an interrupt is requested and the moment it
is fired. It only happens on RISC-V SoC.
2021-02-25 06:57:59 +00:00
Marius Vikhammer
311a0fa5e8
freertos: add API for getting tick rate on C3
2021-02-23 12:05:52 +08:00
Marius Vikhammer
c36dd7834f
core: fix cases where riscv SP were not 16 byte aligned
...
RISC-V stack pointer should always be 16 byte aligned, but for some cases where
we were doing manual SP manipulation this was not always the case.
2021-02-19 11:26:21 +08:00
Marius Vikhammer
eec2419390
system: enable shared stack watchpoint
...
Enable shared stack watchpoint for overflow detection
Enable unit tests:
* "test printf using shared buffer stack" for C3
* "Test vTaskDelayUntil" for S2
* "UART can do poll()" for C3
2021-02-18 15:38:30 +08:00
Marius Vikhammer
d294ac381f
freertos: fix errors reported by PVS-Studio
...
Removed leftover code-paths that were never taken. Upstream freertos uses
vTaskSuspendAll() and xTaskResumeAll(), and therefor check if the task already
yielded.
In the IDF port of freertos we use critcal sections instead, so xAlreadyYielded
will never be set.
Partially addresses https://github.com/espressif/esp-idf/issues/6440
2021-02-11 03:15:04 +00:00
Marius Vikhammer
04df1f3a42
CI: enable example builds for C3
...
Enables building C3 examples in CI.
Fixes related warnings/errors and disables examples that cannot run.
2021-02-09 12:04:02 +08:00
Angus Gratton
fe44643808
Merge branch 'bugfix/doc_freertos_smp_macros' into 'master'
...
docs: Update SMP descriptions for taskENTER_CRITICAL/taskEXIT_CRITICAL
Closes IDFGH-4428
See merge request espressif/esp-idf!12219
2021-02-05 08:14:50 +08:00
Angus Gratton
bc09dda0f4
docs: Update SMP descriptions for taskENTER_CRITICAL/taskEXIT_CRITICAL
...
Closes https://github.com/espressif/esp-idf/issues/6259
2021-02-05 10:18:23 +11:00
Ivan Grokhotkov
458308786b
Merge branch 'doc/fix_pxTaskGetStackStart' into 'master'
...
[doc/freertos]: fixed doc of pxTaskGetStackStart()
Closes IDF-1668
See merge request espressif/esp-idf!12159
2021-02-02 07:09:00 +08:00
Ivan Grokhotkov
bb1f75179b
Merge branch 'bugfix/freertos_systimer_stall_when_cpu_halted' into 'master'
...
freertos: stall systimer while CPU is in debug mode
See merge request espressif/esp-idf!12063
2021-01-29 07:02:30 +08:00
Angus Gratton
cc934ea0a1
Merge branch 'feature/esp32c3_tls' into 'master'
...
freertos: add thread local storage support in RISC-V port
Closes IDF-2125
See merge request espressif/esp-idf!12064
2021-01-27 15:19:06 +08:00
Marius Vikhammer
4374966d4e
freerots: fix rtos_int_exit writing outside ISR stack
...
rtos_int_exit would store RA at an offset of 4 byte from the SP,
where the offset should be 0.
This caused rtos_int_exit to overwrite variables in bss.
2021-01-26 11:18:39 +00:00
Jakob Hasse
fd58ed2f74
[doc/freertos]: fixed doc of pxTaskGetStackStart()
...
Closes IDF-1668
2021-01-26 17:31:11 +08:00
Ivan Grokhotkov
1402941402
test/freertos: add RISC-V support in thread local storage test
2021-01-24 12:38:15 +00:00
Ivan Grokhotkov
b2aaebaf85
freertos: add thread local storage support in RISC-V port
2021-01-24 12:38:15 +00:00
Ivan Grokhotkov
d7bac619ec
freertos: stall systimer while CPU is in debug mode
2021-01-24 11:32:17 +00:00
Angus Gratton
3532f52f60
Merge branch 'bugfix/ldgen_ignore_nonexistent_archives_and_obj' into 'master'
...
ldgen: check mappings
Closes IDF-1624
See merge request espressif/esp-idf!8557
2021-01-21 15:59:35 +08:00
Jiang Jiang Jian
26ae354dc5
Merge branch 'feature/support_esp32c3_lightsleep_master' into 'master'
...
support esp32c3 lightsleep for master
Closes IDF-2106
See merge request espressif/esp-idf!11975
2021-01-20 16:00:06 +08:00
Ivan Grokhotkov
b69f94fb3a
Merge branch 'feature/move_ringbuf_funcs_into_flash' into 'master'
...
esp_ringbuf: add kconfig opt to move ringbuffer functions into flash
Closes IDF-2247
See merge request espressif/esp-idf!10731
2021-01-20 07:32:39 +08:00
Alex Lisitsyn
8bde6b8fca
esp_ringbuf: add kconfig opt to move ringbuffer functions into flash
2021-01-20 07:32:31 +08:00
Li Shuai
63c4e5481f
fix no RTOS SysTick interrupt for a period of time after the OS Scheduler is started
2021-01-19 14:51:22 +08:00
Li Shuai
355dd10257
light sleep: dfs support for esp32c3
2021-01-19 14:50:58 +08:00
Renz Bagaporo
d1c800fbbb
components: fix ldgen check errors
2021-01-19 11:17:18 +08:00
Alexey Gerenkov
ae1cc5f49b
freertos: Adds snapshot API to walk over tasks lists
2021-01-15 06:37:12 +00:00
Jakob Hasse
b51889dccb
system: stack watchpoint support on C3
...
Closes IDF-2307
2021-01-14 17:46:44 +08:00
morris
753a929525
global: fix sign-compare warnings
2021-01-12 14:05:08 +08:00
Marius Vikhammer
9c8e4fd4c5
C3: build and run unit tests
...
Enable building and running of unit tests in CI for C3 as well as fix
related compile errors
Also enables building of C3 test apps
2021-01-11 11:34:37 +08:00
morris
9e7d2c0065
esp32c3: format and clean up interrupt and os port code
2021-01-05 15:39:46 +08:00
Felipe Neves
544a3f7df5
interrupt-allocator: reject vector allocation if its marked as not-implemented. and search to next available
2021-01-05 15:39:46 +08:00
Felipe Neves
ec5acf91ee
esp_shared_stack: enable shared stack function for riscv and reenable the unit test
2021-01-05 15:39:46 +08:00
Felipe Neves
f4781d3b1d
freertos: riscv port now uses interrupt allocator and crosscore interrupt
2021-01-05 15:39:46 +08:00
Felipe Neves
810be86f21
freertos/riscv: move freertos aware interrupt code from vectors to the freertos riscv port.
...
The riscv vectors.S in riscv component contains the trap vector, which is responsible to
defer interrupts and examine if a task context switch is needed, this change cleans up
this code by hiding all freertos details behind on two functions rtos_it_enter/exit and
their implementations are placed in freertos riscv port files.
2021-01-05 15:39:46 +08:00
Ivan Grokhotkov
7f3b16a99d
freertos: always enable static allocation
...
to use it for newlib locks
2020-12-29 16:18:04 +01:00
Angus Gratton
8a52f20a79
Merge branch 'feature/freertos_add_xQueueGenericReceive' into 'master'
...
freertos: add `xQueueGenericReceive` for backward compatibility
See merge request espressif/esp-idf!11169
2020-12-24 12:20:03 +08:00
Mahavir Jain
953418dbb4
Merge branch 'bugfix/missing_coreinfo_in_vtasklist' into 'master'
...
freertos: Fix missing affinity info in vTaskList
Closes IDFGH-4239 and IDFGH-4241
See merge request espressif/esp-idf!11606
2020-12-21 19:43:40 +08:00
Axel Lin
29b6b0ce0d
freertos: Fix missing affinity info in vTaskList
...
Show affinity info if CONFIG_FREERTOS_VTASKLIST_INCLUDE_COREID is set.
Closes https://github.com/espressif/esp-idf/pull/6099
Closes https://github.com/espressif/esp-idf/issues/6097
Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Mahavir Jain <mahavir@espressif.com>
2020-12-14 16:50:07 +05:30
Ivan Grokhotkov
8bf1c2565f
freertos: clarify statement on task function not returning
...
Mentioned in https://www.esp32.com/viewtopic.php?f=2&t=18220 .
2020-12-02 11:58:56 +01:00
Angus Gratton
5228d9f9ce
esp32c3: Apply one-liner/small changes for ESP32-C3
2020-12-01 10:58:50 +11:00
Mahavir Jain
c62a9e5f2c
freertos: add xQueueGenericReceive
for backward compatibility
...
Add `xQueueGenericReceive` as that has been removed in FreeRTOS10.
This in turn breaks pre-builts libraries with earlier IDF releases
relying on this API.
Closes https://github.com/espressif/esp-wolfssl/issues/6
2020-11-27 19:08:42 +05:30
Angus Gratton
87e13baaf1
freertos: Add RISC-V port
...
Changes come from internal branch commit a6723fc
2020-11-13 07:49:11 +11:00
Angus Gratton
66fb5a29bb
Whitespace: Automated whitespace fixes (large commit)
...
Apply the pre-commit hook whitespace fixes to all files in the repo.
(Line endings, blank lines at end of file, trailing whitespace)
2020-11-11 07:36:35 +00:00
Mahavir Jain
199b2cb79d
freertos: add parameter validation checks in xTaskCreateStaticPinnedToCore
...
Regression from commit-id a3c90bf59a
2020-10-21 14:05:01 +11:00
Angus Gratton
c87fe77ef9
freertos: Restore the check that mutex is given by owner
...
Even without this check, if the owner doesn't match then FreeRTOS will still
fail an assertion - but it's not as clear what the root cause is.
2020-10-21 14:04:01 +11:00
Angus Gratton
8a70b1cdc9
ci freertos: Add test configs for some of the optional FreeRTOS 10 configurations
...
Also unit tests for the legacy hook functions.
2020-10-21 14:04:01 +11:00
Angus Gratton
bb74334830
freertos: Fix regression when xCoreID included in task status TCB
...
Regression when adding FreeRTOS 10 support.
As reported at https://github.com/espressif/esp-idf/issues/1453#issuecomment-709663537
2020-10-20 14:06:28 +11:00
Angus Gratton
1224ae9a42
freertos: Use configured idle task stack size not minimum task stack size for idle tasks
2020-10-14 16:11:49 +11:00