mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
docs: Apply the same basic ESP32/ESP32-S2 warning filters to Chinese docs
This commit is contained in:
parent
a148d8e6ba
commit
66462ca26f
@ -125,6 +125,6 @@ External RAM use has the following restrictions:
|
||||
|
||||
.. only:: esp32
|
||||
|
||||
.. include:: inc/external-ram-esp32-notes.inc
|
||||
.. 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
|
||||
|
@ -1,5 +1,4 @@
|
||||
* 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.
|
||||
32
|
||||
* 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`.
|
||||
|
||||
|
@ -2,7 +2,9 @@
|
||||
********************
|
||||
:link_to_translation:`en:[English]`
|
||||
|
||||
本文档将介绍基于 CMake 的 ESP-IDF 构建系统的实现原理以及 ``组件`` 等相关概念,此外 ESP-IDF 还支持 :doc:`基于 GNU Make 的构建系统 <build-system>`。
|
||||
.. only:: esp32
|
||||
|
||||
本文档将介绍基于 CMake 的 ESP-IDF 构建系统的实现原理以及 ``组件`` 等相关概念,此外 ESP-IDF 还支持 :doc:`基于 GNU Make 的构建系统 <build-system-legacy>`。
|
||||
|
||||
如需您想了解如何使用 CMake 构建系统来组织和构建新的 ESP-IDF 项目或组件,请阅读本文档。
|
||||
|
||||
@ -721,7 +723,9 @@ ESP-IDF 还支持自动生成链接脚本,它允许组件通过链接片段文
|
||||
- 第二组命令添加了一个目标库,指向外部构建系统生成的库文件。为了添加 include 目录,并告知 CMake 该文件的位置,需要再设置一些属性。
|
||||
- 最后,生成的库被添加到 `ADDITIONAL_MAKE_CLEAN_FILES`_ 中。即执行 ``make clean`` 后会删除该库。请注意,构建系统中的其他目标文件不会被删除。
|
||||
|
||||
.. note:: 当外部构建系统使用 PSRAM 时,请记得将 ``-mfix-esp32-psram-cache-issue`` 添加到 C 编译器的参数中。关于该标志的更多详细信息,请参考 :ref:`CONFIG_SPIRAM_CACHE_WORKAROUND`。
|
||||
.. only:: esp32
|
||||
|
||||
.. note:: 当外部构建系统使用 PSRAM 时,请记得将 ``-mfix-esp32-psram-cache-issue`` 添加到 C 编译器的参数中。关于该标志的更多详细信息,请参考 :ref:`CONFIG_SPIRAM_CACHE_WORKAROUND`。
|
||||
|
||||
.. _ADDITIONAL_MAKE_CLEAN_FILES_note:
|
||||
|
||||
|
@ -118,30 +118,10 @@ ESP-IDF 启动过程中,片外 RAM 被映射到以 0x3F800000 起始的数据
|
||||
|
||||
* 默认情况下,片外 RAM 初始化失败将终止 ESP-IDF 启动。如果想禁用此功能,可启用 :ref:`CONFIG_SPIRAM_IGNORE_NOTFOUND` 配置选项。如果启用 :ref:`CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY`,:ref:`CONFIG_SPIRAM_IGNORE_NOTFOUND` 选项将不能使用,这是因为在链接时,链接器已经向片外 RAM 分配符号。
|
||||
|
||||
* 时钟频率为 80 MHz 时,片外 RAM 须占用 HSPI 总线或 VSPI 总线。请使用 :ref:`CONFIG_SPIRAM_OCCUPY_SPI_HOST` 选择要用的 SPI 主机。
|
||||
|
||||
.. only:: esp32
|
||||
|
||||
芯片版本
|
||||
==============
|
||||
|
||||
有些 ESP32 芯片版本存在某些已知问题,可能会影响片外 RAM 的使用。请参考 ESP32 勘误表_,查看详细信息。为了解决这些问题,ESP-IDF 采取了以下措施:
|
||||
|
||||
ESP32 rev v0
|
||||
------------
|
||||
ESP-IDF 尚未提供针对此版本硅片 bug 的解决方法,因此在 ESP32 rev v0 中,ESP-IDF 无法将片外 PSRAM 映射到 ESP32 主内存映射中。
|
||||
|
||||
ESP32 rev v1
|
||||
------------
|
||||
当某些机器指令序列在片外存储器位置上运行时,此芯片版本中的错误可能会引发芯片故障(详情见 ESP32 勘误表_ 第 3.2 章节)。 为了解决这个问题,用于编译 ESP-IDF 项目的 GCC 编译器扩展了一个旗标:-mfix-esp32-psram-cache-issue。在命令行中将此旗标传递给 GCC,编译器对这些序列进行处理,然后仅输出可以安全执行的代码。如需启用此旗标,请选择 :ref:`CONFIG_SPIRAM_CACHE_WORKAROUND`。
|
||||
|
||||
ESP-IDF 还采取了其他措施确保不同时使用 PSRAM 访问和出错指令集:
|
||||
|
||||
- 链接到使用 GCC 旗标重新编译的 Newlib 版本;
|
||||
- 避免使用某些 ROM 函数;
|
||||
- 为 Wi-Fi 栈分配静态内存。
|
||||
|
||||
.. _勘误表: https://www.espressif.com/sites/default/files/documentation/eco_and_workarounds_for_bugs_in_esp32_cn.pdf
|
||||
|
||||
.. include:: inc/external-ram-esp32-notes.rst
|
||||
|
||||
|
||||
|
||||
|
@ -39,7 +39,13 @@
|
||||
|
||||
不管哪种情况,错误原因都会被打印在括号中。请参阅 :ref:`Guru-Meditation-Errors` 以查看所有可能的出错原因。
|
||||
|
||||
紧急处理程序接下来的行为将取决于 :ref:`CONFIG_ESP32_PANIC` 的设置,支持的选项包括:
|
||||
.. only:: esp32
|
||||
|
||||
紧急处理程序接下来的行为将取决于 :ref:`CONFIG_ESP32_PANIC` 的设置,支持的选项包括:
|
||||
|
||||
.. only:: esp32s2
|
||||
|
||||
紧急处理程序接下来的行为将取决于 :ref:`CONFIG_ESP32S2_PANIC` 的设置,支持的选项包括:
|
||||
|
||||
- 打印 CPU 寄存器,然后重启(``CONFIG_ESP32_PANIC_PRINT_REBOOT``)- 默认选项
|
||||
|
||||
@ -59,7 +65,13 @@
|
||||
|
||||
紧急处理程序的行为还受到另外两个配置项的影响:
|
||||
|
||||
- 如果 :ref:`CONFIG_ESP32_DEBUG_OCDAWARE` 被使能了(默认),紧急处理程序会检测 ESP32 是否已经连接 JTAG 调试器。如果检测成功,程序会暂停运行,并将控制权交给调试器。在这种情况下,寄存器和回溯不会被打印到控制台,并且也不会使用 GDB Stub 和 Core Dump 的功能。
|
||||
.. only:: esp32
|
||||
|
||||
- 如果 :ref:`CONFIG_ESP32_DEBUG_OCDAWARE` 被使能了(默认),紧急处理程序会检测 ESP32 是否已经连接 JTAG 调试器。如果检测成功,程序会暂停运行,并将控制权交给调试器。在这种情况下,寄存器和回溯不会被打印到控制台,并且也不会使用 GDB Stub 和 Core Dump 的功能。
|
||||
|
||||
.. only:: esp32s2
|
||||
|
||||
- 如果 :ref:`CONFIG_ESP32S2_DEBUG_OCDAWARE` 被使能了(默认),紧急处理程序会检测 ESP32-S2 是否已经连接 JTAG 调试器。如果检测成功,程序会暂停运行,并将控制权交给调试器。在这种情况下,寄存器和回溯不会被打印到控制台,并且也不会使用 GDB Stub 和 Core Dump 的功能。
|
||||
|
||||
- 如果使能了 :doc:`Core Dump <core_dump>` 功能(``CONFIG_ESP32_ENABLE_COREDUMP_TO_FLASH`` 或者 ``CONFIG_ESP32_ENABLE_COREDUMP_TO_UART`` 选项),系统状态(任务堆栈和寄存器)会被转储到 Flash 或者 UART 以供后续分析。
|
||||
|
||||
@ -265,7 +277,14 @@ Cache disabled but cached memory region accessed
|
||||
欠压
|
||||
^^^^
|
||||
|
||||
ESP32 内部集成掉电检测电路,并且会默认启用。如果电源电压低于安全值,掉电检测器可以触发系统复位。掉电检测器可以使用 :ref:`CONFIG_ESP32_BROWNOUT_DET` 和 :ref:`CONFIG_ESP32_BROWNOUT_DET_LVL_SEL` 这两个选项进行设置。
|
||||
.. only:: esp32
|
||||
|
||||
ESP32 内部集成掉电检测电路,并且会默认启用。如果电源电压低于安全值,掉电检测器可以触发系统复位。掉电检测器可以使用 :ref:`CONFIG_ESP32_BROWNOUT_DET` 和 :ref:`CONFIG_ESP32_BROWNOUT_DET_LVL_SEL` 这两个选项进行设置。
|
||||
|
||||
.. only:: esp32s2
|
||||
|
||||
ESP32-S2 内部集成掉电检测电路,并且会默认启用。如果电源电压低于安全值,掉电检测器可以触发系统复位。掉电检测器可以使用 :ref:`CONFIG_ESP32S2_BROWNOUT_DET` 和 :ref:`CONFIG_ESP32S2_BROWNOUT_DET_LVL_SEL` 这两个选项进行设置。
|
||||
|
||||
当掉电检测器被触发时,会打印如下信息::
|
||||
|
||||
Brownout detector was triggered
|
||||
|
@ -7,7 +7,7 @@ API 指南
|
||||
|
||||
一般注意事项 <general-notes>
|
||||
构建系统 <build-system>
|
||||
构建系统 (传统 GNU Make) <build-system-legacy>
|
||||
:esp32: 构建系统 (传统 GNU Make) <build-system-legacy>
|
||||
错误处理 <error-handling>
|
||||
严重错误 <fatal-errors>
|
||||
Event Handling <event-handling>
|
||||
@ -22,17 +22,17 @@ API 指南
|
||||
分区表 <partition-tables>
|
||||
Secure Boot <../security/secure-boot>
|
||||
ULP 协处理器 <ulp>
|
||||
ULP ( Legacy GNU Make) <ulp-legacy>
|
||||
:esp32: ULP (传统 GNU Make) <ulp-legacy>
|
||||
单元测试 <unit-tests>
|
||||
单元测试 (传统 GNU Make) <unit-tests-legacy>
|
||||
:esp32: 单元测试 (传统 GNU Make) <unit-tests-legacy>
|
||||
应用层跟踪 <app_trace>
|
||||
控制台终端组件 <console>
|
||||
ROM debug console <romconsole>
|
||||
RF Calibration <RF_calibration>
|
||||
WiFi Driver <wifi>
|
||||
ESP-BLE-MESH <esp-ble-mesh/ble-mesh-index>
|
||||
:esp32: ESP-BLE-MESH <esp-ble-mesh/ble-mesh-index>
|
||||
ESP-MESH (Wi-Fi) <mesh>
|
||||
BluFi <blufi>
|
||||
:esp32: BluFi <blufi>
|
||||
External SPI-connected RAM <external-ram>
|
||||
链接脚本生成机制 <linker-script-generation>
|
||||
LwIP <lwip>
|
||||
|
@ -54,7 +54,14 @@ OpenOCD 支持的编译时的选项
|
||||
|
||||
ESP-IDF 有一些针对 OpenOCD 调试功能的选项可以在编译时进行设置:
|
||||
|
||||
* :ref:`CONFIG_ESP32_DEBUG_OCDAWARE` 默认会被使能。如果程序抛出了不可修复或者未处理的异常,并且此时已经连接上了 JTAG 调试器(即 OpenOCD 正在运行),那么 ESP-IDF 将会进入调试器工作模式。
|
||||
.. only:: esp32
|
||||
|
||||
* :ref:`CONFIG_ESP32_DEBUG_OCDAWARE` 默认会被使能。如果程序抛出了不可修复或者未处理的异常,并且此时已经连接上了 JTAG 调试器(即 OpenOCD 正在运行),那么 ESP-IDF 将会进入调试器工作模式。
|
||||
|
||||
.. only:: esp32s2
|
||||
|
||||
* :ref:`CONFIG_ESP32S2_DEBUG_OCDAWARE` 默认会被使能。如果程序抛出了不可修复或者未处理的异常,并且此时已经连接上了 JTAG 调试器(即 OpenOCD 正在运行),那么 ESP-IDF 将会进入调试器工作模式。
|
||||
|
||||
* :ref:`CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK` 默认没有使能。在所有任务堆栈的末尾设置观察点,从 1 号开始索引。这是调试任务堆栈溢出的最准确的方式。
|
||||
|
||||
更多有关设置编译时的选项的信息,请参阅 :ref:`项目配置菜单 <get-started-configure>`。
|
||||
|
@ -92,7 +92,13 @@ IDF 监视器在后台运行以下命令,解码各地址::
|
||||
|
||||
或者选择配置 panic 处理器以运行 GDBStub,GDBStub 工具可以与 GDB_ 项目调试器进行通信,允许读取内存、检查调用堆栈帧和变量等。GDBStub 虽然没有 JTAG 通用,但不需要使用特殊硬件。
|
||||
|
||||
如需启用 GDBStub,请运行 ``idf.py menuconfig`` (适用于 CMake 编译系统),并将 :ref:`CONFIG_ESP32_PANIC` 选项设置为 ``Invoke GDBStub``。
|
||||
.. only:: esp32
|
||||
|
||||
如需启用 GDBStub,请运行 ``idf.py menuconfig`` (适用于 CMake 编译系统),并将 :ref:`CONFIG_ESP32_PANIC` 选项设置为 ``Invoke GDBStub``。
|
||||
|
||||
.. only:: esp32s2
|
||||
|
||||
如需启用 GDBStub,请运行 ``idf.py menuconfig`` (适用于 CMake 编译系统),并将 :ref:`CONFIG_ESP32S2_PANIC` 选项设置为 ``Invoke GDBStub``。
|
||||
|
||||
在这种情况下,如果 panic 处理器被触发,只要 IDF 监视器监控到 GDBStub 已经加载,panic 处理器就会自动暂停串行监控并使用必要的参数运行 GDB。GDB 退出后,通过 RTS 串口线复位开发板。如果未连接 RTS 串口线,请按复位键,手动复位开发板。
|
||||
|
||||
|
@ -20,7 +20,9 @@ ULP 协处理器代码是用汇编语言编写的,并使用 `binutils-esp32ulp
|
||||
|
||||
如果你已经按照 :doc:`快速入门指南 <../../get-started/index>` 中的介绍安装好了 ESP-IDF 及其 CMake 构建系统,那么 ULP 工具链已经被默认安装到了你的开发环境中。
|
||||
|
||||
如果你的 ESP-IDF 仍在使用传统的基于 GNU Make 的构建系统,请参考 :doc:`ulp-legacy` 一文中的说明,完成工具链的安装。
|
||||
.. only:: esp32
|
||||
|
||||
如果你的 ESP-IDF 仍在使用传统的基于 GNU Make 的构建系统,请参考 :doc:`ulp-legacy` 一文中的说明,完成工具链的安装。
|
||||
|
||||
|
||||
编译 ULP 代码
|
||||
|
@ -6,7 +6,7 @@ API 参考
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
Bluetooth <bluetooth/index>
|
||||
:esp32: Bluetooth <bluetooth/index>
|
||||
Networking <network/index>
|
||||
Peripherals <peripherals/index>
|
||||
协议 <protocols/index>
|
||||
|
@ -167,4 +167,4 @@ GPIO 宏查找表
|
||||
|
||||
|
||||
.. include-build-file:: inc/touch_sensor_channel.inc
|
||||
.. include-build-file:: inc/touch_channel.inc
|
||||
.. include-build-file:: inc/touch_sensor_types.inc
|
||||
|
@ -27,12 +27,25 @@ ESP-IDF 中集成的电源管理算法可以根据应用程序组件的需求,
|
||||
|
||||
应用程序可以通过调用 :cpp:func:`esp_pm_configure` 函数启用动态调频 (DFS) 功能和自动 Light-sleep 模式。此函数的参数为 :cpp:class:`esp_pm_config_esp32_t`,定义了频率调节的相关设置。在此参数结构中,需要初始化下面三个字段:
|
||||
|
||||
- ``max_freq_mhz``:最大 CPU 频率 (MHz),即获取 ``ESP_PM_CPU_FREQ_MAX`` 锁后所使用的频率。该字段通常设置为 :ref:`CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ`。
|
||||
.. only:: esp32
|
||||
|
||||
- ``max_freq_mhz``:最大 CPU 频率 (MHz),即获取 ``ESP_PM_CPU_FREQ_MAX`` 锁后所使用的频率。该字段通常设置为 :ref:`CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ`。
|
||||
|
||||
.. only:: esp32s2
|
||||
|
||||
- ``max_freq_mhz``:最大 CPU 频率 (MHz),即获取 ``ESP_PM_CPU_FREQ_MAX`` 锁后所使用的频率。该字段通常设置为 :ref:`CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ`。
|
||||
|
||||
- ``min_freq_mhz``:最小 CPU 频率 (MHz),即仅获取 ``ESP_PM_APB_FREQ_MAX`` 锁后所使用的频率。该字段可设置为晶振 (XTAL) 频率值,或者 XTAL 频率值除以整数。注意,10 MHz 是生成 1 MHz 的 REF_TICK 默认时钟所需的最小频率。
|
||||
|
||||
- ``light_sleep_enable``:没有获取任何管理锁时,决定系统是否需要自动进入 Light-sleep 状态 (``true``/``false``)。
|
||||
|
||||
或者,如果在 menuconfig 中启用了 :ref:`CONFIG_PM_DFS_INIT_AUTO` 选项,最大 CPU 频率将由 :ref:`CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ` 设置决定,最小 CPU 频率将锁定为 XTAL 频率。
|
||||
.. only:: esp32
|
||||
|
||||
或者,如果在 menuconfig 中启用了 :ref:`CONFIG_PM_DFS_INIT_AUTO` 选项,最大 CPU 频率将由 :ref:`CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ` 设置决定,最小 CPU 频率将锁定为 XTAL 频率。
|
||||
|
||||
.. only:: esp32s2
|
||||
|
||||
或者,如果在 menuconfig 中启用了 :ref:`CONFIG_PM_DFS_INIT_AUTO` 选项,最大 CPU 频率将由 :ref:`CONFIG_ESP32S2_DEFAULT_CPU_FREQ_MHZ` 设置决定,最小 CPU 频率将锁定为 XTAL 频率。
|
||||
|
||||
.. note::
|
||||
|
||||
@ -58,37 +71,9 @@ ESP32 支持下表中所述的三种电源管理锁。
|
||||
``ESP_PM_NO_LIGHT_SLEEP`` 禁止自动切换至 Light-sleep 模式。
|
||||
============================ ======================================================
|
||||
|
||||
.. only:: esp32
|
||||
|
||||
电源管理算法
|
||||
--------------------------------
|
||||
|
||||
下表列出了启用动态调频时如何切换 CPU 频率和 APB 频率。您可以使用 :cpp:func:`esp_pm_configure` 或者 :ref:`CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ` 指定 CPU 最大频率。
|
||||
|
||||
+--------------+---------------------------------------------------------+----------------------------------------------------+
|
||||
| CPU 最高频率 | 电源管理锁获取情况 | CPU 频率和 APB 频率 |
|
||||
+--------------+---------------------------------------------------------+----------------------------------------------------+
|
||||
| 240 MHz | 获取 ``ESP_PM_CPU_FREQ_MAX`` 或 ``ESP_PM_APB_FREQ_MAX`` | CPU: 240 MHz APB: 80 MHz |
|
||||
+ +---------------------------------------------------------+----------------------------------------------------+
|
||||
| \ | 无 | 使用 :cpp:func:`esp_pm_configure` 为二者设置最小值 |
|
||||
+--------------+---------------------------------------------------------+----------------------------------------------------+
|
||||
| 160 MHz | 获取 ``ESP_PM_CPU_FREQ_MAX`` | CPU: 160 MHz APB: 80 MHz |
|
||||
+ +---------------------------------------------------------+----------------------------------------------------+
|
||||
| \ | 获取 ``ESP_PM_CPU_FREQ_MAX``, | CPU: 80 MHz APB: 80 MHz |
|
||||
| | 未获取 ``ESP_PM_APB_FREQ_MAX`` | |
|
||||
+ +---------------------------------------------------------+----------------------------------------------------+
|
||||
| \ | 无 | 使用 :cpp:func:`esp_pm_configure` 为二者设置最小值 |
|
||||
+--------------+---------------------------------------------------------+----------------------------------------------------+
|
||||
| 80 MHz | 获取 ``ESP_PM_CPU_FREQ_MAX`` 或 ``ESP_PM_APB_FREQ_MAX`` | CPU: 80 MHz APB: 80 MHz |
|
||||
+ +---------------------------------------------------------+----------------------------------------------------+
|
||||
| \ | 无 | 使用 :cpp:func:`esp_pm_configure` 为二者设置最小值 |
|
||||
+--------------+---------------------------------------------------------+----------------------------------------------------+
|
||||
|
||||
如果没有获取任何管理锁,调用 :cpp:func:`esp_pm_configure` 将启动 Light-sleep 模式。 Light-sleep 模式持续时间由以下因素决定:
|
||||
|
||||
- 处于阻塞状态的 FreeRTOS 任务数(有限超时)
|
||||
- :doc:`高分辨率定时器 <esp_timer>` API 注册的计数器数量
|
||||
|
||||
您也可以设置 Light-sleep 模式在最近事件(任务解除阻塞,或计时器超时)之前持续多久才唤醒芯片。
|
||||
.. include:: inc/power_management_esp32.rst
|
||||
|
||||
动态调频和外设驱动
|
||||
------------------------------------------------
|
||||
@ -113,15 +98,26 @@ ESP32 支持下表中所述的三种电源管理锁。
|
||||
- **SPI slave**:从调用 :cpp:func:`spi_slave_initialize` 至 :cpp:func:`spi_slave_free` 期间。
|
||||
- **Ethernet**:从调用 :cpp:func:`esp_eth_driver_install` 至 :cpp:func:`esp_eth_driver_uninstall` 期间。
|
||||
- **WiFi**:从调用 :cpp:func:`esp_wifi_start` 至 :cpp:func:`esp_wifi_stop` 期间。如果启用了调制解调器睡眠模式,广播关闭时将释放此管理锁。
|
||||
- **Bluetooth**:从调用 :cpp:func:`esp_bt_controller_enable` 至 :cpp:func:`esp_bt_controller_disable` 期间。如果启用了蓝牙调制解调器,广播关闭时将释放此管理锁。但依然占用 ``ESP_PM_NO_LIGHT_SLEEP`` 锁。
|
||||
- **CAN**:从调用 :cpp:func:`can_driver_install` 至 :cpp:func:`can_driver_uninstall` 期间。
|
||||
|
||||
.. only:: esp32
|
||||
|
||||
- **Bluetooth**:从调用 :cpp:func:`esp_bt_controller_enable` 至 :cpp:func:`esp_bt_controller_disable` 期间。如果启用了蓝牙调制解调器,广播关闭时将释放此管理锁。但依然占用 ``ESP_PM_NO_LIGHT_SLEEP`` 锁。
|
||||
|
||||
以下外设驱动程序无法感知动态调频,应用程序需自己获取/释放管理锁:
|
||||
|
||||
- MCPWM
|
||||
- PCNT
|
||||
- Sigma-delta
|
||||
- Timer Group
|
||||
.. only:: esp32
|
||||
|
||||
- PCNT
|
||||
- Sigma-delta
|
||||
- Timer group
|
||||
- MCPWM
|
||||
|
||||
.. only:: esp32s2
|
||||
|
||||
- PCNT
|
||||
- Sigma-delta
|
||||
- Timer group
|
||||
|
||||
|
||||
API 参考
|
||||
|
@ -8,4 +8,6 @@ ESP-IDF V4.0 将默认采用基于 CMake 的编译系统。
|
||||
|
||||
对此,我们还推出了针对 CMake 编译系统的新 ESP-IDF Eclipse 插件。具体操作,请见 `ESP-IDF Eclipse 插件 <https://github.com/espressif/idf-eclipse-plugin/blob/master/README.md>`。
|
||||
|
||||
如您仍需要对传统 GNU Make 编译系统的 Eclipse 支持,请前往 :doc:`传统 GNU Make 编译系统入门指南 </get-started-legacy/index>`,查看 :doc:`使用 Eclipse IDE 进行编译与烧录 </get-started-legacy/eclipse-setup>` 章节。
|
||||
.. only:: esp32
|
||||
|
||||
如您仍需要对传统 GNU Make 编译系统的 Eclipse 支持,请前往 :doc:`传统 GNU Make 编译系统入门指南 </get-started-legacy/index>`,查看 :doc:`使用 Eclipse IDE 进行编译与烧录 </get-started-legacy/eclipse-setup>` 章节。
|
||||
|
@ -457,19 +457,21 @@ Windows 操作系统
|
||||
|
||||
您可使用快捷键 ``Ctrl+]``,退出 IDF 监视器。
|
||||
|
||||
如果 IDF 监视器在烧录后很快发生错误,或打印信息全是乱码(见下),很有可能是因为您的开发板采用了 26 MHz 晶振,而 ESP-IDF 默认支持大多数开发板使用的 40 MHz 晶振。
|
||||
.. only:: esp32
|
||||
|
||||
.. figure:: ../../_static/get-started-garbled-output.png
|
||||
:align: center
|
||||
:alt: 乱码输出
|
||||
:figclass: align-center
|
||||
如果 IDF 监视器在烧录后很快发生错误,或打印信息全是乱码(见下),很有可能是因为您的开发板采用了 26 MHz 晶振,而 ESP-IDF 默认支持大多数开发板使用的 40 MHz 晶振。
|
||||
|
||||
此时,您可以:
|
||||
|
||||
1. 退出监视器。
|
||||
2. 打开 :ref:`menuconfig <get-started-configure>`。
|
||||
3. 进入 ``Component config`` --> ``ESP32-specific`` --> ``Main XTAL frequency`` 进行配置,将 :ref:`CONFIG_ESP32_XTAL_FREQ_SEL` 设置为 26 MHz。
|
||||
4. 然后,请重新 :ref:`编译和烧录 <get-started-flash>` 应用程序。
|
||||
.. figure:: ../../_static/get-started-garbled-output.png
|
||||
:align: center
|
||||
:alt: 乱码输出
|
||||
:figclass: align-center
|
||||
|
||||
此时,您可以:
|
||||
|
||||
1. 退出监视器。
|
||||
2. 打开 :ref:`menuconfig <get-started-configure>`。
|
||||
3. 进入 ``Component config`` --> ``ESP32-specific`` --> ``Main XTAL frequency`` 进行配置,将 :ref:`CONFIG_ESP32_XTAL_FREQ_SEL` 设置为 26 MHz。
|
||||
4. 然后,请重新 :ref:`编译和烧录 <get-started-flash>` 应用程序。
|
||||
|
||||
.. note::
|
||||
|
||||
@ -507,7 +509,7 @@ Windows 操作系统
|
||||
eclipse-setup
|
||||
../api-guides/tools/idf-monitor
|
||||
toolchain-setup-scratch
|
||||
../get-started-legacy/index
|
||||
:esp32: ../get-started-legacy/index
|
||||
|
||||
.. _Stable version: https://docs.espressif.com/projects/esp-idf/zh_CN/stable/
|
||||
.. _Releases page: https://github.com/espressif/esp-idf/releases
|
||||
|
@ -44,7 +44,7 @@ Linux 平台工具链的标准设置
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
linux-setup-scratch
|
||||
:esp32: linux-setup-scratch
|
||||
|
||||
|
||||
.. _AUR: https://wiki.archlinux.org/index.php/Arch_User_Repository
|
||||
|
@ -4,8 +4,10 @@ Windows 平台工具链的标准设置
|
||||
|
||||
:link_to_translation:`en:[English]`
|
||||
|
||||
.. note::
|
||||
目前,基于 CMake 的构建系统仅支持 64 位 Windows 版本。32 位 Windows 版本的用户可根据 :doc:`传统 GNU Make 构建系统<../get-started-legacy/windows-setup>` 中的介绍进行操作。
|
||||
.. only:: esp32
|
||||
|
||||
.. note::
|
||||
目前,基于 CMake 的构建系统仅支持 64 位 Windows 版本。32 位 Windows 版本的用户可根据 :doc:`传统 GNU Make 构建系统<../get-started-legacy/windows-setup>` 中的介绍进行操作。
|
||||
|
||||
概述
|
||||
============
|
||||
@ -14,8 +16,10 @@ ESP-IDF 需要安装一些必备工具,才能围绕 ESP32 构建固件,包
|
||||
|
||||
在本入门指南中,我们通过 **命令提示符** 进行有关操作。不过,您在安装 ESP-IDF 后还可以使用 :doc:`Eclipse <eclipse-setup>` 或其他支持 CMake 的图形化工具 IDE。
|
||||
|
||||
.. note::
|
||||
较早 ESP-IDF 版本使用 :doc:`传统 GNU Make 编译系统<../get-started-legacy/windows-setup>` 和 MSYS2_ Unix 兼容环境。但如今已非必需,用户可直接通过 Windows 命令提示符使用 ESP-IDF。
|
||||
.. only:: esp32
|
||||
|
||||
.. note::
|
||||
较早 ESP-IDF 版本使用 :doc:`传统 GNU Make 编译系统<../get-started-legacy/windows-setup>` 和 MSYS2_ Unix 兼容环境。但如今已非必需,用户可直接通过 Windows 命令提示符使用 ESP-IDF。
|
||||
|
||||
.. _get-started-windows-tools-installer:
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user