mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
Provide CN translation for part of documents in MR11884
This commit is contained in:
parent
548fd02d10
commit
5aaa0c9ca3
@ -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、组件和工作流程的支持。
|
||||||
|
@ -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)
|
||||||
* PC(Windows、Linux 或 Mac OS)
|
* PC(Windows、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
|
||||||
=============
|
=============
|
||||||
|
|
||||||
|
@ -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>`。
|
||||||
|
@ -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
|
||||||
====================
|
====================
|
||||||
|
|
||||||
|
@ -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`
|
||||||
|
@ -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/>`_。
|
||||||
|
Loading…
x
Reference in New Issue
Block a user