Commit Graph

292 Commits

Author SHA1 Message Date
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
Guillaume Souchere
50a58b4a83 esp_hw_support: Fix formatting of intr_alloc.h and test_panic.c 2022-07-22 00:06:06 +08:00
Guillaume Souchere
dcae121d80 hal: Deprecate soc_hal.h and soc_ll.h interface
This commit marks all functions in soc_hal.h and soc_ll.h as deprecated.
Users should use functions from esp_cpu.h instead.

Also added missing wrap funcions for esp_cpu_stall() in test_panic.c files.
2022-07-22 00:06:06 +08:00
morris
bec44ca2e9 gptimer: test on c2 with xtal 26mhz 2022-07-20 04:40:28 +00:00
Armando
5b523a3313 esp_adc: new esp_adc component and adc drivers 2022-07-15 18:31:00 +08:00
Fu Hanxi
c0568611dd docs: changes docs supported targets tables 2022-07-14 08:26:32 +08:00
Jiang Jiang Jian
b610b47a83 Merge branch 'feature/esp32s3_memprot_additional_improvements' into 'master'
[System/Security] Memprot after-merge improvements (v5.0)

Closes IDF-5263 and IDF-5208

See merge request espressif/esp-idf!18893
2022-07-13 15:48:20 +08:00
Ivan Grokhotkov
a1d7089b59 ci: add build-only test for esp32c2 with 26 MHz XTAL option enabled 2022-07-11 12:24:58 +08:00
Martin Vychodil
0c87ae2a91 System/Security: Memprot API unified (ESP32S3)
Added missing features and improvements
2022-07-09 22:57:51 +02:00
Marius Vikhammer
cf41c255bb Merge branch 'bugfix/cache_disabled_log_c3' into 'master'
esp_hw_support: always inline cpu_hal_set_vecbase to avoid issues at -O0

See merge request espressif/esp-idf!18630
2022-07-06 09:55:20 +08:00
Omar Chebib
cfeaa50b53 Merge branch 'bugfix/esp32c2_missing_eh_frame_sections' into 'master'
espsystem: add missing eh_frame sections on esp32c2

See merge request espressif/esp-idf!18629
2022-07-04 17:13:40 +08:00
Mahavir Jain
a269a704af Merge branch 'bugfix/main_task_on_cpu1_startup_failure' into 'master'
freertos: Fix issue with bootup failure in ESP_MAIN_TASK_AFFINITY_CPU1 config

Closes IDFGH-7705

See merge request espressif/esp-idf!18755
2022-07-04 14:54:14 +08:00
Marius Vikhammer
d6c0227d84 CI: port startup test app to pytest and enable for all targets 2022-07-04 10:57:35 +08:00
Aleksei Apaseev
979b836c68 ci: rename module name due to the wrong import in other packages 2022-07-02 08:03:49 +08:00
Simon
f4eea001c8 Merge branch 'refactor_flash/remove_legacy_driver' into 'master'
spi_flash: Totally remove legacy driver (prefix with `spi_flash`) support on V5.0

Closes IDF-4473

See merge request espressif/esp-idf!18026
2022-07-01 14:45:39 +08:00
Mahavir Jain
cd1afaef1b test_apps: Add test app for ESP_MAIN_TASK_AFFINITY_CPU1 configuration 2022-07-01 05:40:46 +00:00
Cao Sen Miao
a690a87829 spi_flash: Remove legacy spi_flash drivers 2022-07-01 11:01:34 +08:00
Aleksei Apaseev
01f1aba2d0 ci: lift restriction on pygdbmi in panic test 2022-06-30 14:09:18 +08:00
Omar Chebib
3c1b8cd75a ci: add a test for .eh_frame(_hdr) section for RISC-V targets 2022-06-30 02:51:37 +00:00
Zim Kalinowski
136c873364 Merge branch 'refactor/g0_for_xtensa' into 'master'
G0: Support Xtensa targets for G0-only compilation

Closes IDF-3087

See merge request espressif/esp-idf!18538
2022-06-23 07:28:37 +08:00
Sudeep Mohanty
ae391ec360 freertos-smp: added a build test for freertos smp 2022-06-20 14:54:35 +02:00
Omar Chebib
8fae0f0753 G0: Support Xtensa targets for G0-only compilation
G0-only example now supports Xtensa targets. This means that G0 layer
does not depend on G1+ layers anymore
2022-06-20 11:34:20 +00:00
Martin Vychodil
692b9980b5 Merge branch 'feature/memprot_api_unified_s3_2' into 'master'
System/Security: Memprot API unified (ESP32S3)

See merge request espressif/esp-idf!16169
2022-06-20 17:34:22 +08:00
Martin Vychodil
339fcbf14d System/Security: Memprot API unified (ESP32S3)
Unified Memory protection API for all PMS-aware chips - ESP32S3 port
2022-06-20 02:36:44 +00:00
Ivan Grokhotkov
3973db7664
soc: make register access macros compatible with C++20
In C++20, using the result of an assignment to a 'volatile' value is
deprecated.

Breaking change: register "setter" or modification macros can no
longer be used as expressions.

Closes https://github.com/espressif/esp-idf/issues/9170
2022-06-17 18:09:22 +02:00
Omar Chebib
6783f52045 CI: examples generating an ELF file only can now pass CI 2022-06-14 15:00:53 +08:00
Omar Chebib
33ac70a3ed G0: add a build example to check G0 dependencies 2022-06-14 15:00:53 +08:00
Djordje Nedic
facab8c5a7 tools: Increase the minimal supported CMake version to 3.16
This updates the minimal supported version of CMake to 3.16, which in turn enables us to use more CMake features and have a cleaner build system.
This is the version that provides most new features and also the one we use in our latest docker image for CI.
2022-06-01 06:35:02 +00:00
Zim Kalinowski
2c9cd8e307 Merge branch 'feature/remove_target_cmake' into 'master'
build-system: remove target component

Closes IDF-3091 and IDF-3581

See merge request espressif/esp-idf!18131
2022-05-27 06:55:25 +08:00
Fu Hanxi
d2aae6d53a fix: panic test case test_task_wdt 2022-05-25 10:30:29 +08:00
Marius Vikhammer
cf1b222cac build system: removed target component
After refactoring the target components (e.g. esp32) no longer contained any real functionality.
What remained in these components have been moved elsewhere and the component itself deleted from the
build system.
2022-05-24 09:12:59 +08:00
Marius Vikhammer
0687daf2c8 kconfig: move remaining kconfig options out of target component
The kconfig options are moved to the component where they are used,
mostly esp_hw_support and esp_system.
2022-05-23 17:57:45 +08:00
Djordje Nedic
11f3898e33 tools: Fix cmake variable propagation
This fixes the issue where component CMAKE variables propagate by default to the entire project, for instance compiler flags.
Useful for when you want to have component specific compiler flags or defines.

Closes https://github.com/espressif/esp-idf/pull/8806
Closes https://github.com/espressif/esp-idf/issues/8881
2022-05-16 16:55:34 +02:00
Fu Hanxi
5c997bd5dd ci(pytest): upgrade to 0.7.0 2022-05-13 11:54:42 +08:00
morris
24f5fecef0 hal: use ROM implementation for systimer and wdt on esp32c2 2022-05-12 05:18:57 +00:00
Wu Zheng Hui
0580d68b69 esp32c2: Support riscv floating-point library selection 2022-05-08 17:57:40 +08:00
wuzhenghui
afd86542d8 ci: add build test for newly added Kconfig option 2022-05-05 17:41:11 +08:00
Ivan Grokhotkov
89e78976ab
tests: panic: make 'get_test_name' work without VFS, add echo
When vfs component is not added to the build, bare minimum syscalls
are provided by newlib component. These syscalls currently don't
perform CR/LF translation.
This commit makes the 'get_test_name' function work with minimal
syscalls and also adds echo, so that the user sees what they type.
2022-05-02 20:47:18 +02:00
Ivan Grokhotkov
47659be5b8
build system: remove lwip from common requirements
lwip was added to common requirements list to provide "sys/socket.h"
header to all components without additional requirements specified.

However, lwip pulls in a lot of dependencies on other components.
This commit removes lwip from common requirements to reduce the number
of components in G1-only apps.

To compensate for this removal, the following changes are made:
- newlib (which is a common requirement) has a public dependency on
  lwip if lwip is present in the build. This ensures that sys/socket.h
  is available as long as lwip component is included into the build.
- lwip is now a public requirement of esp-tls since esp_tls.h includes
  sys/socket.h header.
- lwip is now a public requirement o esp_http_client because
  sys/socket.h is included from esp_http_client.h
- lwip is now a private requirement of esp_wifi for "smartconfig_ack"
- lwip is now a private requirement of mqtt for socket functions
- lwip is now a public requirement of tcp_transport because
  esp_transport_tcp.h includes sys/socket.h header.
- mbedtls checks if lwip component is present in the build. If yes,
  net_sockets.c is added to the build, along with the dependency on
  lwip. Previously lwip was a public requirement of mbedtls
  unconditionally.

system/g1_components test app is updated to reflect the changes

Default public dependencies of a component before and after this
change, except common requirements:

- esp_timer (public dependency of freertos)
- bootloader_support (public dependency of esp_hw_support)
- vfs (public dependency of lwip)
- esp_wifi (public dependency of lwip)
- esp_event (public dependency of esp_wifi)
- esp_netif (public dependency of esp_event)
- esp_eth (public dependency of esp_netif)
- esp_phy (public dependency of esp_wifi)

After:

- esp_timer (public dependency of freertos)
- bootloader_support (public dependency of esp_hw_support)

Altogether, the following components have been always added as
public requirements to all other components, and are not added now
([breaking-change]):

- lwip
- vfs
- esp_wifi
- esp_event
- esp_netif
- esp_eth
- esp_phy

Application components now need to explicitly declare dependencies on
these components.
2022-05-02 20:47:17 +02: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
Mahavir Jain
37ad7c2e1f test_apps: add build only test for !MBEDTLS_CERTIFICATE_BUNDLE 2022-04-06 05:10:43 +00:00
Marius Vikhammer
9274a062fb esp-system: removed esp_phy and nvs dependencies, change app update and pm to weak dependencies 2022-03-22 11:19:32 +08:00
Chen Yudong
4dc74c9c42 CI: rename some tests to avoid duplicated test names 2022-03-11 18:38:41 +08:00
David Cermak
795b7ed993 esp_netif: Remove tcpip_adapter compatibility layer 2022-03-10 08:19:43 +01: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
Fu Hanxi
1b095db5c9 ci(pytest): refactor panic test to pytest 2022-02-23 09:12:46 +08:00
Anton Maklakov
7e569e1524 test_apps/panic: GDB in esp-2021r2-patch3 toolchain doesn't contain the fix for interrupted backtraced
Revert "test_apps/panic: remove workaround for incorrect GDB backtrace"

This reverts commit 3e3fa4bff2.
2022-02-21 10:51:41 +07:00
morris
ef00bd59dc esp_rom: extract int matrix route and cpu ticks getter 2022-02-09 13:52:20 +08:00
Lu Ai Jun
4a0906fdb7 Update copyright headers 2022-02-07 02:28:50 +00:00
Lu Ai Jun
e599db6d04 Revert "Merge branch 'bugfix/temp_disable_f8r8_test' into 'master'"
This reverts merge request !17007
2022-02-07 10:18:08 +08:00
Ivan Grokhotkov
2838886639 ci: temporarily disable MSPI_F8R8 test 2022-02-01 15:39:40 +01:00
laokaiyao
cf049e15ed esp8684: rename target to esp32c2 2022-01-19 11:08:57 +08:00
Marius Vikhammer
7255497146 freertos: remove FREERTOS_ASSERT option
Freertos asserts are now configured the same way as all other asserts in IDF,
i.e. by configuring COMPILER_OPTIMIZATION_ASSERTION_LEVEL.
2022-01-07 09:16:48 +08:00
Martin Vychodil
dd938eb952 System/Security: Memprot API unified (ESP32C3)
Unified Memory protection API for all PMS-aware chips (ESP32C3)

Closes JIRA IDF-3849
2021-12-21 01:50:36 +01:00
Ivan Grokhotkov
5b3b5f006f Merge branch 'feature/cmake_weak_deps_helper' into 'master'
cmake: add idf_component_optional_requires utility function, simplify some component dependencies

Closes IDF-3086

See merge request espressif/esp-idf!16373
2021-12-16 13:46:45 +00:00
Simon
1c82e6eac7 Merge branch 'ci/8684_build_ci' into 'master'
CI: Enable ESP8684 build (2nd stage) CI on master (except example build)

Closes IDF-4388

See merge request espressif/esp-idf!16197
2021-12-14 11:12:10 +00:00
Ivan Grokhotkov
8df306ab60 freertos,esp_system: make dependencies on some components optional
Dependencies on gdbstub, espcoredump, app_trace will only be added
if these components are present in the build.
2021-12-13 18:39:49 +01:00
Armando
9a6f894046 psram: add octal psram ECC feature 2021-12-13 20:24:52 +08:00
Cao Sen Miao
e81841318f CI: Enable ESP8684 build stage CI on master 2021-12-13 19:18:47 +08:00
Ivan Grokhotkov
7a5ed12c6b lwip: make some of the component dependencies optional 2021-12-13 10:53:22 +01:00
Ivan Grokhotkov
ac99a93f33 tools: add a test app to check "G1-only" build
At the moment the list of components is far from being "G1-only".
"extra_components_which_shouldnt_be_included" list will be reduced in
future MRs.
2021-12-02 15:29:00 +01:00
Roland Dobai
766aa57084 Build & config: Remove leftover files from the unsupported "make" build system 2021-11-11 15:32:36 +01:00
Anton Maklakov
e525964f67 Merge branch 'bugfix/gdbstub_4_c3' into 'master'
Add missing function for C3

See merge request espressif/esp-idf!15538
2021-10-26 10:16:38 +00:00
Dmitry
1457c42f6f bugfix/esp-gdbstrub: add missing function for esp32c3/esp32h2. 2021-10-25 10:30:50 +03:00
Anton Maklakov
3e3fa4bff2 test_apps/panic: remove workaround for incorrect GDB backtrace 2021-10-20 22:00:39 +07:00
Armando
c331c85318 mspi: make cpu clock source switch safe
For some of the MSPI high frequency setting (e.g. 80M DDR mode Flash or PSRAM), timing tuning is required.
Certain delays will be added to the MSPI RX direction. When system clock switches down, the delays should be
cleared. When system clock switches up, the delays should be restored.
2021-10-19 21:47:27 +08:00
chenjianxing
2a09234957 esp_phy: rename esp_phy component prefix 2021-10-13 13:10:49 +08:00
Jakob Hasse
f86e154a56 Merge branch 'feature/removed_hyphens_from_examples' into 'master'
[examples]: Project names consistent with their directories

Closes IDFGH-3673

See merge request espressif/esp-idf!13570
2021-10-11 03:43:37 +00:00
Armando (Dou Yiwen)
8ab29b7877 Merge branch 'feature/support_auto_detect_oct_flash_vendor' into 'master'
mspi: support auto detect oct flash vendor

Closes IDF-3523 and IDF-3857

See merge request espressif/esp-idf!14741
2021-10-11 02:38:15 +00:00
Jakob Hasse
81e9266204 [examples]: removed hyphens
Replaced hyphens with underscores in examples
project definition for all examples which had
hyphens in their project name. dpp-enrollee is
an exceptions because the name matches the
project directory name while the project
directory also contains hyphens.
2021-10-09 13:58:24 +08:00
Armando
d6caf142d3 ci: add flash psram test under different configs on esp32s3 2021-10-08 15:59:57 +08:00
Harshit Malpani
be91515488 test_apps: add CLIENT_ONLY_MBEDTLS configuration to build tests 2021-10-04 19:18:45 +08:00
KonstantinKondrashov
709abee65c example_tests: Deletes usage esp32c3 ECO0 in CI (by default ECO3) 2021-09-24 13:55:07 +08:00
Martin Vychodil
58aed7df98 ESP32S2: No assert()/abort() in Memprot API, use esp_err_t instead
JIRA IDF-3634
2021-08-26 09:20:00 +02:00
yuanjm
316cdd34e2 ci: Add disable CONFIG_ESP_HTTP_CLIENT_ENABLE_HTTPS ci build file 2021-08-17 19:56:15 +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
Roland Dobai
1ecdab3a70 CI: Debug GDB issues 2021-07-23 02:00:00 +08:00
Mahavir Jain
d5cc79db48 test_apps: add HEAP_TRACING configuration to build tests 2021-06-22 14:14:10 +08:00
Ivan Grokhotkov
bdb01b8285 Merge branch 'bugfix/longjmp_s3' into 'master'
[esp_rom]: fixed S3 longjmp patch

Closes IDF-3391

See merge request espressif/esp-idf!13946
2021-06-22 04:00:51 +00:00
Angus Gratton
d127a1fa75 ci panic test: Update the panic test timeout from 3s to 10s
If it takes longer than 10s to respond, it's probably not because of the
runner...
2021-06-21 17:08:02 +10:00
Jakob Hasse
e32831033a [esp_rom]: fixed S3 longjmp patch
* On S3, the placement of ROM functions is
  ECO-dependent. Hence, we don't jump into
  the middle of the longjmp function in ROM
  on S3 anymore.
  Instead, the whole longjump function is used
  in the patch.

* Also properly excluded the patch from
  bootloader build with Makefiles

Closes IDF-3391
2021-06-18 15:47:41 +08:00
Konstantin Kondrashov
4c0cf40a39 efuse: Burn operation does not block reading 2021-06-18 11:52:47 +08:00
Konstantin Kondrashov
f339b3fc96 efuse(esp32): Deprecate esp_efuse_burn_new_values() & esp_efuse_write_random_key()
These functions were used only for esp32 in secure_boot and flash encryption.
Use idf efuse APIs instead of efuse regs.
2021-06-17 07:21:36 +08:00
Ivan Grokhotkov
6d2e0c3eae tests: gdb_loadable_elf: adjust the breakpoint location for ESP32 ECO3
The previous location was the return from the first ets_printf call
that prints ROM sign-on message. Since the main function was patched
in ECO3, the new address no longer works — there is no instruction at
0x40007901 in ECO3 ROM. This could be solved by setting two
breakpoints (one would work for ECO <=2, the other for ECO3), but we
would need to remove the unused breakpoint later.
Fix this by setting the breakpoint at ets_printf. This means that when
debugging a loadable ELF the ROM sign-on message will no longer be
shown, but this doesn't seem to be an issue.
2021-05-04 16:22:50 +02:00
Jeroen Domburg
2c75f63f89 * ets_delay_us(1) has too much overhead; change logic
* Fix MR comments
2021-04-28 16:38:24 +08:00
Ivan Grokhotkov
83e68ee19e Merge branch 'bugfix/replace_setjmp_rom' into 'master'
[system]: Made longjmp save for context switch

Closes IDFGH-3232

See merge request espressif/esp-idf!13119
2021-04-23 12:39:29 +00:00
Jakob Hasse
fc22e3c645 [system]: Made longjmp save for context switch
* Patched longjmp to be context-switch safe
  longjmp modifies the windowbase and windowstart
  registers, which isn't safe if a context switch
  occurs during the modification. After a context
  switch, windowstart and windowbase will be
  different, leading to a wrongly set windowstart
  bit due to longjmp writing it based on the
  windowbase before the context switch. This
  corrupts the registers at the next window
  overflow reaching that wrongly set bit.

  The solution is to disable interrupts during
  this code. It is only 6 instructions long,
  the impact shouldn't be significant.

  The fix is implemented as a wrapper which
  replaces the original first instructions of
  longjmp which are buggy. Then, it jumps back
  to execute the rest of the original longjmp
  function.

  Added a comparably reliable test to the
  test apps.
2021-04-23 15:55:31 +08:00
Ivan Grokhotkov
e3c8ea00d9 test_apps/panic: apply pre-commit fixes in python scripts 2021-04-22 23:33:46 +02:00
Ivan Grokhotkov
9069f70db3 system: add option to enable undefined behavior sanitizer (UBSAN)
Closes https://github.com/espressif/esp-idf/issues/1574
2021-04-22 23:33:45 +02:00
Ivan Grokhotkov
d4e8987a39 Merge branch 'feature/prevent_unwind_code_linking' into 'master'
prevent unwind code linking

Closes IDF-2577, IDFGH-3394, IDFGH-3417, and IDFGH-3153

See merge request espressif/esp-idf!12328
2021-04-21 10:04:15 +00:00
Mahavir Jain
6f81428013 test_apps: increase partition table offset to fix build errors 2021-04-20 14:23:13 +05:30
Jakob Hasse
2552c7ba0f [C++]: wrapper functions around unwind code
* Replaced all C++ exception related
  functions with wrappers if -fno-exception
  is used. This prevents linking of the
  corresponding code in libgcc. The code
  size will decrease by around 7-9 KB when
  building with -fno-exception.
* added no except test app

Closes https://github.com/espressif/esp-idf/pull/5380
Closes https://github.com/espressif/esp-idf/issues/5363
Closes https://github.com/espressif/esp-idf/issues/5224
Closes IDFGH-3153
Closes IDF-2577
2021-04-20 14:27:58 +08:00
Omar Chebib
bb9aa806f7 panic: handlers can now be placed in flash
By unchecking "Place panic handler code in IRAM" in the menuconfig,
the panic handlers will be placed in flash. Of course, flash cache must
be activated when entering panic handlers.
2021-04-15 11:58:46 +08:00
Ivan Grokhotkov
996e84f97a Merge branch 'docs/fix_custom_test_doc' into 'master'
[system]: Running panic test app locally doc

See merge request espressif/esp-idf!13052
2021-04-14 11:35:12 +00:00
Martin Vychodil
f27c9c5139 esp32c3: memprot API upgrade and test application
Closes IDF-2641
2021-04-12 13:44:11 +10:00
Jakob Hasse
5bcb189fe4 [system]: locally run panic test app doc 2021-04-07 18:56:18 +08:00
Angus Gratton
d44034c54d Merge branch 'bugfix/dual_core_app_on_single_core_esp32' into 'master'
esp_system: fix dual core app issue on single core esp32

Closes IDF-2154

See merge request espressif/esp-idf!10728
2021-03-31 01:06:52 +00:00
Angus Gratton
4dba80239e ci: Extend timeout for initial gdbstub commands in panic tests
Theory is that on the runner, in rare cases, gdb may need more than
1 second to load and start responding to commands.

However it's possible these timeouts are due to some other problem
(like gdb failing)
2021-03-30 11:01:39 +11:00
Renz Bagaporo
0a3ae58a61 system: add test for simulating single core esp32 startup 2021-03-29 06:50:47 +00:00
Marius Vikhammer
2aead8ba57 Support ESP32S3 Beta 3 target
Update ROM API. Port changes from bringup branch.
2021-03-18 10:24:22 +08:00
Angus Gratton
9b988ca097 config: Add new option to replace IDF_PATH and project path with placeholders in macros
Allows building with asserts on and still not finding any actual file paths in the
final binary file.

Alternative fix for https://github.com/espressif/esp-idf/issues/6306

Progress towards https://github.com/espressif/esp-idf/issues/5873
2021-03-03 10:31:05 +11:00
Angus Gratton
9ae01e40b5 ci: Add a test app for not placing embedded file paths into binaries
Doubles as a test app that building with assertions off doesn't produce warnings.

Closes https://github.com/espressif/esp-idf/issues/6306
2021-03-03 10:31:05 +11:00
Marius Vikhammer
fa7aa656d3 build-system: add loadable elf support for ESP32-S2 and C3 2021-02-02 17:21:39 +08:00
Fu Hanxi
119b61451f fix(test_apps): add supported targets for memprot, panic, monitor_ide 2021-01-27 12:35:49 +08:00
Fu Hanxi
0146f258d7 style: format python files with isort and double-quote-string-fixer 2021-01-26 10:49:01 +08:00
Aditya Patwardhan
b77c85c1e1 ttfw/IDFDUT: i) Added option to erase_flash in the IDFDUT class
ii) Renamed the method dump_flush to dump_flash
2021-01-20 11:12:14 +00:00
Anton Maklakov
6d239d703e Merge branch 'bugfix/ci_test_app_ide_integration' into 'master'
CI: Fix port for test app of IDF Monitor IDE integration

Closes IDFCI-388

See merge request espressif/esp-idf!12004
2021-01-15 16:33:13 +08:00
Roland Dobai
c6962df016 CI: Fix port for test app of IDF Monitor IDE integration 2021-01-14 16:17:14 +01:00
Jakob Hasse
b51889dccb system: stack watchpoint support on C3
Closes IDF-2307
2021-01-14 17:46:44 +08:00
Ivan Grokhotkov
9827adaa09 panic: fix illegal instruction test to be compatible with RISC-V 2021-01-14 16:35:11 +08:00
Ivan Grokhotkov
7ab57605cb test: panic: make stack overflow test more robust
The previous approach was to allocate an array on the stack, and
have the array extend past the stack size. This worked by would
result in SP being moved near the end of the stack. If an interrupt
triggered at that time, interrupt prologue would try to save the
context to the stack, tripping the stack overflow watchpoint.

Replacing this with the approach which doesn't move the SP and simply
writes to decreasing addresses from SP, until stack overflow check
triggers.
2020-12-30 01:10:09 +01:00
Mahavir Jain
8d7c9d9883
test_apps: add build test case for RTC GPIO descriptor configuration 2020-12-21 13:57:07 +05:30
Fu Hanxi
0f96b70294 ci: add esp32s2 support for panic test 2020-12-15 17:57:21 +08:00
Ivan Grokhotkov
e32885d699 tools/test_apps: run tests which don't need JTAG on Example_GENERIC 2020-12-15 17:56:53 +08:00
Fu Hanxi
2547670477 Add esp32s2 support for panic test, run as default 2020-12-15 17:56:53 +08: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
Ivan Grokhotkov
b1d64d1a61 test/panic: add gdbstub test configuration 2020-10-13 18:09:22 +02:00
Martin Vychodil
497b730e8f * memprot support for RTC_SLOW
* API upgrade
JIRA IDF-1636
2020-10-08 11:19:23 +08:00
Angus Gratton
26a0df0423 Merge branch 'bugfix/bootloader_anti_rollback_mmap' into 'master'
bootloader_support: fix issue in memory mapping for getting app descriptor

Closes IDFGH-4038

See merge request espressif/esp-idf!10679
2020-10-06 07:44:37 +08:00