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
Mahavir Jain
20af94ff53
Coredump config option rename throughout IDF
2020-09-30 20:22:27 +05:30
Mahavir Jain
e08a3e1d63
test_apps: add anti rollback configuration for bootloader build
2020-09-30 12:21:24 +05:30
Ivan Grokhotkov
26016534d8
bootloader: move rtc_retain_mem functions back into .iram_loader.text
...
Introduced 66a32c17
when bootloader_common was moved out of the loader
section.
Also add a test for this configuration.
2020-09-09 10:35:29 +02:00
Ivan Grokhotkov
52607063cb
ci: add script to check section references
2020-09-03 18:14:17 +02:00
Ivan Grokhotkov
7acda7b8eb
Merge branch 'bugfix/panic_instr_fetch_prohibited' into 'master'
...
panic: don't interrupt the backtrace for InstrFetchProhibited exceptions
See merge request espressif/esp-idf!9851
2020-08-07 21:43:35 +08:00
Ivan Grokhotkov
20cbdeab65
Merge branch 'feature/download_only_required_ut_bin' into 'master'
...
CI: Download only required bin for unit tests
Closes IDF-1608
See merge request espressif/esp-idf!9266
2020-08-06 10:50:59 +08:00
Ivan Grokhotkov
600665a563
Merge branch 'bugfix/esp32s2_o2_op' into 'master'
...
freertos: fix build error at -O2 optimization level
Closes IDFGH-3581
See merge request espressif/esp-idf!9444
2020-08-05 22:03:00 +08:00
Ivan Grokhotkov
481409ec05
panic: allow running specific test cases from command line
...
Small quality-of-life improvement, make it easier to run specific
test cases, when debugging the tests locally.
Take the optional list of test cases to run from the command line.
2020-08-05 12:00:50 +02:00
Ivan Grokhotkov
709730317b
panic: fix checks for corrupted backtrace in the test cases
...
"CORRUPTED" needs to be checked before ELF SHA256. Use
expect_backtrace in every test (which checks for it), remove extra
check for CORRUPTED.
2020-08-05 12:00:50 +02:00
Ivan Grokhotkov
5ff9cd495e
panic: skip over the first invalid PC in case of InstrFetchProhibited
...
InstrFetchProhibited usually occurs because of a jump to an invalid
pointer. In this case, PC in the exception frame is the address of
the jump destination. 'esp_ptr_executable' check in print_backtrace
function recognizes the first frame as invalid, and the backtrace is
interrupted. This prevents the user from finding the location where
the invalid pointer is dereferenced.
Bypass the 'esp_ptr_executable' check if the exception cause is
InstrFetchProhibited. Update the test case to no longer ignore this
issue.
2020-08-05 12:00:50 +02:00
Fu Hanxi
19ad15a1b4
modify example tests. delete unused arguments
2020-08-04 13:27:16 +08:00
Angus Gratton
e7b89e6ddc
Merge branch 'bugfix/esp32s2_panic_handler_iram' into 'master'
...
esp_common: allow placing panic handler into IRAM on ESP32-S2
Closes IDF-1639
See merge request espressif/esp-idf!9749
2020-07-29 13:54:19 +08:00
Ivan Grokhotkov
3e8833cda8
Merge branch 'feature/coredump_new_ci_tests' into 'master'
...
coredump: Add CI tests
See merge request espressif/esp-idf!8998
2020-07-28 17:22:43 +08:00
Ivan Grokhotkov
24e9d6b26a
esp_common: allow placing panic handler into IRAM on ESP32-S2
2020-07-22 21:57:58 +02:00
Renz Bagaporo
837052c86f
esp_system: restore deleted no stack check flag
...
Restores the change of startup refactor changes removed the no stack
check protection flag when compiling the source file that contains
execution of constructors - which contains function to setup stack
guard. Restore that and update the source file, since this is in the 2nd
stage of the startup now.
Closes https://github.com/espressif/esp-idf/issues/5617
2020-07-22 11:57:18 +08:00
Fu Hanxi
6885421976
CI: add size info for binaries
2020-07-21 16:00:05 +08:00
Ivan Grokhotkov
c627a1b6a0
ci: add build test for CONFIG_SECURE_FLASH_ENCRYPTION_MODE_RELEASE
2020-07-17 21:04:08 +02:00
Ivan Grokhotkov
6e9b480679
ci: add startup test with -O2 optimization level
2020-07-15 12:50:51 +00:00
Sylvio Alves
fb3c36b88d
coredump: Added CI tests
2020-06-24 10:51:06 -03:00
Ivan Grokhotkov
b3a76a9d83
Merge branch 'feature/idf_monitor_debug_ws' into 'master'
...
tools/idf_monitor: add WebSocket client for IDE integration
Closes IDF-1719
See merge request espressif/esp-idf!9032
2020-06-22 15:50:11 +08:00
Ivan Grokhotkov
cf155161c4
Merge branch 'feature/higher_level_com_gdb' into 'master'
...
CI: Use higher-level interaction with GDB in example tests and test apps
Closes IDF-1622
See merge request espressif/esp-idf!8840
2020-06-19 16:13:01 +08:00
Angus Gratton
b3e77c7ce9
Merge branch 'bugfix/embed_file_symbol_names' into 'master'
...
cmake: fix C identifier generation from embedded file
See merge request espressif/esp-idf!9078
2020-06-17 07:57:27 +08:00
Renz Bagaporo
01a7db799f
cmake: fix C identifier generation from embedded file
2020-06-16 17:05:46 +08:00
Roland Dobai
e67314f646
tools/idf_monitor: add WebSocket client for IDE integration
2020-06-10 10:56:20 +00:00
Roland Dobai
493c852b73
CI: Use higher-level interaction with GDB in example tests and test apps
2020-06-05 14:58:34 +00:00
Ivan Grokhotkov
f4ea9d4cea
freertos: increase configMINIMAL_STACK_SIZE when building with -O0
...
FreeRTOS scheduler uses additional stack space, as in some functions
variables are placed onto the stack instead of registers.
This issue resulted in occasional stack overflows in dport task, when
compiling at -O0 optimization level.
- Increase the configMINIMAL_STACK_SIZE to 1kB.
- Enable the watchpoint at the end of stack in CI startup test for
this optimization level.
2020-06-02 18:51:16 +02:00
Ivan Grokhotkov
c0ed9349b0
test_apps: add build test for !CONFIG_SPI_FLASH_YIELD_DURING_ERASE
2020-06-02 15:42:24 +02:00
Ivan Grokhotkov
8c09968adc
test_apps: add coredump tests for int_wdt
2020-06-02 15:42:24 +02:00
Ivan Grokhotkov
418b68a197
test_apps: add panic test
2020-05-12 22:27:06 +02:00
Roland Dobai
79e58eff8f
Add JTAG related example tests
2020-05-05 11:08:33 +02:00
Ivan Grokhotkov
8a4cc99d90
test_apps: don't download partition table in loadable elf test
2020-05-05 09:45:51 +02:00
Ivan Grokhotkov
5e95bc1d21
test_apps: make it possible to run gdb_loadable_elf app locally
2020-05-04 19:10:06 +02:00
Roland Dobai
58bbd99b9c
Fix missed deprecated Kconfig option caused by tabs in sdkconfig.rename
2020-04-30 18:23:21 +02:00
Roland Dobai
2d709c6384
Migrate "loadable elf" test from hello_world example to test_apps
2020-04-29 09:17:28 +02:00
Ivan Grokhotkov
7f18576e23
Merge branch 'bugfix/inline_get_cpu_id_hal_func' into 'master'
...
soc: put hal function to get core id in IRAM
See merge request espressif/esp-idf!8107
2020-03-26 18:14:51 +08:00
Renz Bagaporo
b2fd9dd51c
ci: add basic startup test for when CONFIG_COMPILER_OPTIMIZATION_NONE=y
2020-03-25 10:00:39 +08:00
Ivan Grokhotkov
2548a3e528
ci: add startup tests with VFS disabled
2020-03-20 14:07:10 +01:00
ChenJianxing
5019419496
esp32s2: fix when enable multi phy init data bin compile err.
2020-03-11 18:03:21 +08:00
ronghulin
ffd8c26780
feature: support multiple PHY init data
2020-03-05 16:14:00 +08:00
Ivan Grokhotkov
240ec7444f
ci: add build test for TRAX feature
2020-02-19 14:02:35 +01:00
Ivan Grokhotkov
1cbb2287be
ci: add build test for custom console UART pins
2020-02-19 08:13:23 +01:00
David Cermak
30c6e27bcc
CI: document test-apps feature, updated test-apps structure
2020-02-06 16:46:41 +00:00