Commit Graph

353 Commits

Author SHA1 Message Date
Darian Leung
e21ab0332b freertos(IDF): Refactor port heap functions
Vanilla FreeRTOS expects applications to use one of the heap implementations
provided by FreeRTOS (i.e., heap_x.c), where functions such as pvPortMalloc()
and vPortFree() are defined in the heap implementation.

However, ESP-IDF already provides its own heap implementation
(i.e., esp_heap_caps.h). Thus, the pvPortMallc()/vPortFree() functions were
previously overriden by macro to call esp_heap functions directly.

This commit refactors the FreeRTOS port's heap as such:

- Added a heap_idf.c that implements all of the heap related functions required
  by FreeRTOS source
- All dynamic memory allocated by FreeRTOS is from internal memory. Thus, the
  FreeRTOS heap is the internal memory subset of the ESP-IDF heap.
- Removed some old macros to reduce diff from upstream source code.
2023-03-06 16:00:29 +08:00
Wu Zheng Hui
2066977b48 Merge branch 'feature/bringup_esp32c6_deepsleep_support_master' into 'master'
esp32c6: bringup deepsleep examples

Closes IDF-6051, IDF-6052, IDF-5349, IDF-5924, and WIFI-5352

See merge request espressif/esp-idf!22300
2023-03-03 23:53:10 +08:00
wuzhenghui
709adaaa37 soc_caps: since esp32c6 only support one ext wakeup src, split SOC_PM_SUPPORT_EXT_WAKEUP
Close IDF-5924
2023-03-02 15:06:05 +08:00
Wang Zi Yan
c490c3a183 docs: update CN for index/spi_slave/system_time 2023-03-02 07:04:49 +00:00
Darian Leung
443d87c2ff esp_ringbuf: Replace internal semaphores with task event lists
This commit replaces the existing TX/RX semaphores with FreeRTOS task event
lists (similar to how FreeRTOS queues implement task blocking). Using task
event lists allows the ring buffer object to be smaller and various ring buffer
functions to be faster. The ring buffer queue set impelementation was also
updated as a result.
2023-02-28 23:56:45 +08:00
Sudeep Mohanty
6c1a544782 Merge branch 'docs/ulp_docs_incorrect_notes' into 'master'
docs: Ulpdated ULP docs to have the correct notes directive

Closes IDF-2522

See merge request espressif/esp-idf!22415
2023-02-24 18:17:31 +08:00
jingli
8f415a7f44 refactor: power management component use unified esp_pm_config_t 2023-02-23 11:36:07 +08:00
Sudeep Mohanty
449ea7cab7 docs: Ulpdated ULP docs to have the correct notes directive
This commit updates the ULP .rst files to have the correct notes
directive format. The notes directives were missing a colon.
2023-02-17 12:55:25 +01:00
Sudeep Mohanty
372d2310c9 docs: Updated api_guides/performance chapters for esp32c6 and esp32h2
This commit updates the api_guides/performance chapters for esp32c6 and
esp32h2.
2023-02-16 09:08:46 +01:00
Darian Leung
3b638b12ad freertos: Update ESP-IDF FreeRTOS and FreeRTOS Additions documentation
This commit updates the ESP-IDF FreeRTOS and FreeRTOS Additions to account for
the fact that there are now two implementations of SMP FreeRTOS (i.e., IDF SMP
vs Amazon SMP).
2023-02-15 12:42:18 +08:00
Darian Leung
bec82aa0cf freertos: Update FreeRTOS overview document
This commit updates "freertos.rst" to act as an overview document of FreeRTOS
in ESP-IDF, outlining the different FreeRTOS implementations (IDF vs Amazon)
and various supplemental features. The details of each implementation will be
separated to their own documents.
2023-02-15 12:42:18 +08:00
Darian Leung
69433a9660 freertos: Rename SMP changes document to ESP-IDF FreeRTOS
This commit renames "freertos-smp" docuemnt to "freertos_idf". This fits better
with the current dual FreeRTOS implementation (i.e., IDF FreeRTOS and Amazon
SMP FreeRTOS), both of which are SMP capable.
2023-02-15 12:42:04 +08:00
Roland Dobai
4bd5ebb4a1 Merge branch 'tools/monitor_move' into 'master'
Tools(idf_monitor): Move idf_monitor to separate repo

Closes IDF-4109

See merge request espressif/esp-idf!22050
2023-02-07 19:47:46 +08:00
Sudeep Mohanty
371fe114bc docs: Updated chip independednt api-reference chapters for c6 and h2 2023-02-03 15:00:27 +01:00
Peter Dragun
3e3533f918 feat(idf_monitor): move idf_monitor to separate repo 2023-02-03 11:20:15 +01:00
Marius Vikhammer
c7a41fb860 docs: update system api guides and intr chapters for C6 and H2 2023-01-29 16:15:36 +08:00
Marius Vikhammer
5e9e8c396f wdt: add support for WDTs on C6 2023-01-19 12:58:26 +08:00
David Čermák
2f1d30d155 Merge branch 'bugfix/lwip_core_locking' into 'master'
esp_netif/lwip: Fix core-locking config

Closes IDFGH-8445, IDFGH-9098, and IDFGH-9063

See merge request espressif/esp-idf!20840
2023-01-18 20:31:25 +08:00
Wang Zi Yan
9d80d981b5 docs: CN translation for system_time.rst and migration-guides: 5.1/networking.rst 2023-01-17 16:16:03 +01:00
David Cermak
a71fa82177 esp_netif/lwip: Fix core-locking config
* Fix thread safety issues in non-core locking
* Add option to verify thread safety issues in lwip (core-lock assertion)
* Make esp_sntp.h thread safe API
* Fix sntp examples
* Fix openthread libs

Closes https://github.com/espressif/esp-idf/issues/9908
Closes https://github.com/espressif/esp-idf/issues/10502
Closes https://github.com/espressif/esp-idf/issues/10466
2023-01-17 16:15:58 +01:00
Marius Vikhammer
70d1dbccd8 Merge branch 'docs/enable_h2_build' into 'master'
docs: add support for building H2 docs

Closes IDF-6259

See merge request espressif/esp-idf!21933
2023-01-17 12:11:29 +08:00
Marius Vikhammer
7100b7d1ff docs: add support for building H2 docs 2023-01-17 10:04:26 +08:00
Wang Zi Yan
1568f9b7ef
docs: remove outdated section on custom toolchain for 64-bit time_t
Co-authored-by: Ivan Grokhotkov <ivan@espressif.com>
2023-01-16 14:19:56 +08:00
Konstantin Kondrashov
708a9047e8 Merge branch 'feature/adds_funcs_to_read_efuses_from_cmake' into 'master'
esptool_py: Adds funcs to read eFuses from Cmake during a build stage

Closes IDFGH-8890

See merge request espressif/esp-idf!21585
2023-01-04 17:17:47 +08:00
KonstantinKondrashov
fd721c5b09 esptool_py: Adds funcs to read eFuses from Cmake during a build stage
Closes https://github.com/espressif/esp-idf/issues/10311
2023-01-04 00:30:38 +08:00
Michael (XIAO Xufeng)
57a9c67c01 index 2022-12-29 01:00:31 +08:00
Michael (XIAO Xufeng)
daa4af1b1f docs: split spi_flash api-reference documents to peripherals folder 2022-12-29 00:59:03 +08:00
Guillaume Souchere
a74ae7fba7 Merge branch 'feature/heap-trace-improve-spi-ram-support' into 'master'
heap_trace: improvements to formatting, code, comments of heap trace standalone

Closes IDFGH-8699

See merge request espressif/esp-idf!21506
2022-12-28 15:07:30 +08:00
Mahavir Jain
5b6cc09dce
docs: remove mention of DIS_BOOT_REMAP for chips other than ESP32-S2
Relevant: https://esp32.com/viewtopic.php?f=13&t=31188
2022-12-21 14:16:50 +05:30
Mo Fei Fei
6ec92de622 Merge branch 'docs/update_cn_trans_dec' into 'master'
Docs: update CN trans for sleep_modes.rst, misc_system_api.rst, migration_guides/peripherals.rst

Closes DOC-4272

See merge request espressif/esp-idf!21617
2022-12-20 10:35:50 +08:00
Mo Fei Fei
689c2f46e2 Docs: update CN trans for sleep_modes.rst, misc_system_api.rst, migration_guides/peripherals.rst 2022-12-20 10:35:49 +08:00
Harshit Malpani
45bcf572c2
docs: Update esp_https_ota docs to have information about OTA events 2022-12-16 10:26:15 +05:30
Chip Weinberger
9afc386dd2 [Heap Trace Standalone] improvements to formatting, code, comments 2022-12-08 00:47:02 -08:00
Mahavir Jain
175e5fc260 Merge branch 'feature/docs_security_overview_chapter' into 'master'
docs: add chapter about overall "security" area guide

Closes IDF-1565

See merge request espressif/esp-idf!21156
2022-11-25 16:56:02 +08:00
Mahavir Jain
11f2683c27 docs: add chapter about overall "security" area guide
List down considerations for the following areas:

- Hardware security
- Network security
- Product security

Also added brief explanation about "Security Policy" for ESP-IDF.

Closes IDF-1565
2022-11-25 03:17:05 +00:00
Guillaume Souchere
5dc0481d21 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.
2022-11-24 10:31:14 +01:00
morris
4019e307f1 doc: add api reference for etm driver 2022-11-23 15:32:34 +08:00
Konstantin Kondrashov
618572c139 Merge branch 'feature/efuse_c6' into 'master'
efuse(esp32-c6): Update efuse_table and rs coding error func

Closes IDF-5919 and IDF-5341

See merge request espressif/esp-idf!21163
2022-11-22 21:50:42 +08:00
KonstantinKondrashov
f40aed1fe0 doc: Update efuse doc 2022-11-22 16:09:10 +08:00
Linda
a8ae91dd96 docs: update the usage of MALLOC_CAP_32BIT on ESP32 chips 2022-11-22 10:05:28 +08:00
Konstantin Kondrashov
55578295db Merge branch 'feature/api_to_define_user_mac_addres' into 'master'
esp_hw_support: Adds APIs to define user own MAC addresses without generation from the base MAC address

Closes IDFGH-5534 and IDFGH-8022

See merge request espressif/esp-idf!21036
2022-11-17 15:26:35 +08:00
KonstantinKondrashov
244cf14ea8 esp_hw_support: Adds APIs to define user own MAC addresses without generation from the base MAC address
Closes https://github.com/espressif/esp-idf/pull/7261
Closes https://github.com/espressif/esp-idf/issues/9531
2022-11-16 19:23:10 +08:00
Sudeep Mohanty
ac99c0ad6b Merge branch 'feature/freertos_remove_untested_fn_feature' into 'master'
freertos: Removed CONFIG_FREERTOS_ASSERT_ON_UNTESTED_FUNCTION kconfig option

Closes IDF-5298

See merge request espressif/esp-idf!21000
2022-11-16 10:28:42 +08:00
Guillaume Souchere
abe56e2bbe docs: add section in ram-uasge.rst to clarify DRAM limitations on esp32.
The sections details that only 160KB of DRAM can be used for statically allocated data.
Reference this new section in mem_alloc.rst and memory-types.rst.
2022-11-15 07:40:25 +01:00
Song Ruo Jing
d0a7dc3e9f gpio: Fix IO hold function related problems
1. Fix deep sleep wakeup IOs can not be unhold issue
2. Correct hold related APIs' description
3. Fix gpio_force_hold_all API

docs: Add GPIO wakeup source to sleep_modes doc for ESP32C3 and C2
2022-11-11 20:39:04 +08:00
Sudeep Mohanty
0744f4d5a5 freertos: Removed CONFIG_FREERTOS_ASSERT_ON_UNTESTED_FUNCTION kconfig option
This commit removes the unused FreeRTOS kconfig option
CONFIG_FREERTOS_ASSERT_ON_UNTESTED_FUNCTION.
2022-11-09 08:14:16 +01:00
morris
aeaef08f0e doc: update twai api reference for esp32c6 2022-11-04 17:40:29 +08:00
KonstantinKondrashov
1f9260d790 all: Apply new version logic (major * 100 + minor) 2022-11-03 08:36:23 +00:00
Sudeep Mohanty
b3755b751e pthread: Remove pthread TLS cleanup dependency on FreeRTOS Static Task Cleanup Hook
This commit removes the need to define the vTaskCleanupTCB hook in
pthread to cleanup the thread-specific data before a thread is deleted.
2022-11-02 09:52:28 +01:00
Marius Vikhammer
099b0b6421 Merge branch 'feature/c6_doc_build' into 'master'
docs: add support for building C6 docs

Closes IDF-5829

See merge request espressif/esp-idf!19721
2022-10-18 09:37:30 +08:00