Commit Graph

116 Commits

Author SHA1 Message Date
Anton Maklakov
077c5fb0b8 coredump: backport the coredump test data from v4.4 2022-02-28 12:29:08 +07:00
Shubham Patil
aa89d67923 espcoredump: Parse bt for instruction fetch prohibited cause 2022-02-01 18:28:30 +05:30
Sachin Parekh
e0fc13b23d coredump: Parse backtrace info for RISCV
For RISCV, backtrace generation on device is not possible without
including and parsing DWARF sections. We extract the crash task stack
and let the host generate the backtrace
2022-02-01 17:52:13 +05:30
Shubham Patil
8536cf46a5 espcoredump: Fix string truncation build failure 2022-02-01 17:51:55 +05:30
Shubham Patil
9928f44894 espcoredump: On device core dump parsing to generate summary 2022-02-01 15:24:16 +05:30
Fu Hanxi
b865a84661 test(coredump): refactor coredump test and add esp32s2/esp32c3 tests 2022-01-18 18:03:44 +08:00
Fu Hanxi
fbfef19982 feat(coredump): add esp32s2 and esp32c3 support 2022-01-18 17:48:41 +08:00
Fu Hanxi
f9cf648afd fix(coredump): pr_status pid padding should be uint16 2022-01-18 13:50:10 +08:00
Anton Maklakov
6e48d5bd6b coredump: update test data for toolchain 2021r2 2021-10-25 20:19:52 +07:00
Roland Dobai
49fcfafed3 Merge branch 'bugfix/core_dump_image_erase_with_encryption_v4.3' into 'release/v4.3'
Fix a bug in `core_dump_image_erase` when flash encryption is enabled (backport v4.3)

See merge request espressif/esp-idf!14618
2021-09-08 08:42:44 +00:00
Omar Chebib
c8e5b0611a coredump: simplify the implementation of esp_core_dump_image_erase function
Closes https://github.com/espressif/esp-idf/pull/6949
2021-08-03 11:48:39 +08:00
0xFEEDC0DE64
035c1ac901 Fixed esp_core_dump_image_erase() for flash encryption with 16byte long write buffer 2021-08-03 11:48:39 +08:00
Shubham Patil
68095b46c4 espcoredump.py: Parse EPS and EPC register values using register index 2021-07-30 15:35:02 +08:00
Omar Chebib
5186a968be coredump: core dump data check can now be parametrized
Core dump integrity check can now be parametrized through menuconfig.
It can be performed on boot or ignored. When core dump is activated
in the menuconfig, the user can still check the core dump at any time
with the function `esp_core_dump_image_check()`.

Fix a bug where `esp_core_dump_image_get()` was not accessible
when core dump was disabled.

Closes https://github.com/espressif/esp-idf/issues/6620
2021-06-23 16:17:15 +08:00
0xFEEDC0DE64
418fed12df espcoredump erase review comments 2021-06-23 16:17:15 +08:00
0xFEEDC0DE64
5d4e084669 coredump: Implemented esp_core_dump_image_erase() and esp_core_dump_image_get() now returns ESP_ERR_NOT_FOUND when partition is blank
Closes https://github.com/espressif/esp-idf/pull/6631
2021-06-23 16:17:12 +08:00
Omar Chebib
a573cfe58a espcoredump: Fix bugs related to (fake) stacks
Add support to tasks stacks in RTC DRAM. Before this fix, any stack
in RTC DRAM would have been considered as corrupted, whichi is not
the case.
Fix a bug related to wrong parameters passed to esp_core_dump_get_stack.
Fix a bug reading fake stack memory, triggering a memory violation.

* Closes https://github.com/espressif/esp-idf/issues/6751
* Merges https://github.com/espressif/esp-idf/pull/6750
2021-05-28 01:58:09 +00:00
Omar Chebib
84dc42c4b0 gpio: Disable USB JTAG when setting pins 18 and 19 as GPIOs on ESP32C3
When `DIS_USB_JTAG` eFuse is NOT burned (`False`), it is not possible
to set pins 18 and 19 as GPIOs. This commit solves this by manually
disabling USB JTAG when using pins 18 or 19.
The functions shall use `gpio_hal_iomux_func_sel` instead of
`PIN_FUNC_SELELECT`.
2021-04-12 17:45:06 +08:00
Angus Gratton
9a2d251912 Merge branch 'feature/coredump_refactor_riscv_support_v4.3' into 'release/v4.3'
espcoredump: code refactoring and add support for RISC-V implementation (backport v4.3)

See merge request espressif/esp-idf!12680
2021-03-12 07:47:02 +00:00
Omar Chebib
113bf479a4 espcoredump: code refactoring and add support for RISC-V implemetation
This commit includes the refactoring of the core dump feature. Thanks to
this refactoring, it is easier to integrate the support of RISC-V
architecture for this feature.

Fixes ESP-1758
2021-03-10 12:19:00 +08:00
0xFEEDC0DE64
d36c72fba0 Fixed c++ include usage for esp_core_dump.h 2021-03-10 12:04:42 +08:00
Fu Hanxi
da73dc8195 fix(coredump): parse registers values from stack 2021-01-29 11:12:21 +08:00
Ivan Grokhotkov
88252c98b8 Merge branch 'feature/refactor_espcoredump' into 'master'
Feature: Refactor espcoredump

See merge request espressif/esp-idf!11525
2021-01-21 20:35:31 +08:00
Angus Gratton
3532f52f60 Merge branch 'bugfix/ldgen_ignore_nonexistent_archives_and_obj' into 'master'
ldgen: check mappings

Closes IDF-1624

See merge request espressif/esp-idf!8557
2021-01-21 15:59:35 +08:00
Fu Hanxi
be71f5050d core dump: modify the test according to the refactor 2021-01-21 15:14:59 +08:00
Fu Hanxi
d50f021a8c core dump: rewrite espcoredump.py with corefile package 2021-01-21 15:14:59 +08:00
Fu Hanxi
7109cda149 core dump: Add corefile package for parse/build bin/elf core files
- elf.py: elf related structs

- gdb.py: gdb related functions

- loader.py: extract elf/bin from flash to elf format core file

- xtensa.py: xtensa arch target related structs and functions
2021-01-21 15:14:59 +08:00
Renz Bagaporo
8d52b0b5e1 ci: exempt upstream libmbedtls mapping for sha256 2021-01-19 11:17:18 +08:00
Alexey Gerenkov
3b0fa33c20 coredump: Adds compile time check for target support 2021-01-18 20:51:11 +03:00
Alexey Gerenkov
589a3d9336 coredump: Switches to RTOS snapshots walking API 2021-01-18 20:51:05 +03:00
Omar Chebib
f4ac8433c1 coredump: Core dump is encrypted if the partition itself is encrypted
Core dump can now be written in plain text if the partition itself is encrypted.
So it is important to modify the partition table if the user wants an encrypted
core dump partition as by default, it is not.
Added some functions in core_dump_port.c to abstract the checksum implementation
from core_dump_flash.c file.

Closes IDF-458
2020-12-01 16:58:45 +08:00
Omar Chebib
a56a0921aa espcoredump: fix plain coredump written on an encrypted flash
The coredump is now encrypted when saved on an encrypted flash.
The cache used for saving the file onto the flash is bigger,
making the proccess more efficient.

Relates to IDF-458
Closes https://github.com/espressif/esp-idf/issues/2932
2020-11-26 16:28:32 +08:00
Roland Dobai
2ecf66eba3 tools: Wait and dump the initial messages during gdbmi initialization 2020-11-18 19:08:16 +01:00
Roland Dobai
82ee1d4683 tools: Increase the internal GDB response delay for espcoredump CI tests 2020-11-18 18:56:30 +01:00
Roland Dobai
646f3fb801 tools: Fix non-existing key in espcoredump's GDMI payload 2020-11-18 18:56:30 +01:00
Angus Gratton
420aef1ffe Updates for riscv support
* Target components pull in xtensa component directly
* Use CPU HAL where applicable
* Remove unnecessary xtensa headers
* Compilation changes necessary to support non-xtensa gcc types (ie int32_t/uint32_t is no
  longer signed/unsigned int).

Changes come from internal branch commit a6723fc
2020-11-13 07:49:11 +11: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
5eebdd1de2 espcoredump: fix exception when -thread-info fails
GDB "-thread-info N" command (for a specific thread N) may fail if
GDB can not perform a backtrace. At the same time, "-thread-info"
command succeeds in this situation, returning information for all
threads.
Replace repeated calls to "-thread-info N" with a single call to
"-thread-info", also reducing the total execution time.
2020-10-02 16:54:32 +02:00
Mahavir Jain
237087a5ca espcoredump: remove ESP32 prefix from config options
- This component is applicable for ESP32 and ESP32-S2, hence the change
- Backward compatibility is maintained using `sdkconfig.rename` file
2020-09-30 20:22:27 +05:30
Ivan Grokhotkov
767235ba6d Merge branch 'bugfix/coredump_temp_files_del' into 'master'
coredump: temp-files delete fix

See merge request espressif/esp-idf!9511
2020-09-14 16:05:28 +08:00
Jakob Hasse
20c068ef3b cmock: added cmock as component
* changing dependencies from unity->cmock
* added component.mk and Makefile.projbuild
* ignore test dir in gen_esp_err_to_name.py
* added some brief introduction of CMock in IDF
2020-09-02 16:38:37 +08:00
Andrei Gramakov
48c4378a70 coredump: temp-files delete fix 2020-08-04 09:15:30 +02:00
Ivan Grokhotkov
8ac56e904b Merge branch 'bugfix/coredump_esp_panic_reason' into 'master'
Coredump ESP panic reason

See merge request espressif/esp-idf!9072
2020-07-28 23:49:10 +08:00
Alexey Gerenkov
cae41db8b8 coredump: Fixes core dump private header inclusion guard 2020-07-27 21:38:34 +03:00
Alexey Gerenkov
21091c6b0e coredump: Fixes ESP-specific panic reasons handling 2020-07-27 21:38:33 +03:00
morris
2917651478 esp_rom: extract common ets apis into esp_rom_sys.h 2020-07-27 15:27:01 +08:00
Roland Dobai
ee5e3f8b93 CI: Fix timeout in the espcoredump test 2020-07-08 11:10:43 +02:00
morris
a34409cffc esp_rom: extract common CRC apis into esp_rom_crc.h 2020-06-23 16:40:14 +08:00
Ivan Grokhotkov
c140a66d3d Merge branch 'feature/coredump_pygdbmi' into 'master'
espcoredump: use pygdbmi for interaction with GDB

Closes IDF-48

See merge request espressif/esp-idf!8841
2020-06-23 01:44:45 +08:00
Ivan Grokhotkov
3ffacb04b9 Merge branch 'bugfix/espcoredump_fix_error_reported_for_blank_partition' into 'master'
espcoredump: fix error reported for blank partition

Closes IDF-1727

See merge request espressif/esp-idf!8801
2020-06-22 15:54:19 +08:00