mirror of
https://github.com/espressif/esp-idf.git
synced 2026-04-27 19:13:21 +00:00
Merge branch 'docs/update_reference_to_esp32_errata' into 'master'
docs: Update reference to the specific section in ESP32 Errata Closes DOC-10080 See merge request espressif/esp-idf!42514
This commit is contained in:
@@ -38,7 +38,7 @@ __attribute__((weak)) void bootloader_clock_configure(void)
|
||||
|
||||
#if CONFIG_IDF_TARGET_ESP32
|
||||
/* On ESP32 rev 0, switching to 80/160 MHz if clock was previously set to
|
||||
* 240 MHz may cause the chip to lock up (see section 3.5 of the errata
|
||||
* 240 MHz may cause the chip to lock up (see CPU-3.5 of the errata
|
||||
* document). For rev. 0, switch to 240 instead if it has been enabled
|
||||
* previously.
|
||||
*/
|
||||
|
||||
@@ -88,7 +88,7 @@ esp_err_t gpio_set_intr_type(gpio_num_t gpio_num, gpio_int_type_t intr_type);
|
||||
*
|
||||
* @note ESP32: Please do not use the interrupt of GPIO36 and GPIO39 when using ADC or Wi-Fi and Bluetooth with sleep mode enabled.
|
||||
* Please refer to the comments of `adc1_get_raw`.
|
||||
* Please refer to Section 3.11 of <a href="https://espressif.com/sites/default/files/documentation/eco_and_workarounds_for_bugs_in_esp32_en.pdf">ESP32 ECO and Workarounds for Bugs</a> for the description of this issue.
|
||||
* Please refer to GPIO-3.11 of <a href="https://espressif.com/sites/default/files/documentation/eco_and_workarounds_for_bugs_in_esp32_en.pdf">ESP32 ECO and Workarounds for Bugs</a> for the description of this issue.
|
||||
|
||||
*
|
||||
* @param gpio_num GPIO number. If you want to enable an interrupt on e.g. GPIO16, gpio_num should be GPIO_NUM_16 (16);
|
||||
|
||||
@@ -58,7 +58,7 @@ menu "Power Supplier"
|
||||
This config allows to trigger an interrupt when brownout detected. Software restart will be done
|
||||
at the end of the default callback.
|
||||
Two occasions need to restart the chip with interrupt so far.
|
||||
(1). For ESP32 version 1, brown-out reset function doesn't work (see ESP32 errata 3.4).
|
||||
(1). For ESP32 version 1, brown-out reset function doesn't work (see ESP32 errata RES-3.4).
|
||||
So that we must restart from interrupt.
|
||||
(2). For special workflow, the chip needs do more things instead of restarting directly. This part
|
||||
needs to be done in callback function of interrupt.
|
||||
|
||||
@@ -210,7 +210,7 @@ void esp_int_wdt_cpu_init(void)
|
||||
#endif
|
||||
#if CONFIG_ESP32_ECO3_CACHE_LOCK_FIX
|
||||
/*
|
||||
* This is a workaround for issue 3.15 in "ESP32 ECO and workarounds for
|
||||
* This is a workaround for issue WDT-3.15 in "ESP32 ECO and workarounds for
|
||||
* Bugs" document.
|
||||
*/
|
||||
_lx_intr_livelock_counter = 0;
|
||||
|
||||
@@ -6,12 +6,12 @@
|
||||
/* Utility functions to test that APB access is still safe
|
||||
while the other CPU performs some set of DPORT accesses
|
||||
|
||||
(see ECO 3.10 and the standalone esp32 test_dport.c for more).
|
||||
(see ECO CPU-3.10 and the standalone esp32 test_dport.c for more).
|
||||
*/
|
||||
|
||||
/* start_apb_access_loop() starts a task reading from APB in a loop on the non-Unity-test CPU.
|
||||
|
||||
Call this before doing something which involes DPORT reads.
|
||||
Call this before doing something which involves DPORT reads.
|
||||
|
||||
Does nothing in unicore mode.
|
||||
*/
|
||||
|
||||
@@ -15,7 +15,7 @@ ESP-IDF has no workaround for the bugs in this revision of silicon, and it canno
|
||||
|
||||
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.
|
||||
The bugs in this revision of silicon cause issues if certain sequences of machine instructions operate on external memory. (`ESP32 Series SoC Errata`_ > CPU-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:
|
||||
|
||||
|
||||
@@ -200,6 +200,6 @@ The table below provides more information on pin usage, and please note the comm
|
||||
- GPI: GPIO34-39 can only be set as input mode and do not have software-enabled pullup or pulldown functions.
|
||||
- TXD & RXD are usually used for flashing and debugging.
|
||||
- ADC2: ADC2 pins cannot be used when Wi-Fi is used. So, if you are having trouble getting the value from an ADC2 GPIO while using Wi-Fi, you may consider using an ADC1 GPIO instead, which should solve your problem. For more details, please refer to :ref:`Hardware Limitations of ADC Continuous Mode <hardware_limitations_adc_continuous>` and :ref:`Hardware Limitations of ADC Oneshot Mode <hardware_limitations_adc_oneshot>`.
|
||||
- Please do not use the interrupt of GPIO36 and GPIO39 when using ADC or Wi-Fi and Bluetooth with sleep mode enabled. Please refer to `ESP32 ECO and Workarounds for Bugs <https://espressif.com/sites/default/files/documentation/eco_and_workarounds_for_bugs_in_esp32_en.pdf>`_ > Section 3.11 for the detailed description of the issue.
|
||||
- Please do not use the interrupt of GPIO36 and GPIO39 when using ADC or Wi-Fi and Bluetooth with sleep mode enabled. Please refer to `ESP32 ECO and Workarounds for Bugs <https://espressif.com/sites/default/files/documentation/eco_and_workarounds_for_bugs_in_esp32_en.pdf>`_ > GPIO-3.11 for the detailed description of the issue.
|
||||
|
||||
---
|
||||
|
||||
@@ -15,7 +15,7 @@ ESP-IDF 并未针对该版芯片的错误提供解决方案,也不能将外部
|
||||
|
||||
ESP32 rev v1.0
|
||||
--------------
|
||||
某些机器指令序列对外部内存进行操作时,该版芯片的错误会引发问题,详情请参阅 `ESP32 系列芯⽚勘误表`_ 第 3.2 节。为此,ESP32 GCC 编译器增加了标志 ``-mfix-esp32-psram-cache-issue``,用于过滤这些序列,只输出可以安全执行的代码。请启用 :ref:`CONFIG_SPIRAM_CACHE_WORKAROUND` 选项以使用此方法。
|
||||
某些机器指令序列对外部内存进行操作时,该版芯片的错误会引发问题,详情请参阅 `ESP32 系列芯⽚勘误表`_ > CPU-3.2。为此,ESP32 GCC 编译器增加了标志 ``-mfix-esp32-psram-cache-issue``,用于过滤这些序列,只输出可以安全执行的代码。请启用 :ref:`CONFIG_SPIRAM_CACHE_WORKAROUND` 选项以使用此方法。
|
||||
|
||||
启用此选项后,ESP-IDF 会链接到重新编译且带有额外标志的 Newlib,此外还会执行以下操作:
|
||||
|
||||
|
||||
@@ -200,6 +200,6 @@
|
||||
- GPI:GPIO34-39 只能设置为输入模式,不具备软件使能的上拉或下拉功能。
|
||||
- TXD & RXD 通常用于烧录和调试。
|
||||
- ADC2:使用 Wi-Fi 时不能使用 ADC2 管脚。因此,如果您在使用 Wi-Fi 时无法从 ADC2 GPIO 获取值,可以考虑使用 ADC1 GPIO 来解决该问题。更多详情请参考 :ref:`ADC 连续转换模式下的硬件限制 <hardware_limitations_adc_continuous>` 以及 :ref:`ADC 单次转换模式下的硬件限制<hardware_limitations_adc_oneshot>`。
|
||||
- 使用 ADC 或睡眠模式下使用 Wi-Fi 和蓝牙时,请不要使用 GPIO36 和 GPIO39 的中断。有关问题的详细描述,请参考 `ESP32 ECO 和 Bug 解决方法 <https://espressif.com/sites/default/files/documentation/eco_and_workarounds_for_bugs_in_esp32_cn.pdf>`_ > 中的第 3.11 节。
|
||||
- 使用 ADC 或睡眠模式下使用 Wi-Fi 和蓝牙时,请不要使用 GPIO36 和 GPIO39 的中断。有关问题的详细描述,请参考 `ESP32 ECO 和 Bug 解决方法 <https://espressif.com/sites/default/files/documentation/eco_and_workarounds_for_bugs_in_esp32_cn.pdf>`_ > 中的 GPIO-3.11 节。
|
||||
|
||||
---
|
||||
|
||||
Reference in New Issue
Block a user