Commit Graph

75 Commits

Author SHA1 Message Date
Dmitry
8cb6baac6c bugfix/esp-gdbstrub: add missing function for esp32c3/esp32h2. 2021-10-27 11:03:35 +08:00
Anton Maklakov
c0e96ceb34 test_apps/panic: remove workaround for incorrect GDB backtrace 2021-10-25 20:19:55 +07:00
Jeroen Domburg
d6cdb3e0ae usb_serial_jtag: support usb_serial_jtag on esp32c3
USB serial/jtag controller: Add vfs (logging/printf), panic handler, gdb support.

See merge request espressif/esp-idf!12925
2021-10-11 17:34:24 +08:00
KonstantinKondrashov
2cc8fc907c example_tests: Deletes usage esp32c3 ECO0 in CI (by default ECO3) 2021-09-24 17:49:30 +08:00
Sachin Parekh
cc9d354ba8 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-09-08 16:32:09 +08:00
Roland Dobai
89486da74e CI: Debug GDB issues 2021-07-27 20:03:57 +02:00
Ivan Grokhotkov
b67e388281 Merge branch 'feature/prevent_unwind_code_linking_4.3' into 'release/v4.3'
[C++]: prevent unwind code linking (backport 4.3)

See merge request espressif/esp-idf!13800
2021-06-23 08:32:17 +00:00
Mahavir Jain
b007024c62 Merge branch 'bugfix/heap_tracing_build_issue_for_c3_v4.3' into 'release/v4.3'
heap: fix build issue with HEAP_TRACING config for C3 (v4.3)

See merge request espressif/esp-idf!14075
2021-06-23 03:45:39 +00:00
Angus Gratton
fafaeb195c 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-22 09:37:43 +10:00
Angus Gratton
c5fc90f579 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-06-22 09:37:29 +10:00
Mahavir Jain
1c0fb793b4 test_apps: add HEAP_TRACING configuration to build tests 2021-06-21 14:40:07 +05:30
Ivan Grokhotkov
84e4127f0c 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-06-18 14:38:43 +02:00
Jakob Hasse
d376c161aa [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-06-01 13:46:50 +08:00
Jakob Hasse
a37c20b417 [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-05-11 12:04:27 +08:00
Mahavir Jain
b24671e935 test_apps: increase partition table offset to fix build errors 2021-04-21 10:16:46 +05:30
Martin Vychodil
6dfff2fdbd esp32c3: memprot API upgrade and test application
Closes IDF-2641
2021-04-12 10:21:58 +10: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