Alexey Gerenkov
eb2aa6fd67
apptrace: Adds HeapTraceEvent.callers property used by OpenOCD tests
2019-12-27 00:13:45 +03:00
Alexey Gerenkov
184e1785ff
gcov: Fixes aborted calls to _lock_acquire_recursive from gcov stub
2019-12-16 19:15:37 +00:00
Alexey Gerenkov
b81e537b7f
apptrace: Extends SystemView heap & log example to run many allocator/freer tasks
2019-12-04 18:04:11 +03:00
Alexey Gerenkov
884717fb2f
apptrace: Adds support for converting SystemView traces to JSON format
2019-12-04 18:04:07 +03:00
Alexey Gerenkov
e092d6f858
coredump: Makes compatible with legacy binary core dumps
...
Also:
- improves coredump versioning scheme
- Moves some API funtions to respective flash/UART dependent code
2019-11-25 22:44:51 +03:00
Alexey Gerenkov
27ce4d13df
coredump: change data format to ELF
2019-11-22 13:25:43 +08:00
Alexey Gerenkov
1626f827d3
docs: Updates OpenOCD configuration file names
2019-11-18 13:33:32 +03:00
Alexey Gerenkov
30ff7198b8
apptrace: Renames Kconfig options
2019-11-13 15:24:01 +03:00
Alexey Gerenkov
5909d3676c
esp32s2: Adds apptrace support
...
Closes IDF-510.
Closes IDF-1032.
2019-11-13 15:24:01 +03:00
Alexey Gerenkov
5b83b198c6
gcov: Fixes libgcov and libapp_trace cross dependency linking issue
...
Closes IDF-834
2019-11-12 18:42:08 +03:00
Alexey Gerenkov
02e084e2b5
examples: Collects coverage info in component
2019-11-12 18:42:02 +03:00
Alexey Gerenkov
e9faf132b4
tools: Update recommended OpenOCD version to v0.10.0-esp32-20190708
2019-07-17 13:11:24 +00:00
Alexey Gerenkov
2926cd09a2
gcov_example: Adds cmake target to generate report
...
Closes IDF-727
2019-07-05 12:44:35 +00:00
Alexey Gerenkov
3914f17d26
apptrace: Adds test for logtrace_proc script
2019-04-01 19:31:45 +03:00
Alexey Gerenkov
296c9549a4
sys_view: Adds heap & log tracing example
2019-04-01 19:31:45 +03:00
Alexey Gerenkov
d2db2ef03c
docs: Adds host-based heap tracing description
2019-04-01 19:31:45 +03:00
Alexey Gerenkov
8c6a924cdf
sys_view: Adds processing scripts for heap & log traces
2019-04-01 19:31:45 +03:00
Alexey Gerenkov
5ef3a64c00
sys_view: Adds heap tracing API
2019-04-01 19:31:27 +03:00
Alexey Gerenkov
335576013e
heap: Separate standalone and common part of tracing module
2019-04-01 15:56:15 +03:00
Alexey Gerenkov
2d52ac48f9
apptrace: Adds checks for user arguments in apptrace API
2019-04-01 15:56:14 +03:00
Alexey Gerenkov
c0f37a324e
apptrace: Fixes tracing xQueueGiveFromISR
2019-04-01 15:56:13 +03:00
Alexey Gerenkov
b5ac319160
vfs: Adds example for semihosting VFS driver
2019-03-20 12:52:52 +03:00
Alexey Gerenkov
4fc14e8eb6
vfs: Adds semihosting VFS driver
2019-03-08 15:08:10 +03:00
Alexey Gerenkov
3dcc0ae908
docs: Adds watchpoints limit configuration to example gdbinit
...
Closes https://github.com/espressif/esp-idf/issues/2335
2018-12-20 06:09:23 +00:00
Alexey Gerenkov
3139b2d533
example: Adds SystemView tracing example app
2018-11-20 04:09:39 +00:00
Alexey Gerenkov
3eaba1c8ce
esp32: Fixes SystemView lock's IRQ state restore
2018-11-20 04:09:39 +00:00
Alexey Gerenkov
78a7a152d1
esp32: Fixes freezing core dump process when flash write address checks are enabled
2018-11-15 06:13:48 +00:00
Alexey Gerenkov
b152c1020c
esp32: Adds logging level to core dump script
2018-11-15 06:13:48 +00:00
Alexey Gerenkov
76e02cadcc
esp32: Adds support for core dump format version
2018-11-15 06:13:48 +00:00
Alexey Gerenkov
181a40ae30
esp32: Adds menuconfig option for max tasks number in core dump
2018-11-15 06:13:48 +00:00
Alexey Gerenkov
30e766ee6b
esp32: Core dump API to retrieve current core data layout in flash
2018-11-15 06:13:48 +00:00
Alexey Gerenkov
a55cc99f50
esp32: Replaces magic numbers with CRC for core dump in flash
2018-11-15 06:13:48 +00:00
Alexey Gerenkov
e0f7e196f2
cxx: don’t define stubs for __throw_* functions
...
If exception support is disabled in IDF, and libstdc++ tries to throw
an exception, it will call __cxa_allocate_exception which is replaced
with abort in IDF.
We have a dramatically size reduction of the RO-section in binary when using '__throw_'-stubs in GCC5
In the case of using GCC8, we are faced with 'multiple definition' errors when using '__throw_'-stubs.
Good that we don't have the size problem due to gcc8
2018-09-20 18:53:15 +08:00
Alexey Gerenkov
f0c15e749a
gcov: use GCC API to control GCOV data dumps
2018-09-20 18:53:14 +08:00
Alexey Gerenkov
7e5c235b9d
app_trace: Fix tmo initialization
2018-08-29 10:55:39 +08:00
Alexey Gerenkov
ac07c23e37
docs: Adds description of OpenOCD command to configure custom app image location
2018-08-27 14:08:36 +03:00
Alexey Gerenkov
821fe3dc5a
esp32: Adds SW flash breakpoints description
2018-07-26 13:56:45 +03:00
Alexey Gerenkov
c2dc09304c
gcc8_newlib3: Compilation warnings and errors not specific to newlib v3
2018-07-09 13:22:24 +03:00
Alexey Gerenkov
8fe2a77c46
coredump: Adds support for ROM ELF file to 'espcoredump' script
2018-07-05 22:20:20 +03:00
Alexey Gerenkov
95e26cd461
coredump: Fixes exception stack frame structure indicator
...
Initializes exception stack frame EXIT field to indicate stack frame format for 'espcoredump'.
2018-07-05 22:20:20 +03:00
Alexey Gerenkov
13384221a7
host_file_io: Fixes uninitialized 'offset' and 'whence' fseek args
2018-07-03 19:34:13 +03:00
Alexey Gerenkov
585df5cfdb
docs: Corrects OpenOCD command usage in logtrace readme
2018-05-25 16:42:18 +03:00
Alexey Gerenkov
3fd199c54a
docs: Makes core dump's documentation slightly clearer
...
Merges https://github.com/espressif/esp-idf/pull/1968
2018-05-22 20:24:29 +03:00
Alexey Gerenkov
c1b6a37bb1
esp32: Adds GCOV debug stubs support
...
Adds the following functionality
- Debug stubs infrastructure
- Stub for retrieveing GCOV data without user source code modification
2018-05-18 16:16:03 +03:00
Alexey Gerenkov
439140d269
esp32: Adds support for SW breakpoints in flash
...
Disables app image integrity checks when running under OpenOCD control.
Allows setting breakpoints in flash before application start (just after reset).
2018-04-26 10:17:02 +03:00
Alexey Gerenkov
4e544f82bb
esp32: Fixes apptrace down buffer management
2018-02-21 10:13:25 +03:00
Alexey Gerenkov
f8c42369f1
freertos: Adds C11 TLS support
2018-02-07 18:46:57 +03:00
Alexey Gerenkov
7df96718a2
esp32: Adds C++ exceptions emergency pool size menuconfig option
2017-11-23 06:14:11 +03:00
Alexey Gerenkov
7ce945a9de
pthread: Fixes memory leaks and stack overflow in tests
...
Also this commit replaces FreeRTOS list used for pthread internals
with simple one from rom/queue.h
2017-11-17 16:57:33 +03:00
Alexey Gerenkov
692a890232
esp32: Adds Stack Smashing Protection Feature
...
These changes add posibility to enable GCC stack protector via menuconfig
for all source files in project.
2017-11-17 12:08:36 +03:00
Alexey Gerenkov
5795ccc806
freertos: Fixes deadlock in pthread_once for init_routines calling pthread_once
2017-10-01 19:52:48 +03:00
Alexey Gerenkov
54a529f596
freertos: Fixes hangup upon pthread_join on finished thread
2017-10-01 19:52:48 +03:00
Alexey Gerenkov
fe3b557fa8
esp32: Fixes double initialization of apptrace down ring buffer in dual core mode
...
Additional minor fixes:
- Host file I/O code warnings
- Initialization of down buffer for GCOV
2017-09-15 22:45:21 +03:00
Alexey Gerenkov
b09f4acb27
Added proper handling of apptrace and pthread initialization errors
2017-09-14 20:47:43 +02:00
Alexey Gerenkov
4e0c3a0415
esp32: Fixes crash during core dump.
...
Removes piece of debugging code introduced by 8d43859b .
2017-09-11 17:20:42 +03:00
Alexey Gerenkov
891f0db31d
esp32: Adds gcov over JTAG feature
...
Implements function to dump GCOV data to host via JTAG.
The following functionality was added:
- Host file I/O
- GCOV runtime I/O stubs
- GCOV example
2017-09-07 18:13:16 +03:00
Alexey Gerenkov
5dea0fca15
esp_pthread_init constructor attr was removed
2017-09-06 10:30:23 +08:00
Alexey Gerenkov
5094965e98
According to comments
2017-09-06 10:30:23 +08:00
Alexey Gerenkov
20942421c3
According to review comments
2017-09-06 10:30:23 +08:00
Alexey Gerenkov
8859dab10c
Cleanup
2017-09-06 10:30:23 +08:00
Alexey Gerenkov
bf8ff8c98b
1) Thread detach functionality added
...
2) Recursive mutexes support
3) C++ test updated
2017-09-06 10:30:23 +08:00
Alexey Gerenkov
c631c6b358
1) Mux API was added
...
2) C++ test for threading and mux functions
2017-09-06 10:30:23 +08:00
Alexey Gerenkov
0b09c7006d
pthread: Initial version of thread API
2017-09-06 10:30:23 +08:00
Alexey Gerenkov
fb8b0c534a
esp32: Fixes infinite loop caused by exception during core dumping
2017-09-05 11:15:27 +08:00
Alexey Gerenkov
cf29dd47a9
apptrace lock acquire function was re-designed to minimize waiting time with disabled IRQs
2017-09-04 20:44:11 +08:00
Alexey Gerenkov
7d86f167ee
docs: Flashing over JTAG was added
2017-07-26 14:53:48 +08:00
Alexey Gerenkov
60c45ae2c4
Updated acc to comments
2017-07-24 20:07:21 +03:00
Alexey Gerenkov
c2c9149a24
esp32: Apptrace API enhancement
...
- User down buffer configuration support
- bugfix: ring buf - avalable write size undeflow
- SysView down buf support updated
2017-07-24 19:57:44 +03:00
Alexey Gerenkov
8d43859b6a
esp32: SEGGER SystemView Tracing Support
...
Implements support for system level traces compatible with SEGGER
SystemView tool on top of ESP32 application tracing module.
That kind of traces can help to analyse program's behaviour.
SystemView can show timeline of tasks/ISRs execution, context switches,
statistics related to the CPUs' load distribution etc.
Also this commit adds useful feature to ESP32 application tracing module:
- Trace data buffering is implemented to handle temporary peaks of events load
2017-06-27 20:52:43 +03:00
Alexey Gerenkov
98895af68b
esp32: Core dump sanity checks were added
...
- CRC for core dump flash partition config
- Tasks with corrupted TCBs are skipped
- Assertions to check that nothing is written beyond core dump flash partition
2017-04-26 21:13:02 +03:00
Alexey Gerenkov
77a92e6dcc
esp32: Added dumping info from traceport upon reset by any WDT
...
- Last PC info and waiti mode indication are printed for both CPUs
- Raw traceport regs values are printed only for log levels higher than DEBUG
2017-04-23 22:07:56 +03:00
Alexey Gerenkov
55f1a63faf
esp32: Adds functionality for application tracing over JTAG
...
- Implements application tracing module which allows to send arbitrary
data to host over JTAG. This feature is useful for analyzing
program modules behavior, dumping run-time application data etc.
- Implements printf-like logging functions on top of apptrace module.
This feature is a kind of semihosted printf functionality with lower
overhead and impact on system behaviour as compared to standard printf.
2017-04-17 23:26:29 +03:00
Alexey Gerenkov
0860f46220
spi_flash: Fixed bug in SPI flash ROM driver to work with embedded flash chip
...
1) fixed SPI_read_status: added check for flash busy flag in matrix mode
2) fixed SPI_page_program: enable write before writing data to SPI FIFO
3) SPI flash ROM funcs replacement is controlled via menuconfig option
2017-04-11 10:51:19 +08:00
Alexey Gerenkov
c142b9b9e5
esp32: RWDT is used to reboot system in case of panic handler crash
...
also fixes TG1WDG protection bug in panic handler
2017-04-07 02:34:29 +03:00
Alexey Gerenkov
a593d8a518
bugfix: fixed path to esptool when there is no compiled python module for it
...
bugfix: GDB inernal failure handling was added
2017-03-21 13:30:38 +03:00
Alexey Gerenkov
04acc88023
esp32: Fixes watchdog problem when printing core dump to uart
...
Also fixes generation of core dumps when flash cache is disabled
2017-02-01 18:39:28 +03:00
Alexey Gerenkov
f512923791
esp32: Fixed search path for esptool
2017-01-26 19:28:13 +03:00
Alexey Gerenkov
e6f8837152
esp32: Fixed and updated core dump docs
2017-01-26 18:47:10 +03:00
Alexey Gerenkov
ad66fbe5ad
esp32: Fixes issues discussed during code review of MR!341
...
The following issues mentioned during MR!341 review were fixed:
1) Core dump test application description
2) Usage of CONFIG_ESP32_ENABLE_COREDUMP_TO_FLASH and CONFIG_ESP32_ENABLE_COREDUMP_TO_UART
3) FLASH_GUARD_START macro usage is fixed in flash API
4) Core dump module logging facility
5) cache util functions doc updated
6) interactive delay before print core dump to uart
7) core dump partion support in build system
2017-01-12 19:38:19 +03:00
Alexey Gerenkov
50b3ce616f
esp32: Adds documentation and comments to core dump feature files
2017-01-11 20:51:28 +03:00
Alexey Gerenkov
39ddc7b836
esp32: Fixes several issues in core dump feature
...
1) PS is fixed up to allow GDB backtrace to work properly
2) MR!341 discussion: in core dump module: esp_panicPutXXX was replaced by ets_printf.
3) MR!341 discussion: core dump flash magic number was changed.
4) MR!341 discussion: SPI flash access API was redesigned to allow flexible critical section management.
5) test app for core dump feature was added
6) fixed base64 file reading issues on Windows platform
7) now raw bin core file is deleted upon core loader failure by epscoredump.py
2017-01-11 20:51:28 +03:00
Alexey Gerenkov
23f836659d
esp32: Add core dump printing to UART feature
2017-01-11 20:51:28 +03:00
Alexey Gerenkov
4a3e160888
esp32: Add core dump saving to flash feature
...
Complimentary changes:
1) Partition table definitions files with core dump partition
2) Special sub-type for core dump partition
3) Special version of spi_flash_xxx
4) espcoredump.py is script to get core dump from flash and print useful info
5) FreeRTOS API was extended to get tasks snapshots
2017-01-11 20:51:28 +03:00