Commit Graph

499 Commits

Author SHA1 Message Date
Darian Leung
39cf3638ae change(freertos): Deprecate usage of vPortCleanUpTCB() by applications
Previously, if CONFIG_FREERTOS_ENABLE_STATIC_TASK_CLEAN_UP was enabled, users
would provide a definition for a vPortCleanUpTCB() hook function that is called
right before a task's memory is freed in prvDeleteTCB(). However,
vPortCleanUpTCB() will be reclaimed by ESP-IDF for internal use in v6.0.

This commit introduces the following changes...

Introduced a new CONFIG_FREERTOS_TASK_PRE_DELETION_HOOK option:

- Provides the same pre-deletion hook functionality. But users now define
vTaskPreDeletionHook() instead.
- CONFIG_FREERTOS_ENABLE_STATIC_TASK_CLEAN_UP still exists, but is marked as
deprecated. This is to maintain compatibility with existing applications
that already define vPortCleanUpTCB().
- Removed redundant --wl --wrap workaround with vPortCleanUpTCB()
- Added todo notes to remove support for user defined vPortCleanUpTCB()
completely in v6.0.
- Updated test cases to use new CONFIG_FREERTOS_TASK_PRE_DELETION_HOOK option

Freed up portCLEAN_UP_TCB() to call a new internal vPortTCBPreDeleteHook():

- vPortTCBPreDeleteHook() now replaces the previous "wrapped" implementation
of vPortCleanUpTCB().
- vPortTCBPreDeleteHook() is an internal task pre-delete hook for IDF FreeRTOS
ports to inject some pre-deletion operations.
- Internal pre-delete hook now invokes user provided vTaskPreDeletionHook()
if enabled.
- Relocated vPortTCBPreDeleteHook() to correct section in port.c
2023-08-23 17:50:08 +08:00
Euripedes Rocha
d80a2881d1 ci: Fix publish connect mqtt test
Minor changes necessary to make the test run correctly
2023-08-23 10:04:19 +02:00
Lu Ze Yu
14d87655da Merge branch 'fix/fix_intr_alloc_expected_result' into 'master'
fix(ci): fix expected intr_dump result

Closes IDFCI-1790

See merge request espressif/esp-idf!25459
2023-08-22 15:21:42 +08:00
Planck (Lu Zeyu)
99ee7d6b18 fix(ci): fix expected intr_dump result 2023-08-22 12:25:53 +08:00
Marius Vikhammer
a63e067d64 Merge branch 'ci/c6_c2_system_build' into 'master'
ci(build_test): enable system/build apps for C6 and C2

See merge request espressif/esp-idf!25400
2023-08-22 11:16:22 +08:00
Marius Vikhammer
f371679a8d ci(build_test): enable system/build apps for C6 and C2 2023-08-18 13:08:06 +08:00
Michael (XIAO Xufeng)
47c153b949 Merge branch 'ci/pre-commit-check-build-test-rule-exist' into 'master'
pre-commit: add check that build-test-rule paths must exist

See merge request espressif/esp-idf!25231
2023-08-17 02:25:45 +08:00
Jakob Hasse
f0e7474d30 Merge branch 'feature/wifi_mock' into 'master'
feat(linux): added very simple esp_wifi mock

Closes IDFGH-9190

See merge request espressif/esp-idf!24400
2023-08-16 15:23:15 +08:00
Xiao Xufeng
f51258ec18 ci(pre-commit): add check that build-test-rule paths must exist 2023-08-11 17:04:35 +08:00
Andrii
6a42266795 fix(mqtt): Unite supported components tags under common structure 2023-08-10 09:06:16 +00:00
Armando (Dou Yiwen)
337aeb4b78 Merge branch 'feature/add_esp32p4_hello_world' into 'master'
esp32p4: introduced new chip ESP32P4: Hello World! 🌏

Closes IDF-7523

See merge request espressif/esp-idf!25013
2023-08-10 16:04:55 +08:00
Armando
706d684418 feat(esp32p4): introduced new target esp32p4, supported hello_world 2023-08-09 19:33:25 +08:00
Jakob Hasse
8b9f8555ea refactor(tools): public header check also checks c++ now
* Also changed --only-dir argument to accept system-wide
  directories instead of directories from IDF root
2023-08-09 16:23:13 +08:00
Alexey Lapshin
16f34704cb fix(gdbstub): skip xtensa_stepping_bug testcase until fixed 2023-08-04 07:41:21 +04:00
Chen Yu Dong
ad84b8f4b4 Merge branch 'ci/add_test_case_phy_tsens' into 'master'
ci: add new test tsens phy coexist

See merge request espressif/esp-idf!24298
2023-08-03 11:17:34 +08:00
Alexey Lapshin
47e400c296 feature(gdbstub): Move runtime gdbstub out of panic config
Closes https://github.com/espressif/esp-idf/pull/11569
2023-08-01 14:28:07 +04:00
Chen Yudong
fe1b03308e ci(tsens): add new test tsens phy coexist 2023-07-31 12:13:24 +08:00
Alexey Lapshin
5f07ed87f6 Merge branch 'fix/esp32c2-gdbstub-runtime' into 'master'
fix(freertos): enable esp32c2 runtime-gdbstub

See merge request espressif/esp-idf!24858
2023-07-28 15:41:07 +08:00
Ivan Grokhotkov
2bcb227542
ci(system): add test app for esp_intr_dump 2023-07-19 16:47:41 +02:00
Zim Kalinowski
1b6ef8a812 Merge branch 'bugfix/included-esp-system-in-helloworld-example' into 'master'
fix(example): included esp_system.h in helloworld example in order to fix warning

See merge request espressif/esp-idf!24729
2023-07-19 16:20:49 +08:00
Alexey Lapshin
99ac68246e fix(freertos): enable esp32c2 runtime-gdbstub 2023-07-18 12:15:33 +04:00
Roland Dobai
30672c7c65 Merge branch 'docs/monitor_rom_address_decoding' into 'master'
esp_idf_monitor: ROM ELF address decoding docs and tests

Closes IDF-372

See merge request espressif/esp-idf!24271
2023-07-17 18:52:29 +08:00
wuzhenghui
797efb1dd3 ci: add pd_vddsdio in lightsleep UT tests
- Add pd_vddsdio in lightsleep UT tests to ensure proper functionality
2023-07-14 21:21:23 +08:00
Zim Kalinowski
d155a04fd5 fix(example): included esp_system.h in helloworld example in order to fix warning 2023-07-12 10:09:41 +08:00
Jakob Hasse
9ed56031b2 feat(linux): added esp_wifi mocking support 2023-07-10 19:40:09 +08:00
Jakob Hasse
54450fa4c2 feat(driver): Added usb serial mock 2023-07-10 17:46:59 +08:00
Jakob Hasse
fad3294f04 Merge branch 'refactor/merge_linux_driver_build_test' into 'master'
Linux: Merged rmt and driver Linux build test to one application

See merge request espressif/esp-idf!24395
2023-07-10 15:44:50 +08:00
Armando (Dou Yiwen)
adb93a3770 Merge branch 'feature/add_esp32p4_soc_support_part_3' into 'master'
soc: added soc headers for esp32p4 (part 3)

See merge request espressif/esp-idf!24481
2023-07-07 11:44:46 +08:00
Armando
611c1037a2 feat(soc): added soc_caps.h on esp32p4 2023-07-06 17:54:31 +08:00
morris
f0c07f82b5 fix(test): check call graph for hal component 2023-07-05 09:09:01 +08:00
Alexey Lapshin
4df3ff619e feat(esp_system): implement hw stack guard for riscv chips
- add hardware stack guard based on assist-debug module
- enable hardware stack guard by default
- disable hardware stack guard for freertos ci.release test
- refactor rtos_int_enter/rtos_int_exit to change SP register inside them
- fix panic_reason.h header for RISC-V
- update docs to include information about the new feature
2023-07-01 16:27:40 +00:00
radim.karnis
6a2a7521c8 ci(esp_idf_monitor): Extend test_app for ROM ELF address decoding 2023-06-28 15:42:05 +02:00
Martin Vychodil
65bc1ed055 System: remove digital-system reset within OS restart when Memprot on 2023-06-26 20:22:59 +02:00
Jakob Hasse
775a7eb566 refactor(CI): Merged rmt and driver Linux build test 2023-06-25 17:25:49 +08:00
Konstantin Kondrashov
c350c3c504 Merge branch 'feature/cleanup_wrong_log_use' into 'master'
all: Removes unnecessary newline character in logs

Closes IDFGH-10197

See merge request espressif/esp-idf!24131
2023-06-15 21:49:49 +08:00
Marius Vikhammer
86c5b437b5 Merge branch 'ci/trim_test_apps' into 'master'
core-system: limit build components for core-system test apps

Closes IDF-7092

See merge request espressif/esp-idf!24167
2023-06-13 15:31:00 +08:00
Marius Vikhammer
6d11c37ff1 core-system: trim build components for core-system test apps 2023-06-13 09:14:42 +08:00
Alexey Gerenkov
d4e1935ba8 Merge branch 'feature/compiler_rt_support' into 'master'
build: Adds support for compiler-rt in Clang toolchain

See merge request espressif/esp-idf!21213
2023-06-09 04:41:34 +08:00
KonstantinKondrashov
e72061695e all: Removes unnecessary newline character in logs
Closes https://github.com/espressif/esp-idf/issues/11465
2023-06-09 03:31:21 +08:00
Alexey Gerenkov
e9345bcced build: Adds support for Clangs's toolchain compiler-rt 2023-06-08 16:49:37 +03:00
Marius Vikhammer
c60b79978d Merge branch 'ci/system_test_apps_optimize' into 'master'
ci: cleanup tools/system test apps

See merge request espressif/esp-idf!23886
2023-06-01 13:32:00 +08:00
Marius Vikhammer
350650eb73 ci: cleanup tools/system test apps 2023-05-30 15:42:37 +08:00
Alexey Lapshin
9220eea4e4 test: gdbstub_runtime: initial commit 2023-05-19 20:15:58 +08:00
Alexey Lapshin
96768d7596 test: panic: use gdb-no-python to have ability to send signals 2023-05-19 20:15:58 +08:00
KonstantinKondrashov
b605404b06 esp_app_format: IRAM space optimization 2023-05-17 23:40:59 +08:00
KonstantinKondrashov
69838403f9 esp_bootloader_format: Adds bootloader description structure to read bootloader version from app
Closes https://github.com/espressif/esp-idf/issues/8800
Closes https://github.com/espressif/esp-idf/issues/9132
2023-05-10 21:39:52 +08:00
Jakob Hasse
bc7a7e8451 Merge branch 'bugfix/cmake_cxx_language_standard' into 'master'
cmake: Corrected setting of C++ language standard

See merge request espressif/esp-idf!23520
2023-05-10 10:28:43 +08:00
Marius Vikhammer
a300b3eb81 ci: fix invalid kconfig options in system test apps 2023-05-09 11:27:55 +08:00
Jakob Hasse
0244c24c8d cmake: Corrected setting of C++ language standard
* reverted old faulty mechanism to set different
  standard according to the toolchain
* Using -std=gnu++2b now for both gcc and clang
* Added a build test app to check the C++ standard in IDF
* Updated english docs to reflect the change to C++23
2023-05-09 10:09:19 +08:00
Jakob Hasse
0a3cfce671 Merge branch 'contrib/github_pr_10895' into 'master'
Fix possible conversion errors by using __builtin_ffsll (GitHub PR)

Closes IDFGH-9541

See merge request espressif/esp-idf!23429
2023-05-04 10:41:46 +08:00
Jakob Hasse
9f4236f825 ci: increased freertos SMP linux target test timeout 2023-04-28 17:49:37 +08:00
Jakob Hasse
ca44fc3847 cxx/esp_hw_support: added build test, changed parameter types
Changed rv_utils_intr_edge_ack and esp_cpu_intr_edge_ack to
take uint32_t instead of int to avoid build errors.

The test is to test in particular that __builtin_ffsll, used in
xt_utils.h, which is included via esp_cpu.h, compiles fine
in C++20 with -Wsign-conversion enabled.

Closes https://github.com/espressif/esp-idf/pull/10895
2023-04-26 19:06:39 +08:00
Marius Vikhammer
1a5e47bd07 ci: fixed test apps overriding pytest configs 2023-04-26 11:07:35 +08:00
Zim Kalinowski
98bf5a71c5 Merge branch 'refactor/optimize_test_app_builds' into 'master'
tools: setting components to main to reduce build time

See merge request espressif/esp-idf!23253
2023-04-25 22:40:05 +08:00
Jakob Hasse
620cc586a2 tools: setting components to main to reduce build time 2023-04-25 15:42:22 +08:00
Jakob Hasse
d6fe302904 freertos: Added partial unit tests for Linux simulator
* The unit tests are derived from the FreeRTOS test app
  in components/freertos/test_apps/freertos. They are
  quite incompatible with the main test application, which
  is why they have been placed under
  tools/test_apps/linux_compatible/linux_freertos for now.
2023-04-25 13:58:57 +08:00
Marius Vikhammer
edb2994da9 ci: disable test_dram_reg2_execute_violation on esp32s2 2023-04-25 09:57:23 +08:00
laokaiyao
bf2a7b2df6 esp32h4: removed esp32h4 related codes 2023-04-23 12:03:07 +00:00
Kevin (Lao Kaiyao)
4fd62bce13 Merge branch 'refacor/remove_esp32h4_target_stage1' into 'master'
esp32h4: remove esp32h4 target (stage 1)

See merge request espressif/esp-idf!23237
2023-04-20 20:29:58 +08:00
David Čermák
e888bb0cf8 Merge branch 'bugfix/esp_netif_recieve_returns' into 'master'
esp_netif: Report error if esp_netif_receive() fails

Closes IDFGH-9398

See merge request espressif/esp-idf!22936
2023-04-20 17:47:28 +08:00
laokaiyao
1f84f6c6ed esp32h4: remove esp32h4 target from ci 2023-04-20 15:19:47 +08:00
Ivan Grokhotkov
35ea136d5a
newlib: implement fsync for the case of CONFIG_VFS_SUPPORT_IO=0
This feature allows calling fsync even if the vfs component is not
used.
The second part of the commit adds an fsync call in the panic test app
enabling it to be used over usb-serial-jtag.
2023-04-18 11:19:36 +02:00
Ivan Grokhotkov
79a9615022
ci: add build test for CONFIG_ESP_CONSOLE_USB_CDC_SUPPORT_ETS_PRINTF 2023-04-12 11:17:41 +02:00
Alexey Lapshin
2b6de209c8 tests: panic: add esp32c6 esp32h2 2023-04-10 17:49:51 +08:00
Marius Vikhammer
7108ff093d Merge branch 'feature/sram1_iram' into 'master'
system: add kconfig option for using parts of SRAM1 for IRAM

Closes IDFGH-8351 and IDF-942

See merge request espressif/esp-idf!21214
2023-04-10 13:58:40 +08:00
Marius Vikhammer
5cbd311ecf system: add kconfig option for using parts of SRAM1 for IRAM
Using parts of SRAM1 for IRAM allows apps with more statically allocated IRAM

Closes https://github.com/espressif/esp-idf/issues/9824
2023-04-07 07:12:58 +00:00
Marius Vikhammer
ff7fce9739 ci: fixed custom partition table subtype test not compiling for linux 2023-04-07 12:29:30 +08:00
Fu Hanxi
01fd87bd05 ci: remove ttfw related info in tools/test_apps 2023-04-07 12:29:30 +08:00
David Cermak
7d6241e761 esp_netif: Make esp_netif_receive() return value configurable 2023-04-05 12:18:21 +02:00
Konstantin Kondrashov
6c5a7da77c Merge branch 'feature/unicore_bootloader_can_run_multicore_app' into 'master'
esp_system: Fix case when multicore app can not be run if bootloader is unicore

Closes IDFGH-9336

See merge request espressif/esp-idf!22664
2023-03-29 21:56:26 +08:00
KonstantinKondrashov
444c27e4e6 test_apps: Test multicore app can be run by unicore bootloader 2023-03-29 03:47:55 +08:00
Aditya Patwardhan
780f7f2669 secure_boot_test_app: Update the test_app to use pytest framework
* Added custom class IdfFpgaDut in pytest from ttfw_idf.IDFFPGADUT
2023-03-28 16:10:00 +05:30
Mahavir Jain
86b6f87d68 Merge branch 'bugfix/ram_loadable_elf_flash_mmap_issue' into 'master'
Fix flash mmap data integrity issue for RAM loadable ELF case

See merge request espressif/esp-idf!22802
2023-03-23 12:13:35 +08:00
Jakob Hasse
2b895ef9d8 Merge branch 'feature/rmt_mock' into 'master'
Mocks: added RMT mock

See merge request espressif/esp-idf!22060
2023-03-22 20:18:46 +08:00
Armando
eee34bcf70 mspi: fix build failure under assertion disable 2023-03-21 10:14:59 +08:00
Mahavir Jain
d0c8b01956
test_apps: add test case for flash mmap data integrity in ram loadable app 2023-03-20 11:12:11 +05:30
Jakob Hasse
7dbe9687f9 Merge branch 'bugfix/esp_shared_stack_watchpoint_setting' into 'master'
bugfix(esp_system): made watchpoint setting configuration-dependent

Closes IDFGH-9003

See merge request espressif/esp-idf!21738
2023-03-20 10:19:05 +08:00
Jiang Jiang Jian
2658fb7623 Merge branch 'feature/add_memprot_support_for_esp32h2' into 'master'
esp32h2: enable memory protection scheme using PMA and PMP

Closes IDF-6452 and IDF-6332

See merge request espressif/esp-idf!22699
2023-03-17 15:19:52 +08:00
Jakob Hasse
f679218cb6 feat(driver): added RMT mock 2023-03-17 14:54:48 +08:00
Wan Lei
3b62bf59c4 Merge branch 'bugfix/fix_deep_sleep_crash_when_psram_high_freq' into 'master'
mspi: turn down freq to fix crash when sleep

Closes IDF-6881

See merge request espressif/esp-idf!22491
2023-03-16 14:11:21 +08:00
wanlei
a48d1a85c1 mspi: add test_app measuring time cost of mspi APIs
and merge mspi unit test into this
2023-03-16 11:11:43 +08:00
Mahavir Jain
b29ed0ba0b
test_apps: enable memprot tests for ESP32-H2 target 2023-03-15 13:16:26 +05:30
Armando
929b7717ff system: fixed ram app cannot use mmu correctly issue 2023-03-15 10:59:20 +08:00
Jakob Hasse
03bc6488de bugfix(esp_system): made watchpoint setting configuration-dependent
esp_execute_shared_stack_function always restored the stack watchpoint
regardless of CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK. This would lead
to an abondoned but active watchpoint on a former stack once the task
calling esp_execute_shared_stack_function is deleted, if
CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK is inactive.
This has been fixed now.

Closes https://github.com/espressif/esp-idf/issues/10414
2023-03-13 14:24:15 +08:00
Sachin Parekh
ed0a1f7b52 esp32c6: Fix incorrect PMP configuration
- Enable pytest memprot tests for C6
2023-03-09 11:37:29 +05:30
Armando
c56eb8646b g0: resolve MMU_PAGE_SIZE not defined in g0 build issue 2023-02-22 12:37:40 +08:00
Marius Vikhammer
89190fab02 Merge branch 'bugfix/allow_coredump_gdb_simu' into 'master'
coredump: allow coredump at panic even if gdbstub is used.

Closes IDFGH-8567

See merge request espressif/esp-idf!22103
2023-02-20 16:07:57 +08:00
Marius Vikhammer
eb40fc913a Merge branch 'bugfix/linux_target_driver_mock' into 'master'
linux-target: fixed driver mock being broken due to changes in driver folder structure

Closes IDFGH-9375

See merge request espressif/esp-idf!22375
2023-02-20 15:38:38 +08:00
Omar Chebib
d55060d184 Merge branch 'staging/rename_twdt_config_examples' into 'master'
TWDT: Use the new TWDT Kconfig options in the examples and tests

See merge request espressif/esp-idf!20363
2023-02-20 10:42:23 +08:00
Marius Vikhammer
ec57895db9 coredump: allow coredump at panic even if gdbstub is used.
Closes https://github.com/espressif/esp-idf/issues/10017
2023-02-17 15:15:36 +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
Laukik Hase
6e0e7e34ea
test_app: Extend panic app to include memprot-related tests
- Add support for esp32s2, esp32c3 and esp32c2 for the `memprot`-related tests
- Preliminary support for esp32s3 has also been added,
  the test app will be enabled for esp32s3 later when
  the memprot-related issues are fixed.
- Override panic handler to dump the violation intr status
  - Dump the `memprot` violation registers before calling the
    real panic handler
  - Handle `Illegal Instruction` exception in case of memprot permission violation
    * In esp32c3 with `memprot` enabled, if we try to execute arbitrary code
      from RTC_FAST_MEM we get an `Illegal Instruction` exception from the panic
      handler rather than a `Memory Protection Fault`.
    * This is because the Illegal Instruction interrupt occurs earlier than the
      memory protection interrupt due to a higher interrupt latency.
2023-02-16 17:13:56 +05:30
Laukik Hase
fa27795048
test_app: Split panic test app into separate source files
- Added minor improvements to  `panic` test app
  * Replaced existing API to disable flash cache which did not disabled cache always
    (`esp_flash_default_chip->os_func->start(esp_flash_default_chip->os_func_data)`)
    with `spi_flash_enable_interrupts_caches_and_other_cpu`
  * Included some required headers explicitly (`esp_memory_utils.h` and `esp_heap_caps.h`)
2023-02-16 15:26:47 +05:30
Roland Dobai
beb1c08d25 Merge branch 'feature/rewrite_build_sys_tests_v2' into 'master'
Rewrite build system unit tests to python v2

Closes IDF-6778

See merge request espressif/esp-idf!22180
2023-02-15 17:04:59 +08:00
Marius Vikhammer
b68b0ea714 linux-target: fixed driver mock being broken due to changes in driver folder structure
Closes https://github.com/espressif/esp-idf/issues/10749
2023-02-15 11:16:51 +08:00
Cao Sen Miao
fd3e0b0b18 esp32h2(ci): enable target test 2023-02-15 10:20:43 +08:00
Marek Fiala
165c0d852b Tools: Rewrite build system unit tests to python - other target tests 2023-02-09 16:08:04 +01:00
Armando
34e77d6ccd test_panic: add CONFIG_HAL_ASSERTION_DISABLE to coredump_flash_bin_crc config
Without this commit, under this config, the static D/IRAM usage is 97%
2023-02-07 20:23:52 +08:00
Armando
4564f6cc4b g1: add esp_mm to g1 list 2023-02-07 20:23:52 +08:00
Armando
af15b6d885 mmu: simplify mmu vaddr region macro on esp32c2
ESP32C2 mmu vaddr region macros, and related mask macros in
ext_mem_defs.h depends on mmu page size.
2023-02-07 20:23:51 +08:00