Commit Graph

14891 Commits

Author SHA1 Message Date
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
Jiang Jiang Jian
f10f27c01a Merge branch 'bugfix/ipv6_address_get_fail_after_wifi_disconnect' into 'master'
lw-ip:ipv6 address get fail after wifi disconnect

Closes ESPCS-442

See merge request espressif/esp-idf!9438
2020-10-13 12:14:46 +08:00
Jiang Jiang Jian
138f036b55 Merge branch 'bugfix/pmf_softap_coex_issue' into 'master'
Fix issues related to PMF and WPA2-Enterprise

Closes WIFI-2852, WIFI-2704, and WIFI-2863

See merge request espressif/esp-idf!10523
2020-10-13 11:43:41 +08:00
Angus Gratton
af57f5f520 Merge branch 'bugfix/secure_boot_v2_ota_verification' into 'master'
Secure Boot V2: Fixes the OTA regression with secure boot in ESP32-V3

Closes IDFGH-4032

See merge request espressif/esp-idf!10600
2020-10-13 07:09:44 +08:00
Angus Gratton
ff8d05466e Merge branch 'bugfix/deep_sleep_stub_heap_rtc_fast_mem' into 'master'
deep sleep: Calculate RTC CRC without using any stack or other RTC heap memory

Closes IDF-2242

See merge request espressif/esp-idf!10741
2020-10-13 06:17:50 +08:00
Mahavir Jain
0b71a0a46d Merge branch 'bugfix/esp_https_ota_error_codes' into 'master'
esp_https_ota: fix error code formatting

See merge request espressif/esp-idf!10809
2020-10-12 22:39:31 +08:00
Michael (XIAO Xufeng)
fc7433d610 Merge branch 'feature/twai_isr_runs_with_cache_disabled' into 'master'
TWAI: ISR runs when cache is disabled

See merge request espressif/esp-idf!9920
2020-10-12 20:18:36 +08:00
Ivan Grokhotkov
85f919a428 esp_https_ota: fix error code formatting 2020-10-12 13:46:15 +02:00
Michael (XIAO Xufeng)
f5e4638c54 Merge branch 'feature/tusb_cdc_without_timer' into 'master'
Update `tinyusb_cdcacm_write_flush` to using ticks counting instead of the FreeRTOS timer

See merge request espressif/esp-idf!10738
2020-10-12 19:45:57 +08:00
Jiang Jiang Jian
b8d26ca389 Merge branch 'bugfix/assert_no_IRAM_ATTR' into 'master'
components/bt: btdm fix cache disable crash

See merge request espressif/esp-idf!10778
2020-10-12 16:58:26 +08:00
Michael (XIAO Xufeng)
b821025312 Merge branch 'bugfix/uart_test_debug' into 'master'
driver: add diagnostic information into UART test, enable flow control

See merge request espressif/esp-idf!10627
2020-10-12 15:50:33 +08:00
Angus Gratton
ff4d82c7d2 Merge branch 'feature/sha_hal' into 'master'
SHA: add HAL layer and refactor

See merge request espressif/esp-idf!10065
2020-10-12 15:15:28 +08:00
Supreet Deshpande
2356be7c7a Secure Boot V2: Fixes the OTA regression with secure boot in ESP32-V3
Closes https://github.com/espressif/esp-idf/issues/5905
2020-10-12 07:15:16 +00:00
Island
64fa998c0f Merge branch 'optimize/ble_mesh_make_buf_config_invisible' into 'master'
ble_mesh: stack: Make mesh buf debug option invisible

See merge request espressif/esp-idf!10777
2020-10-12 14:14:50 +08:00
Michael (XIAO Xufeng)
3c167497ad Merge branch 'bugfix/esp_flash_erase_timeout' into 'master'
esp_flash: change timeout threshold and can close timeout

Closes IDF-2023

See merge request espressif/esp-idf!10138
2020-10-12 12:49:36 +08:00
Cao Sen Miao
b9f6efd99a esp_flash: change timeout threshold and can close timeout 2020-10-12 10:43:25 +08:00
xueyunfei
91fd587fb7 lwip/ipv6:ipv6 address get fail after wifi disconnect 2020-10-12 10:40:22 +08:00
lly
0d3c724281 ble_mesh: stack: Make mesh buf debug option invisible 2020-10-12 02:26:47 +00:00
Island
2b374ab7b8 Merge branch 'feat/ble_mesh_device_properties_v2' into 'master'
ble_mesh: Update mesh device property to v2

See merge request espressif/esp-idf!10754
2020-10-12 10:13:27 +08:00
Michael (XIAO Xufeng)
47e5dfb120 Merge branch 'feature/test_for_ext_flash_HSPI_on_esp32s2' into 'master'
spi_flash: add unit tests for HSPI on esp32s2

See merge request espressif/esp-idf!10040
2020-10-12 10:06:49 +08:00
lly
d3aa32c2ec ble_mesh: stack: Add mesh device properties v2 definitions
Also fixes wrong characteristic value length of some device
properties.
2020-10-12 00:39:58 +00:00
lly
0b57cdf85b ble_mesh: stack: Move device property to model common part 2020-10-12 00:39:58 +00:00
Angus Gratton
562ab01046 deep sleep: Calculate RTC CRC immediately before deep sleep, without using RAM
Fix for issues where RTC FAST memory is updated as part of going into deep
sleep. Very high risk if heaps are in RTC memory - in particular task stacks
may be in RTC memory, but also other variables.

Also fixes potential concurrency problems as RTC FAST memory is not accessible
by CPU during the CRC calculation itself.

Method:
- Disable interrupts (currently for single core only, will need update for S3)
- Load all registers before calculating CRC or going to sleep
2020-10-12 11:19:56 +11:00
Angus Gratton
bb480b72d0 Merge branch 'bugfix/parttool_init' into 'master'
parttool: make part_list an optional argument

See merge request espressif/esp-idf!10776
2020-10-12 06:36:48 +08:00
Anton Maklakov
c8d45f11b3 Merge branch 'ci/fast_template_app_s3' into 'master'
ci: add esp32s3 into template app build

See merge request espressif/esp-idf!10598
2020-10-11 19:00:48 +08:00
wangcheng
49a52cda6e components/bt: btdm fix cache disable crash 2020-10-11 15:14:34 +08:00
Mahavir Jain
d5929bd737 Merge branch 'bugfix/ota_tests_python3' into 'master'
ota: Fix UnicodeDecodeError in example_tests

See merge request espressif/esp-idf!10746
2020-10-11 15:07:06 +08:00
Island
cbb9aca23a Merge branch 'bugfix/ble_mesh_proxy_cfg_replay' into 'master'
Bugfix/ble mesh proxy cfg replay

See merge request espressif/esp-idf!10699
2020-10-10 21:07:42 +08:00
Nachiket Kukade
6ae4b3ef48 esp_wifi: Update wifi lib
1. Add STA checks during STA PMF operations
2. Fix WPA2-Ent issue with Open AP
3. Skip WPA-TKIP profile if PMF is required
4. Skip & clear Supplicant PMK Cache with mismatching AP config
2020-10-10 09:03:55 +00:00
Darian Leung
4c57f50fe4 TWAI: ISR runs when cache is disabled
This commit adds the feature where the TWAI ISR will continue to
run even if the cache is disabled. Whilst cache is disabled, any
received messages will go into the RX queue, and any pending TX
messages in the TX queue will be transmitted. This feature should
be enabled using the CONFIG_TWAI_ISR_IN_IRAM option.
2020-10-10 14:19:32 +08:00
Shubham Kulkarni
76860cc939 example_test.py: In ota example_test, open file in binary mode to avoid UnicodeDecodeError 2020-10-10 06:18:30 +00:00
Marius Vikhammer
b3e7b58d04 parttool: make part_list an optional argument
Previous versions of PartitionType only required type and subtype as
arguments for the constructor. Make the new part_list argument optional to
keep backwards compatibilty
2020-10-10 09:46:51 +08:00
Cao Sen Miao
98cb2e5af3 spi_flash: add a unit test for HSPI on esp32s2 2020-10-09 20:57:00 +08: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
Michael (XIAO Xufeng)
953c046550 esp32s3/bootloader: extend IRAM usage to 0x6000
The bootloader cannot fit in the size of iram_loader_seg when built under -O0. Extend the IRAM size to fix this.
2020-10-09 17:50:17 +08:00
Michael (XIAO Xufeng)
72a31a62c7 ci: add esp32s3 into template app build 2020-10-09 17:50:16 +08:00
lly
68a6ccba76 ble_mesh: stack: Store kr phase after value changed [Zephyr] 2020-10-09 08:52:01 +00:00
lly
e286cd845f ble_mesh: stack: Fix rpl not check by proxy cfg [Zephyr] 2020-10-09 08:52:01 +00:00
Marius Vikhammer
949fb8e63a SHA: add HAL layer and refactor driver
Add a LL and HAL layer for SHA.
2020-10-09 08:24:08 +00:00
Ivan Grokhotkov
a587cd1774 Merge branch 'bugfix/esp32s3_build' into 'master'
esp32s3: sync memprot header from esp32s2, fixing compilation error

See merge request espressif/esp-idf!10753
2020-10-09 15:58:11 +08:00
Angus Gratton
46f735f413 Merge branch 'docs/update-images-for-ide' into 'master'
Update docs images

Closes VSC-431

See merge request espressif/esp-idf!10639
2020-10-09 15:05:06 +08:00
Soumesh Banerjee
ba901179fe Update docs images 2020-10-09 15:05:01 +08:00
Angus Gratton
d6f8e9dfa8 Merge branch 'bugfix/delete_unneeded_cpu_h' into 'master'
esp32s2, esp32s3: delete unneeded cpu.h

See merge request espressif/esp-idf!10716
2020-10-09 13:54:56 +08:00
Angus Gratton
8aa73aea86 esp32s2/3: Add missing stdlib includes
All three of these headers refer to stdint types, memprot uses stdbool
2020-10-09 15:05:41 +11:00
Island
646599f6f8 Merge branch 'bugfix/nimble_host_rcv_pkt_length_check' into 'master'
NimBLE: host_rcv_pkt event buf size check.

Closes BT-1015

See merge request espressif/esp-idf!10108
2020-10-09 09:16:09 +08:00
Ivan Grokhotkov
aa489dba07 esp32s3: sync memprot header from esp32s2, fixing compilation error
Since 497b730e8f, panic_handler.c calls
esp_memprot_get_active_intr_memtype instead of
esp_memprot_is_assoc_intr_any.
2020-10-08 22:20:39 +02:00
Krzysztof Budzynski
e0261f18ce Merge branch 'feature/add_esp_rom_printf_to_api_reference' into 'master'
docs: Add esp_rom_printf to API Reference

Closes DOC-454

See merge request espressif/esp-idf!10251
2020-10-09 04:06:10 +08:00
Ivan Grokhotkov
2e0c716db7 Merge branch 'bugfix/ci_python3_compatibility' into 'master'
CI: fix Python 3 compatibility in example checker

See merge request espressif/esp-idf!10740
2020-10-08 18:10:09 +08:00
Andrei Gramakov
3164116abd Update tinyusb_cdcacm_write_flush to using ticks counting instead of the FreeRTOS timer 2020-10-08 09:42:44 +02:00
Mahavir Jain
c1bfaf7334 Merge branch 'bugfix/protocomm_mem_failure' into 'master'
protocomm_console.c: Check if memory is allocated to buf and if not then...

See merge request espressif/esp-idf!10733
2020-10-08 15:30:23 +08:00