Commit Graph

19159 Commits

Author SHA1 Message Date
Guillaume Souchere
f5e3585a9c tools: update list of references to not include symbold used by __assert_func calls
On xtensa architecture, the call to __assert_func uses a reference to __func__ that can
sometimes be placed in flash. Since the __asert_func can be called from functions in IRAM
the check_callgraph script can report an error when checking for invalid calls from IRAM
to flash sections. However, the __asert_func prevents this scenario at runtime so the
check_callgraph script reports a 'flas positive' situation. For this reasson, all references
to __func__$x found prior to a call to __assert_func are droped in the parsing of the rtl files.
2023-02-16 08:48:00 +00:00
Guillaume Souchere
598e77e287 heap: add check for usage of flash content from iram
this commits:
- adds build-time test to check that no call to flash regions are done from IRAM functions

- resolves problems related to IRAM function using content in flash memory

- update heap_caps_alloc_failed to use a default function name in DRAM
  when necessary instead of creating a function name variable in DRAM for
  each call of heap_caps_alloc_failed. This allows to save some extra bytes
  in RAM.
2023-02-16 08:48:00 +00:00
Guillaume Souchere
5f735a22ec heap: add documentation about the function placement in IRAM and its usage in ISR
This commits adds a internal.md file in the heap directory to clarify the idea behind
which functions is placed in IRAM or in flash.

A section in mem_alloc.rst documentation is added to specify which functions from the
heap component API can be used in interrupt handlers.
2023-02-16 08:48:00 +00:00
Guillaume Souchere
8700bdc156 heap: add selective placement of function in IRAM
This commit aims to place in the IRAM section only the functions that
are relevent for performance instead of placing the entire content of
multi_heap.c, mullti_heap_poisoning.c and tlsf.c in the IRAM.
2023-02-16 08:48:00 +00:00
Guillaume Souchere
7ce0620d32 heap: Update host tests after incorporation of the new TLSF implementation 2023-02-16 08:48:00 +00:00
Guillaume Souchere
48b0000e22 heap: update the calculation of fl index max and use bitfield in control_t
The calculation of fl index max is changed to always be the smallest
number that includes the size of the registered memory.

The control_construct() function now checks for minimum size as the control structure
parameters are calculated.

There is no longer a minimum configuration for fl index max so the tlsf_config
enum is striped down to remove unecessary compile time values.

the tlsf_size() function will fail if no tlsf pointer is passed as parameter since there
is no way to calculate a default tlsf size anymore.

bitfields are now used in control_t when possible which reduces the size of the structure
from 56 bytes to 36 bytes.
2023-02-16 08:48:00 +00:00
Guillaume Souchere
9f6b549dea Revert "tlsf control's structure should remain opaque"
This reverts commit 7010314c4a.
2023-02-16 08:48:00 +00:00
Philippe
6a3f3e9421 add host test with multiple heap size 2023-02-16 08:48:00 +00:00
Philippe
30bd908f97 clarify parameter usage in tslf_create 2023-02-16 08:48:00 +00:00
Philippe
a7b9e7a8bd tlsf control's structure should remain opaque 2023-02-16 08:48:00 +00:00
Philippe
e45d350b97 dynamic control block per heap 2023-02-16 08:48:00 +00:00
Jiang Jiang Jian
ea8de4ddca Merge branch 'feature/efuse_rev_major_minor_v4.3' into 'release/v4.3'
efuse: Adds major and minor versions (v4.3)

See merge request espressif/esp-idf!19544
2023-02-11 20:01:59 +08:00
Michael (XIAO Xufeng)
3e269ffc0d esp32s3: fixed bug chip v0.0 detected as vX.Y
A typical value is 2.8.

Previous commit 32ef2b321a doesn't fix the issue cleanly. The MSB of wafer_minor also has this problem.
2023-02-11 08:06:49 +00:00
Michael (XIAO Xufeng)
611339564d esp32s3: fixed bug chip v0.0 detected as vX.0
A typical value is 2.0.
2023-02-11 08:06:49 +00:00
KonstantinKondrashov
3dcdcc08eb efuse: Adds major and minor versions and others 2023-02-11 08:06:49 +00:00
Jiang Jiang Jian
ab6735155a Merge branch 'bugfix/newlib_tz_env_mutex_v4.3' into 'release/v4.3'
newlib: Use correct recursive mutex for env and regular mutex for tz (v4.3)

See merge request espressif/esp-idf!22295
2023-02-11 12:32:55 +08:00
Jiang Jiang Jian
9ee1cda5e3 Merge branch 'bugfix/fatfs_mtime_dst_v4.3' into 'release/v4.3'
fatfs: fix incorrect mtime returned for files created during DST (v4.3)

See merge request espressif/esp-idf!18459
2023-02-11 09:01:31 +08:00
Jiang Jiang Jian
97454c017f Merge branch 'bugfix/fix_some_wifi_bugs_230209_v4.3' into 'release/v4.3'
esp_wifi: fix some wifi bugs(Backport v4.3)

See merge request espressif/esp-idf!22290
2023-02-11 03:10:08 +08:00
Jiang Jiang Jian
3250b88828 Merge branch 'optimization/lwip_dhcp_coarse_timer_4.3' into 'release/v4.3'
lwip:optimization dhcp coarse timer for 4.3

See merge request espressif/esp-idf!22287
2023-02-11 02:31:30 +08:00
Jiang Jiang Jian
3dc1ab532e Merge branch 'bugfix/secure_boot_v2_part_size_check_v4.3' into 'release/v4.3'
gen_esp32part: allow secure boot v2 based app partition size 4K aligned (v4.3)

See merge request espressif/esp-idf!22288
2023-02-10 19:24:46 +08:00
Jiang Jiang Jian
3d366e1959 Merge branch 'bugfix/rtc_8md256_deepsleep_time_esp32_v4.3' into 'release/v4.3'
pm: Fixed sleep time inaccurate bug when select 8MD256 as rtc slow clock on ESP32 (v4.3)

See merge request espressif/esp-idf!21823
2023-02-10 19:12:25 +08:00
morris
00746db03c Merge branch 'bugfix/no_more_public_adc2_dma_on_c3_s3_v4.3' into 'release/v4.3'
adc: no longer support adc2 continuous mode on esp32c3 (v4.3)

See merge request espressif/esp-idf!21650
2023-02-10 03:55:58 +08:00
cje
d8fc054115 sleep: fix sleep time inaccurate bug when select 8MD256 as rtc slow clock on ESP32
Related to: https://github.com/espressif/esp-idf/issues/6687
2023-02-10 01:36:40 +08:00
Ivan Grokhotkov
d7db6c3148 fatfs: fix incorrect mtime returned for files created during DST
mktime function uses tm_isdst member as an indicator whether the time
stamp is expected to be in daylight saving time (1) or not (0).
FAT filesystem uses local time as mtime, so no information about DST
is available from the filesystem.

According to mktime documentation, tm_isdst can be set to -1, in which
case the C library will try to determine if DST was or wasn't in
effect at that time, and will set UTC time accordingly.

Note that the conversion from UTC to local time and then back to UTC
(time_t -> localtime_r -> FAT timestamp -> mktime -> time_t) does not
always recover the same UTC time. In particular, the local time in the
hour before DST comes into effect can be interpreted as "before DST"
or "after DST", which would correspond to different UTC values. In
this case which option the C library chooses is undefined.

Closes https://github.com/espressif/esp-idf/issues/9039
Originally reported in https://github.com/espressif/arduino-esp32/issues/6786
2023-02-09 11:28:29 +00:00
xueyunfei
b5e8c68b59 lwip:optimization dhcp coarse timer 2023-02-09 19:28:28 +08:00
Steve Jothen
98c2470040 Use correct recursive mutex for env and regular mutex for tz 2023-02-09 16:04:47 +08:00
muhaidong
997af8de8a docs: update ftm docs 2023-02-09 15:07:37 +08:00
muhaidong
6c4ac9ab9e docs: add some details for wifi scan description 2023-02-09 15:05:27 +08:00
muhaidong
36caf700c7 esp_wifi: fix some wifi bugs
1. fix ftm timer macro issue
2. send null data when state change from association to run
3. bugfix for optimize abnormal beacon log
4. bugfix RSNXE related changes
5. send ftm frames immediately
6. fix ftm procedure with peer failed status 4 issue
2023-02-09 15:01:49 +08:00
Mahavir Jain
726c7cd45c
partition_table: add tests for checking secure boot part size 2023-02-09 12:11:47 +05:30
Mahavir Jain
08ce6b92aa
gen_esp32part: allow secure boot v2 based app partition size 4K aligned
For Secure Boot v2 case, unsigned image is first padded to next 64K
aligned boundary and then a signature block of 4K gets appended. Thus
an app partition whose size is 4K aligned should be allowed here.

For Secure Boot v1 case, app partition size must be 64K aligned as the
signature block lies at the very end of 64K boundary.

Relevant:
57b601ab7f
2023-02-09 12:08:59 +05:30
Armando
984ee9dd38 adc: no longer support adc2 oneshot mode on esp32c3
Due to HW limitation, we don't support this anymore. On c3, ADC2 under oneshot mode is not stable.

However, you can enable CONFIG_ADC_ONESHOT_FORCE_USE_ADC2_ON_C3 to force use
ADC2.

Refer to errata to know more details:
https://www.espressif.com/sites/default/files/documentation/esp32-c3_errata_en.pdf
2023-02-08 09:04:28 +00:00
Armando
9b4986dd2c adc: no longer support adc2 continuous mode on esp32c3
Due to HW limitation, we don't support this anymore. On c3, ADC2 under continuous  mode is not stable.

However, you can enable CONFIG_ADC_CONTINUOUS_FORCE_USE_ADC2_ON_C3_S3 to force use
ADC2.

Refer to errata to know more details:
https://www.espressif.com/sites/default/files/documentation/esp32-c3_errata_en.pdf
2023-02-08 09:04:28 +00:00
Fu Hanxi
dc4c9c087f Merge branch 'ci/fix/isort_incompatible_with_py37_v4.3' into 'release/v4.3'
ci: fix isort py37 incompatible issue (v4.3)

See merge request espressif/esp-idf!22227
2023-02-07 09:12:03 +08:00
Jiang Jiang Jian
30ee33c62e Merge branch 'bugfix/wps_start_state_issue_v4.3' into 'release/v4.3'
esp_wifi: Add check for wps start state (v4.3)

See merge request espressif/esp-idf!22029
2023-02-06 17:22:09 +08:00
Fu Hanxi
0181762519 ci: fix isort py37 incompatible issue 2023-02-06 10:34:45 +08:00
Jiang Jiang Jian
419d6209a8 Merge branch 'bugfix/coex_enable_disable_not_in_pairs_v4.3' into 'release/v4.3'
bluetooth: fix that functions "coex_enable" and "coex_disable" are not used in pairs(backport v4.3)

See merge request espressif/esp-idf!22096
2023-02-04 01:53:35 +08:00
Jiang Jiang Jian
c9068dc1ae Merge branch 'bugfix/peer_dev_rec_add_and_clear_issue_v4.3' into 'release/v4.3'
NimBLE: Fix incomplete clearing of peer_dev_rec (v4.3)

See merge request espressif/esp-idf!22013
2023-02-03 22:17:14 +08:00
Sumeet Singh
feb32ec9f4 NimBLE: Fix incomplete clearing of peer_dev_rec 2023-02-03 03:09:24 +00:00
wangmengyang
35ba1547e5 bluetooth: fix that functions "coex_enable" and "coex_disable" are not used in pairs on ESP32-C3 2023-02-03 03:08:42 +00:00
Shreyas Sheth
2cc790a69b esp_wifi: Add check for wps start state 2023-02-03 03:08:17 +00:00
Jiang Jiang Jian
b24204c587 Merge branch 'bugfix/precommit_isort_deprecation_v4.3' into 'release/v4.3'
ci: Fix pre-commit hook per isort deps deprecation (v4.3)

See merge request espressif/esp-idf!22208
2023-02-03 00:08:06 +08:00
David Cermak
2ed027a633 ci: Fix pre-commit hook per isort deps deprecation
isorts dependecy became deprecated. Fixed to use 5.12.0 version of isort pre-commit
2023-02-02 10:10:05 +01:00
Mahavir Jain
86686d164a Merge branch 'fix/mbedtls_port_sanity_checks_and_return_values_v4.3' into 'release/v4.3'
mbedtls/port: refactor sanity checks and their return values (v4.3)

See merge request espressif/esp-idf!22129
2023-01-27 16:15:08 +08:00
harshal.patil
f138411fd7 mbedtls/port: added stream_block parameter sanity check 2023-01-25 15:40:45 +05:30
harshal.patil
119ac05b5e mbedtls: fix esp_aes_crypt_ctr writing to null stream block 2023-01-25 15:40:45 +05:30
harshal.patil
342671a943 mbedtls: added SOC_AES_SUPPORT_AES_192 check in esp_aes_gcm_setkey() 2023-01-25 15:40:45 +05:30
David Čermák
db60b5b628 Merge branch 'bugfix/fix_mdns_example_v4.3' into 'release/v4.3'
mDNS: Fix example test in CI  (v4.3)

See merge request espressif/esp-idf!21853
2023-01-23 18:37:09 +08:00
Jiang Jiang Jian
56ee43ec5e Merge branch 'bugfix/sta_add_config_for_wpa3_transition_disable_v4.3' into 'release/v4.3'
esp_wifi:Add wifi station config for enabling transition_disbale feature

See merge request espressif/esp-idf!21332
2023-01-17 19:56:03 +08:00
Shreyas Sheth
b44da528db esp_wifi:Add wifi station config for enabling transition_disbale feature 2023-01-16 00:59:04 +05:30