Espressif 入门——-32SE ESP32 WROOM - 免费 RTOS
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Espressif 入门——-32SE ESP32 WROOM

重要

此参考集成托管在 Amazon-Free RTOS 存储库中,该存储库已弃用。当您创建新项目时,我们建议从此处开始。如果您已经有一个基于现已弃用的 Amazon-Free RTOS 存储库的免费RTOS项目,请参阅。亚马逊免费版 RTOS Github 存储库迁移指南

注意
  • 要探索如何将免费RTOS模块化库和演示集成到您自己的 Espressif IDF 项目中,请参阅我们精选的-C3 平台参考集成。ESP32

  • 目前,ESP32WROOM-32SE 的空闲RTOS端口不支持对称多处理 () 功能。SMP

本教程向您展示如何开始使用 Espressif--32SE ESP32。WROOM要在合作伙伴设备目录中向我们的合作伙伴购买一台,请参阅 ESP32WROOM-32SE。 Amazon

概述

该教程将指导您完成以下步骤:

  1. 将主板连接到主机。

  2. 在您的主机上安装软件,以开发和调试微控制器主板的嵌入式应用程序。

  3. 将免费RTOS演示应用程序交叉编译成二进制映像。

  4. 将应用程序二进制映像加载到您的主板中,然后运行该应用程序。

  5. 使用串行连接监控和调试正在运行的应用程序。

先决条件

在开始使用乐鑫看板RTOS上的免费版之前,您必须设置 Amazon 账户和权限。

注册获取 Amazon Web Services 账户

如果您没有 Amazon Web Services 账户,请完成以下步骤来创建一个。

要注册 Amazon Web Services 账户
  1. 打开https://portal.aws.amazon.com/billing/注册。

  2. 按照屏幕上的说明进行操作。

    在注册时,将接到一通电话,要求使用电话键盘输入一个验证码。

    当您注册时 Amazon Web Services 账户,就会创建Amazon Web Services 账户根用户一个。根用户有权访问该账户中的所有 Amazon Web Services 服务 和资源。作为安全最佳实践,请为用户分配管理访问权限,并且只使用根用户来执行需要根用户访问权限的任务

Amazon 注册过程完成后会向您发送一封确认电子邮件。您可以随时前往 https://aws.amazon.com/并选择 “我的账户”,查看当前账户活动并管理您的账户

保护IAM用户

注册后 Amazon Web Services 账户,通过开启多重身份验证 (MFA) 来保护您的管理用户。有关说明,请参阅《用户指南》中的为IAM用户启用虚拟MFA设备(控制台)。IAM

要允许其他用户访问您的 Amazon Web Services 账户 资源,请创建IAM用户。为了保护您的IAM用户,请打开MFA并仅向IAM用户提供执行任务所需的权限。

有关创建和保护IAM用户的更多信息,请参阅《IAM用户指南》中的以下主题:

要提供访问权限,请为您的用户、组或角色添加权限:

开始使用

注意

本教程中的 Linux 命令要求您使用 Bash Shell。

  1. 设置 Espressif 硬件。

    有关设置 WROOM -32SE 开发板硬件的信息,请参阅 ESP32-DevKit C V4 入门指南。ESP32

    重要

    在该指南的分步安装部分,请按照步骤进行操作,直到完成步骤 4(设置环境变量)。完成步骤 4 后,请暂停,然后按照此处的其余步骤进行操作。

  2. RTOS从这里免费下载 Amazon GitHub。(有关说明,请参阅 README.md 文件。)

  3. 设置开发环境

    要与您的主板通信,必须安装工具链。乐鑫为他们的主板IDF提供 ESP-开发软件。由于 ESP-IDF 将自己的自由RTOS内核版本集成为组件,因此 Amazon Free RTOS 包含一个自定义版本的 ESP-IDF v4.2,其中删除了自由RTOS内核。这修复了编译时重复文件的问题。要使用 Amazon Free 附带的自定义版本 ESP-IDF v4.2RTOS,请按照以下主机操作系统的说明进行操作。

    Windows

    1. 下载 ESP-适用于 Windows IDF 的通用在线安装程序

    2. 运行通用在线安装程序

    3. 当你进入 “下载或使用 ESP-” 步骤时IDF,选择 “使用现有 ESP-IDF 目录”,然后将 “选择现有 ESP-IDF 目录” 设置为freertos/vendors/espressif/esp-idf

    4. 完成安装。

    macOS

    1. 按照 macOS 标准设置工具链先决条件 (ESP-IDF v4.2) 中的说明进行操作。

      重要

      当您到达 “后续步骤” 下的 “获IDF取 ESP-” 说明时,请停下来,然后返回本页上的说明。

    2. 打开一个命令行窗口。

    3. 导航到免费RTOS下载目录,然后运行以下脚本下载并安装适用于您平台的 espressif 工具链。

      vendors/espressif/esp-idf/install.sh
    4. 使用以下命令将 ESP-IDF 工具链工具添加到终端的路径中。

      source vendors/espressif/esp-idf/export.sh

    Linux

    1. 按照适用于 Linux 的标准设置工具链先决条件 (ESP-IDF v4.2) 中的说明进行操作。

      重要

      当您到达 “后续步骤” 下的 “获IDF取 ESP-” 说明时,请停下来,然后返回本页上的说明。

    2. 打开一个命令行窗口。

    3. 导航到免费RTOS下载目录,然后运行以下脚本下载并安装适用于您平台的 Espressif 工具链。

      vendors/espressif/esp-idf/install.sh
    4. 使用以下命令将 ESP-IDF 工具链工具添加到终端的路径中。

      source vendors/espressif/esp-idf/export.sh
  4. 建立串行连接。

    1. 要在主机和 ESP32-WROOM 32SE 之间建立串行连接,请安装 CP21 0x USB 到 UART Bridge 驱动程序。VCP您可以从 Silicon Labs 下载这些驱动程序。

    2. 按照步骤与建立串行连接ESP32

    3. 建立串行连接后,记下主板连接的串行端口。您需要它来刷写演示。

配置免费RTOS演示应用程序

在本教程中,免费RTOS配置文件位于freertos/vendors/espressif/boards/board-name/aws_demos/config_files/FreeRTOSConfig.h。(例如,如果选择 AFR_BOARD espressif.esp32_devkitc,则配置文件位于以下文件中:freertos/vendors/espressif/boards/esp32/aws_demos/config_files/FreeRTOSConfig.h。)

重要

ATECC608A 设备具有一次性初始化,该初始化会在首次运行项目时(在调用期间C_InitToken)锁定在设备上。但是,免费RTOS演示项目和测试项目具有不同的配置。如果设备在演示项目配置期间被锁定,则并非测试项目中的所有测试都会成功。

  1. 按照中的步骤配置免费RTOS演示项目配置免费RTOS演示。进入最后一步后,要格式化 Amazon IoT 凭据,请停止并执行以下步骤。

  2. Microchip 提供了多种脚本工具来帮助设置 ATECC6 08A 部件。导航到 freertos/vendors/microchip/example_trust_chain_tool 目录并打开 README.md 文件。

  3. 请按照 README.md 文件中的说明预置您的设备。相应步骤包括:

    1. 创建并注册证书颁发机构 Amazon。

    2. 在 ATECC6 08A 上生成密钥并导出公钥和设备序列号。

    3. 为设备生成证书并向注册该证书 Amazon。

  4. 按照 开发人员模式密钥预置 的说明,将 CA 证书和设备证书加载到设备上。

监控 Amazon 云端MQTT消息

在运行免费RTOS演示项目之前,您可以在 Amazon IoT 控制台中设置MQTT客户端,以监控您的设备发送到 Amazon 云端的消息。

向 Amazon IoT MQTT客户订阅该MQTT主题
  1. 登录 Amazon IoT 控制台

  2. 在导航窗格中,选择测试,然后选择MQTT测试客户端

  3. 订阅主题中,输入 your-thing-name/example/topic,然后选择订阅主题

使用 idf.py 脚本构建、刷新和运行免费RTOS演示项目

您可以使用 Espressif 的IDF实用程序 (idf.py) 生成构建文件、生成应用程序二进制文件,并将二进制文件刷新到您的设备上。

注意

某些设置可能需要您使用在 idf.py 中使用端口选项“-p port-name”来指定正确的端口,如以下示例所示。

idf.py -p /dev/cu.usbserial-00101301B flash
RTOS在 Windows、Linux 和 macOS 上免费构建和刷新 (ESP-IDF v4.2)
  1. 导航到免费RTOS下载目录的根目录。

  2. 在命令行窗口中,输入以下命令将 ESP-IDF 工具添加到终端中PATH:

    Windows(“命令”应用程序)
    vendors\espressif\esp-idf\export.bat
    Windows (” ESP-IDF 4.x CMD "应用程序)

    (打开应用程序时就已经完成此操作。)

    Linux / macOS
    source vendors/espressif/esp-idf/export.sh
  3. build 目录中配置 cmake 并使用以下命令构建固件映像。

    idf.py -DVENDOR=espressif -DBOARD=esp32_ecc608a_devkitc -DCOMPILER=xtensa-esp32 build

    您应该会看到以下示例的输出。

    Running cmake in directory /path/to/hello_world/build Executing "cmake -G Ninja --warn-uninitialized /path/to/hello_world"... Warn about uninitialized values. -- Found Git: /usr/bin/git (found version "2.17.0") -- Building empty aws_iot component due to configuration -- Component names: ... -- Component paths: ... ... (more lines of build system output) [527/527] Generating hello-world.bin esptool.py v2.3.1 Project build complete. To flash, run this command: ../../../components/esptool_py/esptool/esptool.py -p (PORT) -b 921600 write_flash --flash_mode dio --flash_size detect --flash_freq 40m 0x10000 build/hello-world.bin build 0x1000 build/bootloader/bootloader.bin 0x8000 build/partition_table/partition-table.bin or run 'idf.py -p PORT flash'

    如果没有错误,构建会生成固件二进制 .bin 文件。

  4. 使用以下命令擦除开发主板的闪存。

    idf.py erase_flash
  5. 使用 idf.py 脚本将应用程序二进制文件刷写到主板。

    idf.py flash
  6. 使用以下命令监控主板串行端口的输出。

    idf.py monitor
    注意
    • 您可以合并这些命令,如以下示例所示。

      idf.py erase_flash flash monitor
    • 对于某些主机设置,您必须在刷写主板时指定端口,如以下示例所示。

      idf.py erase_flash flash monitor -p /dev/ttyUSB1

使用 Build 和 Flas RTOS h 免费 CMake

除了使用提供的idf.py脚本IDFSDK来生成和运行代码外,您还可以使用生成项目CMake。目前,它支持 Unix Makefile 和 Ninja 构建系统。

构建和刷写项目
  1. 在命令行窗口中,导航到免费RTOS下载目录的根目录。

  2. 运行以下脚本,将 ESP-IDF 工具添加到你的 shell 中PATH。

    Windows
    vendors\espressif\esp-idf\export.bat
    Linux / macOS
    source vendors/espressif/esp-idf/export.sh
  3. 使用以下命令来生成构建文件。

    对于 Unix Makefiles
    cmake -DVENDOR=espressif -DBOARD=esp32_plus_ecc608a_devkitc -DCOMPILER=xtensa-esp32 -S . -B ./YOUR_BUILD_DIRECTORY -DAFR_ENABLE_ALL_MODULES=1 -DAFR_ENABLE_TESTS=0
    对于 Ninja
    cmake -DVENDOR=espressif -DBOARD=esp32_plus_ecc608a_devkitc -DCOMPILER=xtensa-esp32 -S . -B ./YOUR_BUILD_DIRECTORY -DAFR_ENABLE_ALL_MODULES=1 -DAFR_ENABLE_TESTS=0 -GNinja
  4. 擦除闪存,然后刷写主板。

    对于 Unix Makefiles
    make -C ./YOUR_BUILD_DIRECTORY erase_flash
    make -C ./YOUR_BUILD_DIRECTORY flash
    对于 Ninja
    ninja -C ./YOUR_BUILD_DIRECTORY erase_flash
    ninja -C ./YOUR_BUILD_DIRECTORY flash

其他信息

有关使用 Espressif ESP32 主板和对其进行故障排除的更多信息,请参阅以下主题: