Commit Graph

310 Commits

Author SHA1 Message Date
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
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
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
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
Jakob Hasse
620cc586a2 tools: setting components to main to reduce build time 2023-04-25 15:42:22 +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
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
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
KonstantinKondrashov
444c27e4e6 test_apps: Test multicore app can be run by unicore bootloader 2023-03-29 03:47:55 +08:00
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
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
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
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
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
Peter Dragun
3e3533f918 feat(idf_monitor): move idf_monitor to separate repo 2023-02-03 11:20:15 +01:00
wuzhenghui
772d32fd77 ci: add ci workaround for gdb_loadable_elf
since flash config parameters are no longer generated when APP_BUILD_TYPE_RAM is enabled, this will cause load_ram in pytest_embedded_idf to fail
2023-02-01 17:57:28 +08:00
wuzhenghui
3256e4279d ci: add pytests for ram_loadable_app 2023-02-01 17:57:28 +08:00
wuzhenghui
151c3b335b example: add example for ram loadable app 2023-02-01 17:57:28 +08:00
wuzhenghui
0cbb4227b2 feature: add build framework support 2023-02-01 17:57:25 +08:00
morris
d9825f5165 Merge branch 'feature/add_clk_tree_get_frequency_api' into 'master'
clk_tree: Stage 4 - Add a general API to get the frequency of different clocks

Closes IDF-6569

See merge request espressif/esp-idf!21830
2023-01-17 17:08:23 +08:00
Song Ruo Jing
2c9aa4559c clk_tree: Add a general API to get the frequency of different clocks
Add basic clk_tree driver and hal implementation.
2023-01-17 11:30:24 +08:00
Cao Sen Miao
94120b82c2 esp32h2: add build test 2023-01-17 10:29:04 +08:00
Roland Dobai
ec0466e0e5 Merge branch 'fix/idf_monitor_pc_addr_intervals' into 'master'
Tools: IDF Monitor: Determine possible instruction addresses based on ELF segments

Closes IDF-6174

See merge request espressif/esp-idf!21393
2023-01-05 14:44:19 +08:00
Ivan Grokhotkov
6495810c5d
test: panic: run tests on esp32s3, esp32c3, esp32c2 2023-01-03 15:29:58 +01:00
Roland Dobai
17286337ea Tools: IDF Monitor: Determine possible instruction addresses based on ELF segments 2023-01-03 13:22:26 +01:00
Cao Sen Miao
4e67332b74 ESP32H2: Add small CI test for ESP32H2 2022-12-29 11:00:42 +08:00
Omar Chebib
835263e50a Coredump: add a test to check that coredump supports stacks in SPIRAM 2022-12-22 12:47:22 +01:00
Ivan Grokhotkov
6020bb0f90 Merge branch 'feature/gdbstub_esp32c2' into 'master'
gdb stub: re-enable for ESP32-C2

Closes IDF-4135 and IDF-4245

See merge request espressif/esp-idf!21386
2022-12-22 16:00:01 +08:00
Ivan Grokhotkov
e3a4d47fd9
gdb stub: re-enable for ESP32-C2 2022-12-21 13:21:41 +01:00
Jakob Hasse
cb9786d35e refactor(esp_system): reboot delay: added docs, protected by watchdog 2022-12-20 15:51:00 +08:00
Fu Hanxi
1148980383 test: pytest_gdb.py avoid LIBUSB_ERROR_BUSY
- stop using `shell=True`
- use `terminate()`
2022-12-08 14:25:02 +08:00
Fu Hanxi
dc3c630919 ci: move more openocd scripts into pytest-embedded 2022-12-08 14:25:02 +08:00
Fu Hanxi
09a32437b3 ci: migrate ttfw gdb_loadable_elf test to pytest 2022-12-08 14:25:02 +08:00
Fu Hanxi
67cd264535 pytest: check duplicates test case/script names 2022-12-08 09:49:12 +08:00
Alexey Gerenkov
47c2c13de5 build: Adds support for universal Clang toolchain 2022-11-23 13:25:16 +03:00
laokaiyao
8677216576 esp32h2: renaming esp32h2 to esp32h4 2022-11-08 17:05:33 +08:00
Michael (XIAO Xufeng)
c546de8d82 Merge branch 'feature/apply_new_version_logic' into 'master'
all: Apply new version logic (major * 100 + minor)

Closes IDF-4932 and IDF-4939

See merge request espressif/esp-idf!18787
2022-11-04 16:01:32 +08:00
KonstantinKondrashov
1f9260d790 all: Apply new version logic (major * 100 + minor) 2022-11-03 08:36:23 +00:00
Martin Vychodil
c9c7573f71 Storage: Partition APIs moved to the new component 'esp_partition'
All the partition handling API functions and data-types were moved from the 'spi_flash' component to the new one named 'esp_partition'. See Storage 5.x migration guide for more details
2022-11-02 21:54:45 +01:00
Fu Hanxi
7bb4aea90e ci: use .txt files instead of .log file for better preview 2022-11-02 10:15:00 +08:00
Song Ruo Jing
2557e24a28 ci: Enable esp32c6 example, test_apps, and unit tests CI build stage 2022-11-01 11:23:21 +08:00
Fu Hanxi
c756e0f477 ci: fix import path 2022-10-20 20:34:51 +08:00
Ivan Grokhotkov
39319c0750
test_apps: move PanicTestDut from conftest into a separate module
pytest_panic used to do 'from conftest import PanicTestDut'. This
stopped working when another conftest.py file was added in
tools/test_build_system/conftest.py.
In this case we can't rename conftest.py since both are necessary
for pytest to install the hooks in the respective test cases.
Fix by moving PanicTestDut into a separate module, then importing
it from there.
2022-10-03 21:44:28 +02:00
wuzhenghui
fca7d70e05 esp32c6: add minimal ci support
- enable build_template_app
- enable check public headers
- enable g0 components dependency check
2022-09-26 20:32:13 +08:00
Alexey Lapshin
0fd4b09a46 tools: add test for ROM symbols in GDB 2022-09-21 22:39:03 +04:00
Alexey Lapshin
b9ed89228d test_apps: fix monitor_ide_integration test 2022-09-21 22:39:03 +04:00
Roland Dobai
67506f9a3f Tools: Increase the delay before producing exception in the Monitor IDE test app 2022-09-07 11:27:10 +02:00
Mahavir Jain
4aaf02b093
bootloader_support: fix stringop-overflow warning with PERF compiler optimization
This commit fixes build issue because of function `bootloader_common_reset_rtc_retain_mem`
getting inlined with compiler optimization level set to `PERF` (-O2).

Build failure log:
-----------------

In function 'bootloader_common_reset_rtc_retain_mem',
    inlined from 'bootloader_common_update_rtc_retain_mem' at /h/esp-idf/components/bootloader_support/src/bootloader_common_loader.c:183:13:
/h/esp-idf/components/bootloader_support/src/bootloader_common_loader.c:159:5: error: 'memset' writing 16 bytes into a region of size 0 overflows the destination [-Werror=stringop-overflow=]
  159 |     memset(rtc_retain_mem, 0, sizeof(rtc_retain_mem_t));
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2022-09-05 10:42:11 +05:30
Marius Vikhammer
dfaaefe2ce Merge branch 'bugfix/uart_sclk_freq' into 'master'
uart: fixed sclk_freq not init warning when compiling with asserts disabled

Closes IDFGH-8144

See merge request espressif/esp-idf!19792
2022-08-30 16:24:38 +08:00
Marius Vikhammer
b844df8c85 uart: fixed sclk_freq not init warning when compiling with asserts disabled
Closes https://github.com/espressif/esp-idf/issues/9642
2022-08-26 11:52:46 +08:00
Alexey Lapshin
244a1b5e6a tools: fix test_abort backtrace 2022-08-24 23:00:30 +04:00
Armando
5c617a0ff7 ci: increase test_flash_psram timeout 2022-08-19 12:13:00 +08:00
Mahavir Jain
a2f028abe7 Merge branch 'feature/app_metadata_to_esp_system' into 'master'
app_update: Moved app metadata to new component `esp_app_format`

Closes IDF-4808

See merge request espressif/esp-idf!18862
2022-08-18 21:51:32 +08:00
morris
2c5a866ea3 mcpwm: don't use keyword operator
Closes https://github.com/espressif/esp-idf/issues/9510
2022-08-17 06:31:50 +00:00
Laukik Hase
0071ea498f
esp_app_format: Fixed build errors and resolved dependencies 2022-08-17 10:59:31 +05:30
Roland Dobai
887368e7b3 CI: Migrate monitor IDE integration test to pytest 2022-08-09 18:09:56 +02:00
jingli
ee3423834e kconfig: refactor xtal freq kconfig to common configuration item 2022-08-05 19:12:29 +08:00
Alexey Lapshin
03ce915668 build system: re-add -Wno-format as private flag for some test_apps 2022-08-03 16:42:47 +04:00
Omar Chebib
2f7bae7a6e Task WDT: add a panic test case for to test panic on both CPU cores 2022-08-02 12:41:14 +08:00
Fu Hanxi
7720e348c2 Merge branch 'ci/system_apps_pytest' into 'master'
ci: migrate system flash_psram test app to pytest

Closes IDFCI-1141

See merge request espressif/esp-idf!19161
2022-08-01 16:45:09 +08:00
Jiang Jiang Jian
b885499c74 Merge branch 'refactor/move_common_adc_part_to_hw_support' into 'master'
esp_adc: move esp_adc out of g1 dependency list

Closes IDF-5637

See merge request espressif/esp-idf!19159
2022-08-01 15:39:45 +08:00
wuzhenghui
7cb9304b65 Clean IRAM and DRAM address space conversion macros 2022-07-29 17:07:39 +08:00
Armando
4f80c0f27e esp_adc: remove esp_adc from g1 component dependencies 2022-07-28 03:49:48 +00:00
Armando
5e6a16380a esp_adc: move adc common hw related code into esp_hw_support 2022-07-28 03:49:48 +00:00
Marius Vikhammer
c2a5f48498 ci: migrate system test apps to pytest 2022-07-26 11:47:28 +08:00