mirror of
https://github.com/espressif/esp-idf.git
synced 2025-12-08 01:17:07 +00:00
Merge branch 'docs/add_Chinese_translation_for_linux-host-requirements.rst_and_external-ram-esp32-notes.rst' into 'master'
docs: provide CN translation for linux-host-requirements.rst and external-ram-esp32-notes.rst Closes DOC-5412 See merge request espressif/esp-idf!24115
This commit is contained in:
@@ -207,5 +207,5 @@ Failure to Initialize
|
||||
|
||||
.. include:: inc/external-ram-esp32-notes.rst
|
||||
|
||||
.. _ESP32 ECO: https://www.espressif.com/sites/default/files/documentation/eco_and_workarounds_for_bugs_in_esp32_en.pdf
|
||||
.. _ESP32 ECO V3 User Guide: https://www.espressif.com/sites/default/files/documentation/ESP32_ECO_V3_User_Guide__EN.pdf
|
||||
.. _ESP32 Series SoC Errata: https://www.espressif.com/sites/default/files/documentation/eco_and_workarounds_for_bugs_in_esp32_en.pdf
|
||||
.. _ESP32 Chip Revision v3.0 User Guide: https://www.espressif.com/sites/default/files/documentation/ESP32_ECO_V3_User_Guide__EN.pdf
|
||||
|
||||
@@ -1,28 +1,28 @@
|
||||
* Regarding stacks in PSRAM: For tasks not calling on code in ROM in any way, directly or indirectly, the menuconfig option :ref:`CONFIG_SPIRAM_ALLOW_STACK_EXTERNAL_MEMORY` will eliminate the check in xTaskCreateStatic, allowing a task's stack to be in external RAM. Using this is not advised, however.
|
||||
* Regarding stacks in PSRAM: For tasks that do not call ROM code in any way (directly or indirectly), the :ref:`CONFIG_SPIRAM_ALLOW_STACK_EXTERNAL_MEMORY` option will eliminate the check in :cpp:func:`xTaskCreateStatic`, allowing a task's stack to be in external RAM. However, using this is **not advised**.
|
||||
* When used at 80 MHz clock speed, external RAM must also occupy either the HSPI or VSPI bus. Select which SPI host will be used by :ref:`CONFIG_SPIRAM_OCCUPY_SPI_HOST`.
|
||||
|
||||
|
||||
Chip revisions
|
||||
Chip Revisions
|
||||
==============
|
||||
|
||||
There are some issues with certain revisions of ESP32 that have repercussions for use with external RAM. The issues are documented in the `ESP32 ECO`_ document. In particular, ESP-IDF handles the bugs mentioned in the following ways:
|
||||
There are some issues with certain revisions of ESP32 that have repercussions for use with external RAM. The issues are documented in the `ESP32 Series SoC Errata`_ document. In particular, ESP-IDF handles the bugs mentioned in the following ways:
|
||||
|
||||
|
||||
ESP32 rev v0
|
||||
------------
|
||||
ESP32 Rev v0.0
|
||||
--------------
|
||||
ESP-IDF has no workaround for the bugs in this revision of silicon, and it cannot be used to map external PSRAM into ESP32's main memory map.
|
||||
|
||||
|
||||
ESP32 rev v1
|
||||
------------
|
||||
The bugs in this revision of silicon cause issues if certain sequences of machine instructions operate on external memory. (`ESP32 ECO`_ 3.2). As a workaround, the GCC compiler received the flag ``-mfix-esp32-psram-cache-issue`` to filter these sequences and only output the code that can safely be executed. Enable this flag by checking :ref:`CONFIG_SPIRAM_CACHE_WORKAROUND`.
|
||||
ESP32 Rev v1.0
|
||||
--------------
|
||||
The bugs in this revision of silicon cause issues if certain sequences of machine instructions operate on external memory. (`ESP32 Series SoC Errata`_ 3.2). As a workaround, the ``-mfix-esp32-psram-cache-issue`` flag has been added to the ESP32 GCC compiler such that these sequences are filtered out. As a result, the compiler only outputs code that can safely be executed. The :ref:`CONFIG_SPIRAM_CACHE_WORKAROUND` option can be used to enable this workaround.
|
||||
|
||||
Aside from linking to a recompiled version of Newlib with the additional flag, ESP-IDF also does the following:
|
||||
|
||||
- Avoids using some ROM functions
|
||||
- Allocates static memory for the WiFi stack
|
||||
- Allocates static memory for the Wi-Fi stack
|
||||
|
||||
ESP32 rev v3
|
||||
------------
|
||||
ESP32 Rev v3.0
|
||||
--------------
|
||||
|
||||
ESP32 revision 3 ("ECO V3") fixes the PSRAM cache issue found in rev. 1. When :ref:`CONFIG_ESP32_REV_MIN` option is set to rev. 3, compiler workarounds related to PSRAM will be disabled. For more information about ESP32 ECO V3, see `ESP32 ECO V3 User Guide`_.
|
||||
ESP32 rev v3.0 fixes the PSRAM cache issue found in rev v1.0. When :ref:`CONFIG_ESP32_REV_MIN` option is set to ``rev v3.0``, compiler workarounds related to PSRAM will be disabled. For more information about ESP32 v3.0, see `ESP32 Chip Revision v3.0 User Guide`_.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
- Installed IDF including all IDF requirements
|
||||
- Installed ESP-IDF including all ESP-IDF requirements
|
||||
- System package requirements (``libbsd``, ``libbsd-dev``)
|
||||
- A recent enough Linux or MacOS version and gcc compiler
|
||||
- A recent enough Linux or macOS version and GCC compiler
|
||||
- All components the application depends on must be either supported on the Linux target (Linux/POSIX simulator) or mock-able
|
||||
|
||||
An application that runs on the Linux target has to set the ``COMPONENTS`` variable to ``main`` in the CMakeLists.txt of the application's root directory:
|
||||
@@ -10,4 +10,4 @@ An application that runs on the Linux target has to set the ``COMPONENTS`` varia
|
||||
set(COMPONENTS main)
|
||||
|
||||
|
||||
This prevents the automatic inclusion of all components from IDF to the build process which is otherwise done for convenience.
|
||||
This prevents the automatic inclusion of all components from ESP-IDF to the build process which is otherwise done for convenience.
|
||||
|
||||
Reference in New Issue
Block a user