Commit Graph
100 Commits
Author SHA1 Message Date
Ivan Grokhotkov 34408026bb wifi: add set_xpd_sar override
Wi-Fi enables and disables ADC when exiting and entering sleep mode.
Coordinate ADC power state with other modules, using adc_power_acquire
and adc_power_release.
2021-01-25 04:51:40 +00:00
Ivan Grokhotkov abe94e3b53 adc: add adc_power_acquire/release, deprecate adc_power_on/off 2021-01-25 04:51:40 +00:00
Ivan Grokhotkov 106aa180f3 Merge branch 'bugfix/verbose_logging_failure_with_spiram' into 'master'
Fix verbose logging bootup failure with spiram

See merge request espressif/esp-idf!11982
2021-01-22 23:03:04 +08:00
Ivan Grokhotkov cd427c1712 Merge branch 'bugfix/blink_tabs' into 'master'
examples/blink: convert tabs to spaces

See merge request espressif/esp-idf!12065
2021-01-22 19:53:50 +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
Ivan Grokhotkov 61c5604d83 Merge branch 'feature/pwsh_4win_installer' into 'master'
win_installer: Powershell support

Closes IDF-930

See merge request espressif/esp-idf!6882
2021-01-21 18:19:01 +08:00
Ivan Grokhotkov d8a3f59d29 examples/blink: convert tabs to spaces 2021-01-20 01:15:51 +01:00
Ivan Grokhotkov 654d4b8d72 Merge branch 'bugfix/ttfw_fix_detect_dut_failed' into 'master'
ttfw: fix get dut failed when dut port is set as env variable

See merge request espressif/esp-idf!11994
2021-01-20 07:43:01 +08:00
Ivan Grokhotkov b69f94fb3a Merge branch 'feature/move_ringbuf_funcs_into_flash' into 'master'
esp_ringbuf: add kconfig opt to move ringbuffer functions into flash

Closes IDF-2247

See merge request espressif/esp-idf!10731
2021-01-20 07:32:39 +08:00
Ivan Grokhotkov 19d2e4cca1 Merge branch 'bugfix/idf_tools_py_splittype_deprecation' into 'master'
idf_tools.py: avoid splittype call deprecated in python3.8

Closes IDFGH-4364

See merge request espressif/esp-idf!11956
2021-01-20 07:24:36 +08:00
Ivan Grokhotkov fb61cb7337 Merge branch 'bugfix/win_inst_unbounded_variable' into 'master'
tools: fix: ubounded variable in win installer build script

Closes IDFCI-395

See merge request espressif/esp-idf!12061
2021-01-19 23:02:49 +08:00
Ivan Grokhotkov d8a6e8f422 Merge branch 'fix/tools_idf_wheels_detection' into 'master'
fix: tools detection of wheels dir

See merge request espressif/esp-idf!12048
2021-01-19 04:30:58 +08:00
Ivan Grokhotkov 76acc8ddde Merge branch 'feature/win_inst_embedded_python' into 'master'
tools: support for embedded Python

Closes IDF-322

See merge request espressif/esp-idf!11682
2021-01-18 16:54:47 +08:00
Ivan Grokhotkov 9cb3ac94c4 Merge branch 'bugfix/linenoise_probe' into 'master'
console: fix linenoiseProbe never timing out

Closes IDFCI-387

See merge request espressif/esp-idf!12012
2021-01-15 19:31:14 +08:00
Ivan Grokhotkov 9b2b86b7d9 console: fix linenoiseProbe never timing out
Fixes a regression from 753a92952: if cb was negative, read_bytes
overflowed, because the type was changed from int to size_t.

Also fixes incorrect timeout calculation: timeout_ms was 200, but
each iteration delayed for 10ms, and reduced timeout_ms by 1. This
made the effective timeout to be 2000ms.
2021-01-15 09:22:04 +01:00
Ivan Grokhotkov bba7826ac0 Merge branch 'feature/c3_gdb_stub_regard_uart' into 'master'
gdbstub: C3 - protection for UART register region

Closes IDF-2533

See merge request espressif/esp-idf!11745
2021-01-15 15:23:58 +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 8dcdca8d76 Merge branch 'feature/add-ability-to-disable-address-decoding' into 'master'
Add ability to disable address decoding using environment variable

Closes IDFGH-180

See merge request espressif/esp-idf!11795
2021-01-14 16:12:35 +08:00
Ivan Grokhotkov 66ac736a8c Merge branch 'bugfix/tusb_partial_read' into 'master'
usb: Add fix for tinyusb reading

Closes IDF-2029 and IDFGH-4465

See merge request espressif/esp-idf!10069
2021-01-11 00:07:29 +08:00
Ivan Grokhotkov f34925537e Merge branch 'feature/idf_tools_darwin_arm64' into 'master'
tools: idf_tools.py: allow macOS x86_64 tools to be installed on arm64

See merge request espressif/esp-idf!11911
2021-01-08 22:16:06 +08:00
Ivan Grokhotkov bac77b4bf7 Merge branch 'feature/idf-list-ports' into 'master'
idf.py: Use function for port detection from esptool.py in idf.py and idf_monitor.py

Closes IDFGH-3104

See merge request espressif/esp-idf!11359
2021-01-08 21:36:08 +08:00
Ivan Grokhotkov b53e8de443 Merge branch 'bugfix/tinyusb_vendor_msc' into 'master'
tinyusb: Fix Mass Storage and Vendor Class builds

See merge request espressif/esp-idf!11443
2021-01-08 21:34:34 +08:00
Ivan Grokhotkov 5739127412 tools: idf_tools.py: allow macOS x86_64 tools to be installed on arm64
Until arm64 tool binaries are available, we can run existing x86_64
ones under emulation.

Suggested in https://github.com/espressif/esp-idf/issues/6113.
2021-01-07 21:21:18 +01:00
Ivan Grokhotkov 5962b1dc56 panic: print register dump on abort for RISC-V
Register values are necessary to perform host-side backtracing on
RISC-V. Print them in case of an abort as well.
2020-12-31 15:46:17 +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
Ivan Grokhotkov de798541dc tools: use riscv32-esp-elf toolchain for ESP32-S2 RISC-V ULP
riscv32-esp-elf toolchain (used for ESP32-C3) can also be used for
ESP32-S2 RISC-V ULP coprocessor.

This removes the riscv-none-embed-gcc toolchain which was originally
used for the ULP, and updates the docs and CMake files to use
riscv32-esp-elf.

Some flags are cleaned up and workarounds removed from CMake toolchain
file.
2020-12-29 19:19:18 +00:00
Ivan Grokhotkov b7b9ea4361 newlib: add _RETARGETABLE_LOCKING support
This adds support for the retargetable locking implementation in
newlib 3. This feature will be enabled in the future toolchain builds.
With the present version of the toolchain, this code doesn't get used.

When _RETARGETABLE_LOCKING gets enabled, newlib locking implementation
will be modified as follows:

- Legacy ESP-specific _lock_xxx functions are preserved. This is done
  because ROM copies of newlib in ESP32 and ESP32-S2 rely on these
  functions through the function pointer table. Also there is some
  code in IDF which still uses these locking functions.

- New __retarget_lock_xxx functions are introduced. Newlib expects
  these functions to be provided by the system. These functions work
  pretty much the same way as the ESP-specific _lock_xxx functions,
  except one major difference: _lock_acquire receives the lock pointer
  by value, and as such doesn't support lazy initialization.

- Static locks used by newlib are now explicitly initialized at
  startup. Since it is unlikely that these static locks are used at
  the same time, all compatible locks are set to point to the same
  mutex. This saves a bit of RAM. Note that there are still many locks
  not initialized statically, in particular those inside FILE
  structures.
2020-12-29 16:18:04 +01:00
Ivan Grokhotkov b1c4107275 vfs: zero-initialize struct stat in *_stat and *_fstat handlers
...otherwise some fields will contain garbage values.
This wasn't noticed until HAVE_BLKSIZE got enabled in newlib builds.
2020-12-29 16:18:04 +01:00
Ivan Grokhotkov 7f3b16a99d freertos: always enable static allocation
to use it for newlib locks
2020-12-29 16:18:04 +01:00
Ivan Grokhotkov b7caf5c51d Merge branch 'bugfix/icmp_echo_test' into 'master'
CI: change icmp example test address to ci.espressif.cn

See merge request espressif/esp-idf!11759
2020-12-29 00:58:24 +08:00
Ivan Grokhotkov 0b31f6a5fc Merge branch 'feature/ci_flasher_args_json_encrypted_flag' into 'master'
ci: use "encrypted" information in flasher_args.json

Closes IDF-2231

See merge request espressif/esp-idf!11551
2020-12-28 06:37:05 +08:00
Ivan Grokhotkov fb7fbdb299 Merge branch 'feature/usb_host_ll' into 'master'
USB Host struct, LL Layer, and types

See merge request espressif/esp-idf!11669
2020-12-27 08:13:43 +08:00
Ivan Grokhotkov 45afa158ff Merge branch 'bugfix/nvs_str_cmp' into 'master'
NVS: fix string comparison

Closes IDF-2476

See merge request espressif/esp-idf!11523
2020-12-24 18:28:29 +08:00
Ivan Grokhotkov 8f3a3181e6 tools: decode esp32c3 stack dumps in idf_monitor.py
This follows a similar approach as UART core dump handling in
idf_monitor. Panic handler message is detected in the output,
collected into a file, and the file is passed to the decoding script.
In this case, the decoding script acts as a tiny GDB server, so we
can ask GDB to perform the backtrace.
2020-12-22 20:02:48 +11:00
Ivan Grokhotkov 84dea34550 Merge branch 'bugfix/fix_some_ut_test_result_not_uploaded_to_jira' into 'master'
test: fix some unit test results not uploaded to Jira:

Closes IDFCI-130

See merge request espressif/esp-idf!10678
2020-12-17 23:53:43 +08:00
Ivan Grokhotkov 41cd344c6b Merge branch 'feature/example_use_cpp_thread' into 'master'
cxx: improve experimental cxx examples

See merge request espressif/esp-idf!11638
2020-12-17 22:02:00 +08:00
Ivan Grokhotkov 792dc6ebb8 Merge branch 'feature/linux_target' into 'master'
build system: Add Linux target

Closes IDF-2145

See merge request espressif/esp-idf!10076
2020-12-16 16:25:38 +08:00
Ivan Grokhotkov 19498791a5 cmake: set IDF_VERSION_* variables at requirement expansion stage
Currently IDF_VERSION_* variables are not available to the component
CMakeLists.txt files at the requirements expansion stage. This makes
it harder to write component CMakeLists files compatible with
different IDF versions.

Include version.cmake from the requirements expansion script, add a
build system test.
2020-12-15 20:53:19 +01:00
Ivan Grokhotkov d4a6c911e4 Merge branch 'bugfix/menuconfig_module' into 'master'
tools: Invoke menuconfig as named module

Closes IDFGH-4417

See merge request espressif/esp-idf!11588
2020-12-16 00:33:35 +08:00
Ivan Grokhotkov 25a4a61665 Merge branch 'bugfix/nvs_coverage_script' into 'master'
NVS: fixed coverage-report target in Makefile

See merge request espressif/esp-idf!11218
2020-12-16 00:30:07 +08:00
Ivan Grokhotkov e400a1f5b0 Merge branch 'feature/panic_test_multi_target_support' into 'master'
CI: Add multi-target support for panic test

See merge request espressif/esp-idf!11451
2020-12-16 00:01:11 +08:00
Ivan Grokhotkov 632a33cef8 Merge branch 'fix/nvs_flash_api_docs' into 'master'
nvs_flash: fix nvs initialization API documentation

See merge request espressif/esp-idf!11621
2020-12-15 19:56:55 +08:00
Ivan Grokhotkov 829d94ad01 Merge branch 'fix/rtc_fast_memory_force_on_in_use_for_heap' into 'master'
fix: RTC_FAST_MEM always power on if used for heap

See merge request espressif/esp-idf!11555
2020-12-15 18:45:20 +08:00
Ivan Grokhotkov f3ef6d650c Merge branch 'feature/esp_timer_cxx' into 'master'
esp_timer: added C++ wrapper for esp_timer

Closes IDF-1074

See merge request espressif/esp-idf!10368
2020-12-15 17:58:13 +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
Ivan Grokhotkov 46cfc436ad Merge branch 'feature/idf_tools_github_mirror' into 'master'
Add GitHub mirror option for IDF tools installs

Closes IDF-2028

See merge request espressif/esp-idf!10616
2020-12-14 15:58:51 +08:00
Ivan Grokhotkov af43e34839 Merge branch 'bugfix/drop_make_support_when_esp32_not_supported' into 'master'
CI: drop make support when esp32 not supported

See merge request espressif/esp-idf!11510
2020-12-14 15:51:44 +08:00
Ivan Grokhotkov 17b9fca02f Merge branch 'bugfix/win_inst_defender_check' into 'master'
Tools: Windows Installer add pre-installation screen with System checks for Python and Windows Defender

Closes IDF-1819

See merge request espressif/esp-idf!11152
2020-12-14 15:43:10 +08:00
Ivan Grokhotkov e0e6194c95 Merge branch 'bugfix/coredump_plain_partition_on_encrypted_flash' into 'master'
coredump: Core dump is encrypted if the partition itself is encrypted

Closes IDF-458

See merge request espressif/esp-idf!11424
2020-12-14 15:40:05 +08:00
Ivan Grokhotkov daee9bfa01 Merge branch 'bugfix/py2_socketio' into 'master'
tools: Fix requirements incompatible with Python 2

See merge request espressif/esp-idf!11541
2020-12-14 15:37:34 +08:00
Ivan Grokhotkov b0150615df Merge branch 'test/disable_twai_example_ci' into 'master'
Temporarily disable TWAI network example test

See merge request espressif/esp-idf!11560
2020-12-13 04:15:21 +08:00
Ivan Grokhotkov 4bfa2c937f Merge branch 'bugfix/nvs_close_nukes_all_handles' into 'master'
NVS: fixed deinit other partition's handles

Closes FCS-533

See merge request espressif/esp-idf!10940
2020-12-07 15:57:14 +08:00
Ivan Grokhotkov d890a516a1 driver: add notes about GPIO36/39 issue (ECO 3.11) workaround
Closes IDFGH-1917
Closes https://github.com/espressif/esp-idf/issues/4117
2020-12-07 10:45:04 +08:00
Ivan Grokhotkov 80e7252c13 wifi: add set_xpd_sar override
Wi-Fi enables and disables ADC when exiting and entering sleep mode.
Coordinate ADC power state with other modules, using adc_power_acquire
and adc_power_release.
2020-12-07 10:45:04 +08:00
Ivan Grokhotkov a4f81d0bd3 adc: add adc_power_acquire/release, deprecate adc_power_on/off 2020-12-07 10:45:04 +08:00
Ivan Grokhotkov 0e6d32cbfd tools: windows installer: add support for IDF_GITHUB_ASSETS
Adds a checkbox to download tools from dl.espressif.com mirror.
2020-12-03 17:50:42 +11:00
Ivan Grokhotkov 89d39308a0 bootloader: avoid printing load addresses with '0x'
Since idf_monitor decodes anything that looks like a code address and
starts with 0x, bootloader logs often get annotated with function
names such as WindowOverflow and other random and scary looking things
unrelated to the issue the user is facing. Print the addresses without
0x to avoid confusion by decoded function names. Print hexadecimal
size with 'h' suffix to distinguish it from the decimal value that
follows.
2020-12-02 16:33:43 +01:00
Ivan Grokhotkov 11ae1dcebe docs: fatal errors: mention another reason for LoadStoreError 2020-12-02 11:58:56 +01:00
Ivan Grokhotkov 8bf1c2565f freertos: clarify statement on task function not returning
Mentioned in https://www.esp32.com/viewtopic.php?f=2&t=18220.
2020-12-02 11:58:56 +01:00
Ivan Grokhotkov 11d8df4704 Merge branch 'bugfix/kconfig_ref_sort_content' into 'master'
tools: Sort menu content in Kconfig option reference

Closes IDF-1711

See merge request espressif/esp-idf!10926
2020-12-01 07:36:20 +08:00
Ivan Grokhotkov 499f3e1540 Merge branch 'bugfix/parttool_miss_arg' into 'master'
partition_table: Fix missing argument not present for all parsers

See merge request espressif/esp-idf!11373
2020-12-01 07:30:42 +08:00
Ivan Grokhotkov e241884cfd Merge branch 'bugfix/plain_coredump_encrypted_flash' into 'master'
coredump: fix plain coredump written on an encrypted flash

Closes IDF-458

See merge request espressif/esp-idf!11166
2020-12-01 07:29:36 +08:00
Ivan Grokhotkov a8983a72a1 Merge branch 'feature/idfpy_crtl_c_processing_4_win' into 'master'
tools: idf_exe: add Ctrl+C processing

See merge request espressif/esp-idf!11357
2020-11-25 21:24:00 +08:00
Ivan Grokhotkov 7f9c84032e Merge branch 'ci/build_example_cmake_artifacts_always' into 'master'
bugfix: CI: build_example_cmake artifacts uploaded only when succeeded

See merge request espressif/esp-idf!11279
2020-11-18 21:18:17 +08:00
Ivan Grokhotkov 3a01196eb0 Merge branch 'bugfix/smtp_client_attachment_newline' into 'master'
Add newline separator to fix wrong attachment sent

Closes IDFGH-4240

See merge request espressif/esp-idf!11177
2020-11-18 07:42:38 +08:00
Ivan Grokhotkov 475ff2f018 Merge branch 'temporary-disable-autocomplete-test' into 'master'
Temporary disable autocomplete test

See merge request espressif/esp-idf!11217
2020-11-12 23:51:25 +08:00
Ivan Grokhotkov f5939c9e68 Merge branch 'bugfix/unset-temp-procedure-and-redirect-to-stderr' into 'master'
Tools: Avoid printing warnings in idf.py when autocompleting

Closes IDFCI-207

See merge request espressif/esp-idf!11159
2020-11-12 05:27:32 +08:00
Ivan Grokhotkov 256333ca13 Merge branch 'ci/add_pre_commit_for_some_pre_check_jobs' into 'master'
CI: Add pre-commit for IDF project

See merge request espressif/esp-idf!10682
2020-11-06 20:16:27 +08:00
Ivan Grokhotkov 64c5b64996 Merge branch 'ci/renable_deploy_docs_production' into 'master'
CI: Renable deploy_docs_production

See merge request espressif/esp-idf!11075
2020-11-06 20:15:37 +08:00
Ivan Grokhotkov e9e6d970f3 Merge branch 'feature/add-shell-autocompletion' into 'master'
idf.py: Enable autocompletion for command idf.py

Closes IDF-1540

See merge request espressif/esp-idf!10742
2020-11-06 20:14:38 +08:00
Ivan Grokhotkov 5dd16db1d6 Merge branch 'feature/esp_event_cxx' into 'master'
C++: ESP Event wrapper classes

Closes IDF-1048 and IDF-232

See merge request espressif/esp-idf!9602
2020-11-06 17:24:34 +08:00
Ivan Grokhotkov b178780d52 Merge branch 'bugfix/missing_assign_test_variable' into 'master'
CI: fix missing variables issue in assign_test

See merge request espressif/esp-idf!11111
2020-11-04 18:58:35 +08:00
Ivan Grokhotkov 0f127fcb62 ci: don't fetch artifacts in push_to_github 2020-11-03 16:46:51 +01:00
Ivan Grokhotkov 494a124d96 Merge branch 'bugfix/ci_clone_https' into 'master'
ci: use HTTPS for cloning in IT jobs

See merge request espressif/esp-idf!11049
2020-10-30 23:34:25 +08:00
Ivan Grokhotkov 129eefa5cb ci: use HTTPS for cloning in IT jobs 2020-10-30 10:07:51 +01:00
Ivan Grokhotkov 754e73b39a Merge branch 'bugfix/rtc_clk_cal_cycles_add_default_vals_for_all_sources' into 'master'
esp32xx: Fix default values for all RTC sources in RTC_CLK_CAL_CYCLES option

Closes IDFGH-4176

See merge request espressif/esp-idf!11011
2020-10-30 03:33:40 +08:00
Ivan Grokhotkov 5341d20318 Merge branch 'bugfix/shell_test_script_missing_in_test_build_system_macos' into 'master'
Bugfix: missing `SHELL_TEST_SCRIPT` in job `test_build_system_cmake_macos`

See merge request espressif/esp-idf!11031
2020-10-30 03:20:39 +08:00
Ivan Grokhotkov 548ef6927d Merge branch 'ci/temp_disable_deploy_to_github' into 'master'
CI: Temperaroily disable deploy_docs_production

See merge request espressif/esp-idf!11046
2020-10-30 03:18:21 +08:00
Ivan Grokhotkov d13455e6fc Merge branch 'bugfix/ldgen_section_windows_line_ending' into 'master'
tools/ldgen: Fix parsing of section names on Windows

See merge request espressif/esp-idf!10988
2020-10-29 15:25:11 +08:00
Ivan Grokhotkov 4883c04236 Merge branch 'bugfix/ldgen_unicode_path' into 'master'
tools/ldgen: Parse paths with Unicode characters in archives

Closes IDFGH-4129

See merge request espressif/esp-idf!10915
2020-10-23 00:55:42 +08:00
Ivan Grokhotkov 902d630102 Merge branch 'bugfix/delete_duplicate_s3_pm_configs' into 'master'
esp32s3: delete duplicate s3 pm configs

See merge request espressif/esp-idf!10715
2020-10-22 16:45:19 +08:00
Ivan Grokhotkov b6b1d1b49a Merge branch 'bugfix/pm_dump_format' into 'master'
esp_pm: fix formatting issues in esp_pm_dump_locks

See merge request espressif/esp-idf!10842
2020-10-20 22:21:03 +08:00
Ivan Grokhotkov b98032aae4 Merge branch 'bugfix/pm_uart_garbage' into 'master'
esp_pm: fix garbage on UART when CONFIG_PM_ENABLE=y

See merge request espressif/esp-idf!10843
2020-10-20 22:18:00 +08:00
Ivan Grokhotkov 48f27cb5ab Merge branch 'feature/esp32_ulp_allow_8kb' into 'master'
esp32: allow up to 8 kB of ULP program size

Closes IDFGH-1772

See merge request espressif/esp-idf!10727
2020-10-20 04:08:57 +08:00
Ivan Grokhotkov 30754918ee esp_pm: fix formatting issues in esp_pm_dump_locks
- line was truncated because 64 characters were not sufficient
- length passed to snprintf should be full buffer length, not -1
- make the width of lock name field fixed
- fix alignment of lock type column
2020-10-19 18:54:34 +02:00
Ivan Grokhotkov 357a277603 Merge branch 'bugfix/codeowners_esp_pm' into 'master'
gitlab: add esp_pm component to CODEOWNERS

See merge request espressif/esp-idf!10844
2020-10-20 00:43:49 +08:00
Ivan Grokhotkov cea3a052b1 Merge branch 'ci/sonarqube_ignore_freertos' into 'master'
ci: Add FreeRTOS upstream files to the sonar exclude list

See merge request espressif/esp-idf!10846
2020-10-16 18:22:43 +08:00
Ivan Grokhotkov 0289d1cc81 Merge branch 'bugfix/gdbstub_threads_and_tests' into 'master'
gdbstub: fix thread list generation, add tests

Closes IDF-2246

See merge request espressif/esp-idf!10709
2020-10-15 15:59:32 +08:00
Ivan Grokhotkov 5cdb973ee0 gitlab: add esp_pm component to CODEOWNERS 2020-10-15 07:58:27 +00:00
Ivan Grokhotkov d9db49d9f7 tools: idf_tools.py: fix compatibility with Python <= 2.7.8
Multiple ssl-related features have been backported from Python 3.x
to Python 2.7.9. This adds a fallback so that idf_tools.py can work
on older versions.
2020-10-14 20:19:32 +02:00
Ivan Grokhotkov 50ef2f97d6 esp_pm: fix garbage on UART when CONFIG_PM_ENABLE=y
`uart_ll_get_txfifo_len` returns the number of bytes available in the
TX FIFO; The condition we need is "FIFO empty", not "FIFO has free
space". `uart_ll_is_tx_idle` does that, and also ensures that the last
character popped from the TX FIFO has been fully transmitted.
2020-10-14 19:43:53 +02:00
Ivan Grokhotkov e43a4d51f2 tools: fix idf_tools.py compatibility regression with Python 2
In Python 2, cadata must be explicitly converted to unicode:
https://bugs.python.org/issue37079

Regression from 081ebcf1e7
2020-10-14 18:24:55 +02:00
Ivan Grokhotkov fcb80c3cd6 Merge branch 'bugfix/idf_tools_letsencrypt_cert' into 'master'
add letsencrypt root cert into idf_tools.py

See merge request espressif/esp-idf!8829
2020-10-14 19:54:52 +08:00
Ivan Grokhotkov 840efc2f54 docs: describe power management logic for ESP32-S2, fix translation 2020-10-14 09:05:10 +02:00
Ivan Grokhotkov 2218ac91c2 tools/ci: fix import error when running ttfw tests locally 2020-10-13 18:09:22 +02:00
Ivan Grokhotkov b1d64d1a61 test/panic: add gdbstub test configuration 2020-10-13 18:09:22 +02:00
Ivan Grokhotkov 51d86081b8 gdbstub: fix thread list generation
This commit fixes an issue with gdbstub, where it would list threads
with TIDs 1 to N in qfThreadInfo/qsThreadInfo responses, and then
would tell GDB that the current TID is 0 in the qC response. This
caused an assertion failure in GDB, because it couldn't find the
thread structure corresponding to TID 0:

src/gdb/gdb/thread.c:93: internal-error: thread_info* inferior_thread(): Assertion `tp' failed.

The issue was caused by the logic of qfThreadInfo/qsThreadInfo.
If the "paniced" task index was 1, the code would report it in the
response to qfThreadInfo, and then mistakenly skip task with index 0
in qsThreadInfo, due to the use of pre-increment instead of a
post-increment.

With that issue fixed, GDB assertion doesn't happen anymore. However
the code contained a deeper problem, which manifested itself in the
fact that GDB would incorrectly show task index 0 as the current task,
after the above fix.

Previous version of the code assumed that when GDB requests the thread
list, it uses the first thread returned by the target as the "default"
thread, and subsequently shows the user that the program is stopped
in that thread. This assumption was incorrect. In fact, after
connecting to a remote target, GDB obtains information about the
"default" or "current" thread from two sources:
1. the 'thread' special register indicated in the status response
   ($T00thread;00000001#ee)
2. if the target has only sent the plain stop response ($T00#ee), GDB
   would ask for the current thread using a qC packet.
With that in mind, it is not necessary to report the paniced task as
the first task in qfThreadInfo response. We can simply returns the
tasks in their natural order, and then indicate the current task in
the qS packet response.

However even that change does not fully resolve the issues with task
list. The previous version of this code also incorrectly interpreted
the meaning of GDB TIDs -1 and 0. When GDB sends an "Hg0" command
early in the connection process, it doesn't expect the server to set
task 0 as the current task, as the code assumed. Rather, it tells the
server to "set any (arbitrary) task as the current one", and the most
logical thing to do for the server that is already in "stopped" state
is to keep the current task selection.

Since TID 0 has a special meaning in GDB remote protocol, gdbstub code
is now modified to map task indices (which start from 0) to GDB TIDs.
GDB TIDs are arbitrary, and for simplicity we keep the same order and
start counting them from 1.

The summary of all the above changes is:

1. Use "task index + 1" as the TID reported to GDB
2. Report the tasks in natural order; don't complicate the code to
   make the paniced task first in the list.
3. Centralize modification of 'current_task_index' and 'regfile'
   in the new 'set_active_task' function, to improve encapsulation.
2020-10-13 18:09:22 +02:00
Ivan Grokhotkov 4dc1195ca5 esp_system: fix incorrect critical section usage in usb_console
spinlock_acquire does not disable interrupts, whereas
portENTER_CRITICAL does.

Closes IDF-2049
2020-10-13 17:39:31 +02:00
Ivan Grokhotkov 85f919a428 esp_https_ota: fix error code formatting 2020-10-12 13:46:15 +02:00
Ivan Grokhotkov eb83878323 Merge branch 'bugfix/coredump_thread_info_failure' into 'master'
espcoredump: fix exception when -thread-info fails

See merge request espressif/esp-idf!10720
2020-10-09 19:36:36 +08:00