Provide CN translation for part of documents in MR11884

This commit is contained in:
Dai Zi Yan 2021-02-02 09:19:58 +08:00 committed by Marius Vikhammer
parent 548fd02d10
commit 5aaa0c9ca3
6 changed files with 160 additions and 54 deletions

View File

@ -2,9 +2,24 @@
=========== ===========
:link_to_translation:`en:[English]` :link_to_translation:`en:[English]`
本指南为 `乐鑫 <https://espressif.com>`_ 公司 `ESP32 系列芯片 <https://espressif.com/en/products/hardware/esp32/overview>`_ 官方应用开发框架 `ESP-IDF <https://github.com/espressif/esp-idf>`_ 的配套文档。 .. only:: esp32
ESP32 芯片是一款 2.4 GHz Wi-Fi 和蓝牙双模芯片,内置 1 或 2 个 32 位处理器,运算能力最高可达 600 DMIPS。 本指南为 `乐鑫 <https://espressif.com>`_ 公司 `{IDF_TARGET_NAME} <https://espressif.com/en/products/hardware/esp32/overview>`_ 官方应用开发框架 `ESP-IDF <https://github.com/espressif/esp-idf>`_ 的配套文档。
{IDF_TARGET_NAME} 芯片是一款 2.4 GHz Wi-Fi 和蓝牙双模芯片,内置 1 或 2 个 Xtensa® 32 位 LX6 处理器,运算能力最高可达 600 DMIPS。
.. only:: esp32s2
本指南为 {IDF_TARGET_NAME} 官方应用开发框架 `ESP-IDF <https://github.com/espressif/esp-idf>`_ 的配套文档。
{IDF_TARGET_NAME} 是一款高集成 2.4 GHz Wi-Fi 系统级芯片,搭载 Xtensa® 32 位 LX7 单核处理器,运算能力最高可达 600 DMIPS。
.. only:: esp32c3
本指南为 {IDF_TARGET_NAME} 官方应用开发框架 `ESP-IDF <https://github.com/espressif/esp-idf>`_ 的配套文档。
{IDF_TARGET_NAME} 是一款低功耗芯片,支持 2.4 GHz Wi-Fi 和蓝牙,搭载 RISC-V RV32IMC 32 位单核处理器。
.. figure:: ../_static/about-doc.png .. figure:: ../_static/about-doc.png
:align: center :align: center
@ -13,4 +28,4 @@ ESP32 芯片是一款 2.4 GHz Wi-Fi 和蓝牙双模芯片,内置 1 或 2 个 3
乐鑫物联网综合开发框架 乐鑫物联网综合开发框架
ESP-IDF 即乐鑫物联网开发框架,可为在 Windows、Linux 和 macOS 系统平台上开发 ESP32 应用程序提供工具链、API、组件和工作流的支持。 ESP-IDF 即乐鑫物联网开发框架,可为在 Windows、Linux 和 macOS 系统平台上开发 {IDF_TARGET_NAME} 应用程序提供工具链、API、组件和工作流的支持。

View File

@ -8,6 +8,8 @@
本文档旨在指导用户搭建 ESP32 硬件开发的软件环境,通过一个简单的示例展示如何使用 ESP-IDF (Espressif IoT Development Framework) 配置菜单,并编译、下载固件至 ESP32 开发板等步骤。 本文档旨在指导用户搭建 ESP32 硬件开发的软件环境,通过一个简单的示例展示如何使用 ESP-IDF (Espressif IoT Development Framework) 配置菜单,并编译、下载固件至 ESP32 开发板等步骤。
.. include-build-file:: inc/version-note.inc .. include-build-file:: inc/version-note.inc
概述 概述
@ -16,7 +18,7 @@
ESP32 SoC 芯片支持以下功能: ESP32 SoC 芯片支持以下功能:
* 2.4 GHz Wi-Fi * 2.4 GHz Wi-Fi
* 蓝牙 4.2 * 蓝牙
* 高性能双核 * 高性能双核
* 超低功耗协处理器 * 超低功耗协处理器
* 多种外设 * 多种外设
@ -32,7 +34,7 @@ ESP32 采用 40 nm 工艺制成,具有最佳的功耗性能、射频性能、
* 一款 **ESP32** 开发板 * 一款 **ESP32** 开发板
* **USB 数据线** (A 转 Micro-B) * **USB 数据线** (A 转 Micro-B)
* PCWindows、Linux 或 Mac OS * PCWindows、Linux 或 macOS
软件: 软件:
@ -53,8 +55,6 @@ ESP32 采用 40 nm 工艺制成,具有最佳的功耗性能、射频性能、
ESP32-PICO-KIT <../hw-reference/esp32/get-started-pico-kit> ESP32-PICO-KIT <../hw-reference/esp32/get-started-pico-kit>
ESP32-Ethernet-Kit <../hw-reference/esp32/get-started-ethernet-kit> ESP32-Ethernet-Kit <../hw-reference/esp32/get-started-ethernet-kit>
ESP32-DevKit-S(-R) <../hw-reference/esp32/user-guide-devkits-r-v1.1> ESP32-DevKit-S(-R) <../hw-reference/esp32/user-guide-devkits-r-v1.1>
.. _get-started-step-by-step-legacy: .. _get-started-step-by-step-legacy:
详细安装步骤 详细安装步骤
@ -117,7 +117,7 @@ ESP32 采用 40 nm 工艺制成,具有最佳的功耗性能、射频性能、
.. note:: .. note::
在本文档中Linux 和 MacOS 操作系统中 ESP-IDF 的默认安装路径为 ``~/esp``Windows 操作系统的默认路径为 ``%userprofile%\esp``。您也可以将 ESP-IDF 安装在任何其他路径下但请注意在使用命令行时进行相应替换。注意ESP-IDF 不支持带有空格的路径。 在本文档中Linux 和 macOS 操作系统中 ESP-IDF 的默认安装路径为 ``~/esp``Windows 操作系统的默认路径为 ``%userprofile%\esp``。您也可以将 ESP-IDF 安装在任何其他路径下但请注意在使用命令行时进行相应替换。注意ESP-IDF 不支持带有空格的路径。
此外, 您也可以根据自身经验和实际需求,对环境进行个性化设置,而非使用预制工具链。此时,请前往 :ref:`get-started-customized-setup-legacy` 章节获取更多信息。 此外, 您也可以根据自身经验和实际需求,对环境进行个性化设置,而非使用预制工具链。此时,请前往 :ref:`get-started-customized-setup-legacy` 章节获取更多信息。
@ -164,7 +164,7 @@ ESP-IDF 将下载至 ``~/esp/esp-idf``。
第四步:安装 Python 软件包 第四步:安装 Python 软件包
========================== ==========================
ESP-IDF 所需的 Python 软件包位于 ``IDF_PATH/requirements.txt`` 中。您可以运行以下命令进行安装:您可以运行以下命令进行安装:: ESP-IDF 所需的 Python 软件包位于 ``IDF_PATH/requirements.txt`` 中。您可以运行以下命令进行安装::
python -m pip install --user -r $IDF_PATH/requirements.txt python -m pip install --user -r $IDF_PATH/requirements.txt
@ -177,6 +177,8 @@ ESP-IDF 所需的 Python 软件包位于 ``IDF_PATH/requirements.txt`` 中。您
.. _get-started-start-project-legacy: .. _get-started-start-project-legacy:
第五步:开始创建工程 第五步:开始创建工程
===================== =====================
@ -184,7 +186,7 @@ ESP-IDF 所需的 Python 软件包位于 ``IDF_PATH/requirements.txt`` 中。您
:example:`get-started/hello_world` 复制至您本地的 ``~/esp`` 目录下: :example:`get-started/hello_world` 复制至您本地的 ``~/esp`` 目录下:
Linux 和 MacOS 操作系统 Linux 和 macOS 操作系统
~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~
.. code-block:: bash .. code-block:: bash
@ -206,6 +208,8 @@ ESP-IDF 的 :idf:`examples` 目录下有一系列示例工程,都可以按照
ESP-IDF 编译系统不支持带有空格的路径。 ESP-IDF 编译系统不支持带有空格的路径。
.. _get-started-connect-legacy: .. _get-started-connect-legacy:
第六步:连接设备 第六步:连接设备
@ -217,7 +221,7 @@ ESP-IDF 的 :idf:`examples` 目录下有一系列示例工程,都可以按照
- **Windows 操作系统:** ``COM1`` - **Windows 操作系统:** ``COM1``
- **Linux 操作系统:**``/dev/tty`` 开始 - **Linux 操作系统:**``/dev/tty`` 开始
- **MacOS 操作系统:** 以 ``/dev/cu.`` 开始 - **macOS 操作系统:** 以 ``/dev/cu.`` 开始
有关如何查看串口名称的详细信息,请见 :doc:`establish-serial-connection` 有关如何查看串口名称的详细信息,请见 :doc:`establish-serial-connection`
@ -233,7 +237,7 @@ ESP-IDF 的 :idf:`examples` 目录下有一系列示例工程,都可以按照
请进入 :ref:`get-started-start-project-legacy` 中提到的 ``hello_world`` 目录,并运行工程配置工具 ``menuconfig`` 请进入 :ref:`get-started-start-project-legacy` 中提到的 ``hello_world`` 目录,并运行工程配置工具 ``menuconfig``
Linux 和 MacOS 操作系统 Linux 和 macOS 操作系统
~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~
.. code-block:: bash .. code-block:: bash
@ -285,37 +289,60 @@ Windows 操作系统
运行以上命令可以编译应用程序和所有 ESP-IDF 组件,接着生成 bootloader、分区表和应用程序二进制文件。接着这些二进制文件将被烧录至 ESP32 开发板。 运行以上命令可以编译应用程序和所有 ESP-IDF 组件,接着生成 bootloader、分区表和应用程序二进制文件。接着这些二进制文件将被烧录至 ESP32 开发板。
如果一切顺利,您可在烧录完成后看到类似下方的打印信息(代表加载进程)。接着,开发板将会复位,应用程序 "hello_world" 开始启动。
.. highlight:: none 烧录过程中可能遇到的问题
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: 如果在运行给定命令时出现如“连接失败”这样的错误,原因之一则可能是运行 ``esptool.py`` 出现错误。``esptool.py`` 是构建系统调用的程序,用于重置芯片、与 ROM 引导加载器交互以及烧录固件的工具。解决该问题的一个简单的方法就是按照以下步骤进行手动复位。如果问题仍未解决,请参考 `Troubleshooting <https://github.com/espressif/esptool#bootloader-wont-respond>`_ 获取更多信息。
esptool.py v2.0-beta2 ``esptool.py`` 通过使 USB 转串口转接器芯片(如 FTDI 或 CP210x的 DTR 和 RTS 控制线生效来自动复位 {IDF_TARGET_NAME}(请参考 :doc:`establish-serial-connection` 获取更多详细信息)。DTR 和 RTS 控制线又连接到 {IDF_TARGET_NAME} 的 ``GPIO0````CHIP_PU`` (EN) 管脚上,因此 DTR 和 RTS 的电压电平变化会使 {IDF_TARGET_NAME} 进入固件下载模式。相关示例可查看 ESP32 DevKitC 开发板的 `原理图 <https://dl.espressif.com/dl/schematics/esp32_devkitc_v4-sch-20180607a.pdf>`_
一般来说,使用官方的 esp-idf 开发板不会出现问题。但是,``esptool.py`` 在以下情况下不能自动重置硬件。
- 您的硬件没有连接到 ``GPIO0````CIHP_PU`` 的 DTR 和 RTS 控制线
- DTR 和 RTS 控制线的配置方式不同
- 根本没有这样的串行控制线路
根据您硬件的种类,也可以将您 {IDF_TARGET_NAME} 开发板手动设置成固件下载模式(复位)。
- 对于 Espressif 的开发板,您可以参考对应开发板的入门指南或用户指南。例如,可以通过按住 **Boot** 按钮 (``GPIO0``) 再按住 **EN** 按钮(``CHIP_PU``) 来手动复位 esp-idf 开发板。
- 对于其他类型的硬件,可以尝试将 ``GPIO0`` 拉低。
常规操作
~~~~~~~~~~~~~~~~
如果一切顺利,您可在烧录完成后看到类似下方的打印信息。接着,开发板将会复位,应用程序 "hello_world" 开始启动。
.. code-block:: bash
esptool.py v3.0-dev
Flashing binaries to serial port /dev/ttyUSB0 (app at offset 0x10000)... Flashing binaries to serial port /dev/ttyUSB0 (app at offset 0x10000)...
esptool.py v2.0-beta2 esptool.py v3.0-dev
Connecting........___ Serial port /dev/cu.SLAB_USBtoUART
Connecting........____
Chip is ESP32D0WDQ6 (revision 1)
Features: WiFi, BT, Dual Core, Coding Scheme None
Crystal is 40MHz
MAC: 30:ae:a4:15:21:b4
Uploading stub... Uploading stub...
Running stub... Running stub...
Stub running... Stub running...
Changing baud rate to 921600
Changed.
Attaching SPI flash...
Configuring flash size... Configuring flash size...
Auto-detected Flash size: 4MB Auto-detected Flash size: 4MB
Flash params set to 0x0220 Flash params set to 0x0220
Compressed 11616 bytes to 6695... Compressed 26704 bytes to 15930...
Wrote 11616 bytes (6695 compressed) at 0x00001000 in 0.1 seconds (effective 920.5 kbit/s)... Wrote 26704 bytes (15930 compressed) at 0x00001000 in 1.4 seconds (effective 151.9 kbit/s)...
Hash of data verified. Hash of data verified.
Compressed 408096 bytes to 171625... Compressed 147984 bytes to 77738...
Wrote 408096 bytes (171625 compressed) at 0x00010000 in 3.9 seconds (effective 847.3 kbit/s)... Wrote 147984 bytes (77738 compressed) at 0x00010000 in 6.9 seconds (effective 172.7 kbit/s)...
Hash of data verified. Hash of data verified.
Compressed 3072 bytes to 82... Compressed 3072 bytes to 103...
Wrote 3072 bytes (82 compressed) at 0x00008000 in 0.0 seconds (effective 8297.4 kbit/s)... Wrote 3072 bytes (103 compressed) at 0x00008000 in 0.0 seconds (effective 1607.9 kbit/s)...
Hash of data verified. Hash of data verified.
Leaving... Leaving...
Hard resetting... Hard resetting via RTS pin...
如果您希望使用 Eclipse IDE而非 ``make`` 编译系统,请参考 :doc:`Eclipse guide <eclipse-setup>` 如果您希望使用 Eclipse IDE而非 ``make`` 编译系统,请参考 :doc:`Eclipse guide <eclipse-setup>`
@ -342,12 +369,12 @@ Windows 操作系统
此时,您就可以在启动日志和诊断日志之后,看到打印的 “Hello world!” 了。 此时,您就可以在启动日志和诊断日志之后,看到打印的 “Hello world!” 了。
.. code-block:: none .. code-block:: bash
... ...
Hello world! Hello world!
This is esp32 chip with 2 CPU cores, WiFi/BT/BLE, silicon revision 1, 4MB external flash
Restarting in 10 seconds... Restarting in 10 seconds...
I (211) cpu_start: Starting scheduler on APP CPU.
Restarting in 9 seconds... Restarting in 9 seconds...
Restarting in 8 seconds... Restarting in 8 seconds...
Restarting in 7 seconds... Restarting in 7 seconds...
@ -400,11 +427,13 @@ Windows 操作系统
* - ``MONITORBAUD`` * - ``MONITORBAUD``
- 覆盖监控时使用的串口速率。例:``make monitor MONITORBAUD=9600`` - 覆盖监控时使用的串口速率。例:``make monitor MONITORBAUD=9600``
.. note:: .. note::
您可导出环境变量(例:``export ESPPORT=/dev/ttyUSB1``)。在同一会话窗口中,如果未被同步覆盖,所有 ``make`` 命令均会使用导出的环境变量值。 您可导出环境变量(例:``export ESPPORT=/dev/ttyUSB1``)。在同一会话窗口中,如果未被同步覆盖,所有 ``make`` 命令均会使用导出的环境变量值。
更新 ESP-IDF 更新 ESP-IDF
============= =============

View File

@ -2,11 +2,11 @@
快速入门 快速入门
*********** ***********
{IDF_TARGET_CORE_NUM:default="2", esp32="2", esp32s2="1"} {IDF_TARGET_CORE_NUM:default="2", esp32="2", esp32s2="1", esp32c3="1"}
{IDF_TARGET_FEATURES:default="WiFi/BT/BLE, silicon revision 1, 2MB external flash", esp32="WiFi/BT/BLE, silicon revision 1, 2MB external flash", esp32s2="WiFi, silicon revision 0, 2MB external flash"} {IDF_TARGET_FEATURES:default="WiFi/BT/BLE, silicon revision 1, 2MB external flash", esp32="WiFi/BT/BLE, silicon revision 1, 2MB external flash", esp32s2="WiFi, silicon revision 0, 2MB external flash", esp32c3="WiFi/BLE, silicon revision 0, 2MB external flash"}
{IDF_TARGET_HEAP_SIZE:default="298968", esp32="298968", esp32s2="253900"} {IDF_TARGET_HEAP_SIZE:default="298968", esp32="298968", esp32s2="253900", esp32c3="337332"}
:link_to_translation:`en:[English]` :link_to_translation:`en:[English]`
@ -25,7 +25,7 @@
* 2.4 GHz Wi-Fi * 2.4 GHz Wi-Fi
* 蓝牙 * 蓝牙
* 高性能双核 * 高性能 Xtensa® 32 位 LX6 双核处理器
* 超低功耗协处理器 * 超低功耗协处理器
* 多种外设 * 多种外设
@ -34,12 +34,22 @@
ESP32-S2 SoC 芯片支持以下功能: ESP32-S2 SoC 芯片支持以下功能:
* 2.4 GHz Wi-Fi * 2.4 GHz Wi-Fi
* 高性能单核 * 高性能 Xtensa® 32 位 LX7 单核处理器
* 运行 RISC-V 或 FSM 内核的超低功耗协处理器 * 运行 RISC-V 或 FSM 内核的超低功耗协处理器
* 多种外设 * 多种外设
* 内置安全硬件 * 内置安全硬件
* USB OTG 接口 * USB OTG 接口
.. only:: esp32c3
ESP32-C3 SoC 芯片支持以下功能:
* 2.4 GHz Wi-Fi
* 低能耗蓝牙
* 高性能 32 位 RISC-V 单核处理器
* 多种外设
* 内置安全硬件
{IDF_TARGET_NAME} 采用 40 nm 工艺制成,具有最佳的功耗性能、射频性能、稳定性、通用性和可靠性,适用于各种应用场景和不同功耗需求。 {IDF_TARGET_NAME} 采用 40 nm 工艺制成,具有最佳的功耗性能、射频性能、稳定性、通用性和可靠性,适用于各种应用场景和不同功耗需求。
乐鑫为用户提供完整的软、硬件资源,进行 {IDF_TARGET_NAME} 硬件设备的开发。其中,乐鑫的软件开发环境 ESP-IDF 旨在协助用户快速开发物联网 (IoT) 应用,可满足用户对 Wi-Fi、蓝牙、低功耗等方面的要求。 乐鑫为用户提供完整的软、硬件资源,进行 {IDF_TARGET_NAME} 硬件设备的开发。其中,乐鑫的软件开发环境 ESP-IDF 旨在协助用户快速开发物联网 (IoT) 应用,可满足用户对 Wi-Fi、蓝牙、低功耗等方面的要求。
@ -102,6 +112,12 @@
ESP32-S2-DevKitM-1(U) <../hw-reference/esp32s2/user-guide-devkitm-1-v1> ESP32-S2-DevKitM-1(U) <../hw-reference/esp32s2/user-guide-devkitm-1-v1>
ESP32-S2-Kaluga-Kit <../hw-reference/esp32s2/user-guide-esp32-s2-kaluga-1-kit> ESP32-S2-Kaluga-Kit <../hw-reference/esp32s2/user-guide-esp32-s2-kaluga-1-kit>
.. only:: esp32c3
.. note::
有关 ESP32-C3 的硬件指南尚未发布。
.. _get-started-step-by-step: .. _get-started-step-by-step:
详细安装步骤 详细安装步骤
@ -167,7 +183,6 @@
.. _get-started-get-esp-idf: .. _get-started-get-esp-idf:
第二步:获取 ESP-IDF 第二步:获取 ESP-IDF
================================= =================================
@ -229,7 +244,6 @@ Linux 和 macOS 操作系统
cd ~/esp/esp-idf cd ~/esp/esp-idf
./install.sh ./install.sh
下载工具备选方案 下载工具备选方案
~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~
@ -259,7 +273,6 @@ Linux 和 macOS 操作系统
export IDF_GITHUB_ASSETS="dl.espressif.com/github_assets" export IDF_GITHUB_ASSETS="dl.espressif.com/github_assets"
./install.sh ./install.sh
自定义工具安装路径 自定义工具安装路径
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@ -269,6 +282,7 @@ Linux 和 macOS 操作系统
.. _get-started-set-up-env: .. _get-started-set-up-env:
第四步:设置环境变量 第四步:设置环境变量
======================================= =======================================
@ -355,6 +369,8 @@ ESP-IDF 的 :idf:`examples` 目录下有一系列示例工程,都可以按照
ESP-IDF 编译系统不支持带有空格的路径。 ESP-IDF 编译系统不支持带有空格的路径。
.. _get-started-connect: .. _get-started-connect:
第六步:连接设备 第六步:连接设备
@ -409,6 +425,8 @@ Windows 操作系统
:alt: 工程配置 — 主窗口 :alt: 工程配置 — 主窗口
:figclass: align-center :figclass: align-center
工程配置 — 主窗口
您可以通过此菜单设置项目的具体变量,包括 Wi-Fi 网络名称、密码和处理器速度等. ``hello_world`` 示例项目会以默认配置运行,因此可以跳过使用 ``menuconfig`` 进行项目配置这一步骤。 您可以通过此菜单设置项目的具体变量,包括 Wi-Fi 网络名称、密码和处理器速度等. ``hello_world`` 示例项目会以默认配置运行,因此可以跳过使用 ``menuconfig`` 进行项目配置这一步骤。
.. only:: esp32 .. only:: esp32
@ -423,10 +441,13 @@ Windows 操作系统
.. _get-started-build: .. _get-started-build:
第八步:编译工程 第八步:编译工程
========================= =========================
请使用以下命令,编译烧录工程::: 请使用以下命令,编译烧录工程:
.. code-block:: batch
idf.py build idf.py build
@ -479,21 +500,22 @@ Windows 操作系统
烧录过程中可能遇到的问题 烧录过程中可能遇到的问题
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
如果在运行给定命令时出现如“连接失败”这样的错误,原因之一则可能是运行 ``esptool.py`` 出现错误。``esptool.py`` 是编译系统调用的程序,用于重置芯片、与 ROM 引导加载器交互以及烧录固件的工具。解决该问题的一个简单的方法就是按照以下步骤进行手动复位。如果问题仍未解决,请参考 `Troubleshooting <https://github.com/espressif/esptool#bootloader-wont-respond>`_ 获取更多信息。 {IDF_TARGET_STRAP_GPIO:default="GPIO0", esp32="GPIO0", esp32s2="GPIO0", esp32c3="GPIO9"}
如果在运行给定命令时出现如“连接失败”这样的错误,原因之一则可能是运行 ``esptool.py`` 出现错误。``esptool.py`` 是构建系统调用的程序,用于重置芯片、与 ROM 引导加载器交互以及烧录固件的工具。解决该问题的一个简单的方法就是按照以下步骤进行手动复位。如果问题仍未解决,请参考 `Troubleshooting <https://github.com/espressif/esptool#bootloader-wont-respond>`_ 获取更多信息。
``esptool.py`` 通过使 USB 转串口转接器芯片(如 FTDI 或 CP210x的 DTR 和 RTS 控制线生效来自动复位 {IDF_TARGET_NAME}(请参考 :doc:`establish-serial-connection` 获取更多详细信息)。DTR 和 RTS 控制线又连接到 {IDF_TARGET_NAME} 的 ``GPIO0````CHIP_PU`` (EN) 管脚上,因此 DTR 和 RTS 的电压平变化会使 {IDF_TARGET_NAME} 进入固件下载模式。相关示例可查看 ESP32 DevKitC 开发板的 `原理图 <https://dl.espressif.com/dl/schematics/esp32_devkitc_v4-sch-20180607a.pdf>`_ ``esptool.py`` 通过使 USB 转串口转接器芯片(如 FTDI 或 CP210x的 DTR 和 RTS 控制线生效来自动复位 {IDF_TARGET_NAME}(请参考 :doc:`establish-serial-connection` 获取更多详细信息)。DTR 和 RTS 控制线又连接到 {IDF_TARGET_NAME} 的 ``{IDF_TARGET_STRAP_GPIO}````CHIP_PU`` (EN) 管脚上,因此 DTR 和 RTS 的电压平变化会使 {IDF_TARGET_NAME} 进入固件下载模式。相关示例可查看 ESP32 DevKitC 开发板的 `原理图 <https://dl.espressif.com/dl/schematics/esp32_devkitc_v4-sch-20180607a.pdf>`_
一般来说,使用官方的 esp-idf 开发板不会出现问题。但是,``esptool.py`` 在以下情况下不能自动重置硬件。 一般来说,使用官方的 esp-idf 开发板不会出现问题。但是,``esptool.py`` 在以下情况下不能自动重置硬件。
- 您的硬件没有连接到 ``GPIO0````CIHP_PU`` 的 DTR 和 RTS 控制线。 - 您的硬件没有连接到 ``{IDF_TARGET_STRAP_GPIO}````CIHP_PU`` 的 DTR 和 RTS 控制线。
- DTR 和 RTS 控制线的配置方式不同 - DTR 和 RTS 控制线的配置方式不同
- 根本没有这样的串行控制线路 - 根本没有这样的串行控制线路
根据您硬件的种类,也可以将您 {IDF_TARGET_NAME} 开发板手动设置成固件下载模式(复位)。 根据您硬件的种类,也可以将您 {IDF_TARGET_NAME} 开发板手动设置成固件下载模式(复位)。
- 对于 Espressif 的开发板,您可以参考对应开发板的入门指南或用户指南。例如,可以通过按住 **Boot** 按钮 (``GPIO0``) 再按住 **EN** 按钮(``CHIP_PU``) 来手动复位 esp-idf 开发板。
- 对于其他类型的硬件,可以尝试将 ``GPIO0`` 拉低。
- 对于 Espressif 的开发板,您可以参考对应开发板的入门指南或用户指南。例如,可以通过按住 **Boot** 按钮 (``{IDF_TARGET_STRAP_GPIO}``) 再按住 **EN** 按钮(``CHIP_PU``) 来手动复位 esp-idf 开发板。
- 对于其他类型的硬件,可以尝试将 ``{IDF_TARGET_STRAP_GPIO}`` 拉低。
常规操作 常规操作
@ -581,6 +603,47 @@ Windows 操作系统
Hard resetting via RTS pin... Hard resetting via RTS pin...
Done Done
.. only:: esp32c3
.. code-block:: none
...
esptool.py --chip esp32c3 -p /dev/ttyUSB0 -b 460800 --before=default_reset --after=hard_reset write_flash --flash_mode dio --flash_freq 80m --flash_size 2MB 0x8000 partition_table/partition-table.bin 0x0 bootloader/bootloader.bin 0x10000 hello-world.bin
esptool.py v3.0
Serial port /dev/ttyUSB0
Connecting....
Chip is ESP32-C3
Features: Wi-Fi
Crystal is 40MHz
MAC: 7c:df:a1:40:02:a4
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 460800
Changed.
Configuring flash size...
Compressed 3072 bytes to 103...
Writing at 0x00008000... (100 %)
Wrote 3072 bytes (103 compressed) at 0x00008000 in 0.0 seconds (effective 4238.1 kbit/s)...
Hash of data verified.
Compressed 18960 bytes to 11311...
Writing at 0x00000000... (100 %)
Wrote 18960 bytes (11311 compressed) at 0x00000000 in 0.3 seconds (effective 584.9 kbit/s)...
Hash of data verified.
Compressed 145520 bytes to 71984...
Writing at 0x00010000... (20 %)
Writing at 0x00014000... (40 %)
Writing at 0x00018000... (60 %)
Writing at 0x0001c000... (80 %)
Writing at 0x00020000... (100 %)
Wrote 145520 bytes (71984 compressed) at 0x00010000 in 2.3 seconds (effective 504.4 kbit/s)...
Hash of data verified.
Leaving...
Hard resetting via RTS pin...
Done
如果一切顺利,烧录完成后,开发板将会复位,应用程序 "hello_world" 开始运行。 如果一切顺利,烧录完成后,开发板将会复位,应用程序 "hello_world" 开始运行。
如果您希望使用 Eclipse 或是 VS Code IDE而非 ``idf.py``,请参考 :doc:`Eclipse 指南 <eclipse-setup>`,以及 :doc:`VS Code 指南 <vscode-setup>` 如果您希望使用 Eclipse 或是 VS Code IDE而非 ``idf.py``,请参考 :doc:`Eclipse 指南 <eclipse-setup>`,以及 :doc:`VS Code 指南 <vscode-setup>`

View File

@ -28,7 +28,6 @@
sudo pacman -Sy --needed gcc git make ncurses flex bison gperf python-pyserial python-cryptography python-future python-pyparsing python-pyelftools cmake ninja ccache dfu-util libusb sudo pacman -Sy --needed gcc git make ncurses flex bison gperf python-pyserial python-cryptography python-future python-pyparsing python-pyelftools cmake ninja ccache dfu-util libusb
.. 注解:: .. 注解::
使用 ESP-IDF 需要 CMake 3.5 或以上版本。较早的 Linux 发行版可能需要升级自身的软件源仓库,或开启 backports 套件库,或安装 "cmake3" 软件包(不是安装 "cmake")。 使用 ESP-IDF 需要 CMake 3.5 或以上版本。较早的 Linux 发行版可能需要升级自身的软件源仓库,或开启 backports 套件库,或安装 "cmake3" 软件包(不是安装 "cmake")。
从源代码编译工具链 从源代码编译工具链
@ -73,7 +72,6 @@
./ct-ng build ./ct-ng build
chmod -R u+w builds/{IDF_TARGET_TOOLCHAIN_PREFIX} chmod -R u+w builds/{IDF_TARGET_TOOLCHAIN_PREFIX}
编译得到的工具链会被保存至 ``~/esp/crosstool-NG/builds/{IDF_TARGET_TOOLCHAIN_PREFIX}`` 编译得到的工具链会被保存至 ``~/esp/crosstool-NG/builds/{IDF_TARGET_TOOLCHAIN_PREFIX}``
添加工具链到 PATH 环境变量 添加工具链到 PATH 环境变量
@ -85,10 +83,12 @@
export PATH="$HOME/esp/{IDF_TARGET_TOOLCHAIN_PREFIX}/bin:$PATH" export PATH="$HOME/esp/{IDF_TARGET_TOOLCHAIN_PREFIX}/bin:$PATH"
.. 注解:: .. 注解::
如果您已将 ``/bin/bash`` 设置为登录 shell且同时存在 ``.bash_profile````.profile`` 两个文件,则请更新 ``.bash_profile``。在 CentOS 环境下, ``alias`` 需要添加到 ``.bashrc`` 文件中。 如果您已将 ``/bin/bash`` 设置为登录 shell且同时存在 ``.bash_profile````.profile`` 两个文件,则请更新 ``.bash_profile``。在 CentOS 环境下, ``alias`` 需要添加到 ``.bashrc`` 文件中。
退出并重新登录以使 ``.profile`` 的更改生效。运行以下命令来检查 ``PATH`` 设置是否正确:: 退出并重新登录以使 ``.profile`` 的更改生效。运行以下命令来检查 ``PATH`` 设置是否正确::
printenv PATH printenv PATH
@ -100,7 +100,6 @@
注意这里的 ``/home/user-name`` 应该替换成您安装的主路径。 注意这里的 ``/home/user-name`` 应该替换成您安装的主路径。
停用 Python 2 停用 Python 2
==================== ====================

View File

@ -2,7 +2,7 @@ ESP-IDF 编程指南
========================= =========================
:link_to_translation:`en:[English]` :link_to_translation:`en:[English]`
这里是乐鑫 IoT 开发框架 (`esp-idf <https://github.com/espressif/esp-idf>`_) 的文档中心。ESP-IDF 是 `ESP32 和 ESP32-S2 <https://www.espressif.com/en/products/hardware/socs>`_ 系列芯片的官方开发框架。 这里是乐鑫 IoT 开发框架 (`esp-idf <https://github.com/espressif/esp-idf>`_) 的文档中心。ESP-IDF 是 `ESP32、ESP32-S 和 ESP32-C <https://www.espressif.com/en/products/hardware/socs>`_ 系列芯片的官方开发框架。
.. only:: html .. only:: html
@ -12,8 +12,11 @@ ESP-IDF 编程指南
本文档仅包含针对 {IDF_TARGET_NAME} 芯片的 ESP-IDF 使用。 本文档仅包含针对 {IDF_TARGET_NAME} 芯片的 ESP-IDF 使用。
.. only:: esp32c3
ESP-IDF 是 `ESP32 <https://www.espressif.com/zh-hans/products/hardware/esp32/overview>`_ 芯片的官方开发框架。 .. warning::
ESP32-C3 的相关文档尚未全部更新完毕。
================== ================== ================== ================== ================== ==================
|快速入门|_ |API 参考|_ |H/W 参考|_ |快速入门|_ |API 参考|_ |H/W 参考|_
@ -25,7 +28,6 @@ ESP-IDF 是 `ESP32 <https://www.espressif.com/zh-hans/products/hardware/esp32/ov
`API 指南`_ `贡献代码`_ `相关资源`_ `API 指南`_ `贡献代码`_ `相关资源`_
================== ================== ================== ================== ================== ==================
.. |快速入门| image:: ../_static/get-started.png .. |快速入门| image:: ../_static/get-started.png
.. _快速入门: get-started/index.html .. _快速入门: get-started/index.html
@ -61,7 +63,5 @@ ESP-IDF 是 `ESP32 <https://www.espressif.com/zh-hans/products/hardware/esp32/ov
版权 <COPYRIGHT> 版权 <COPYRIGHT>
关于 <about> 关于 <about>
Languages/语言 <languages> Languages/语言 <languages>
指南下载 <https://readthedocs.com/projects/espressif-esp-idf/downloads/>
* :ref:`genindex` * :ref:`genindex`

View File

@ -17,7 +17,7 @@
* 您可以通过 GitHub 的 `Issues <https://github.com/espressif/esp-idf/issues>`_ 版块提交 bug 或功能请求。在提交新 Issue 之前,请先查看现有的 `Issues <https://github.com/espressif/esp-idf/issues>`_ * 您可以通过 GitHub 的 `Issues <https://github.com/espressif/esp-idf/issues>`_ 版块提交 bug 或功能请求。在提交新 Issue 之前,请先查看现有的 `Issues <https://github.com/espressif/esp-idf/issues>`_
* 您可以在 `ESP32 IoT Solution <https://github.com/espressif/esp-iot-solution>`_ 库中找到基于 ESP-IDF 的 `解决方案 <https://github.com/espressif/esp-iot-solution#solutions>`_`应用实例 <https://github.com/espressif/esp-iot-solution#esp32-iot-example-list>`_`组件和驱动 <https://github.com/espressif/esp-iot-solution#components>`_ 等内容。 * 您可以在 `ESP IoT Solution <https://github.com/espressif/esp-iot-solution>`_ 库中找到基于 ESP-IDF 的 `解决方案 <https://github.com/espressif/esp-iot-solution#solutions>`_`应用实例 <https://github.com/espressif/esp-iot-solution#esp32-iot-example-list>`_`组件和驱动 <https://github.com/espressif/esp-iot-solution#components>`_ 等内容。多数文档均提供中英文版本。
* 通过 Arduino 平台开发应用,请参考 `ESP32 Wi-Fi 芯片的 Arduino 内核 <https://github.com/espressif/arduino-esp32#readme>`_ * 通过 Arduino 平台开发应用,请参考 `ESP32 Wi-Fi 芯片的 Arduino 内核 <https://github.com/espressif/arduino-esp32#readme>`_
@ -25,6 +25,6 @@
* 如果您有兴趣参与到 ESP-IDF 的开发, 请查阅 :doc:`contribute/index` * 如果您有兴趣参与到 ESP-IDF 的开发, 请查阅 :doc:`contribute/index`
* 关于 ESP32 的其它信息,请查看官网 `文档 <https://espressif.com/zh-hans/support/download/documents>`_ 版块。 * 关于 {IDF_TARGET_NAME} 的其它信息,请查看官网 `文档 <https://espressif.com/zh-hans/support/download/documents>`_ 版块。
* 关于本文档的 PDF 和 HTML 格式下载(最新版本和早期版本),请点击 `下载 <https://readthedocs.com/projects/espressif-esp-idf/downloads/>`_ * 关于本文档的 PDF 和 HTML 格式下载(最新版本和早期版本),请点击 `下载 <https://readthedocs.com/projects/espressif-esp-idf/downloads/>`_