谷动谷力

 找回密码
 立即注册
查看: 806|回复: 0
打印 上一主题 下一主题
收起左侧

ESP-IoT-Solution 开发环境搭建、创建工程、编译和下载固件

[复制链接]
跳转到指定楼层
楼主
发表于 2023-5-9 16:22:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

ESP-IoT-Solution 开发环境搭建、创建工程、编译和下载固件



本文档旨在指导用户搭建 ESP-IoT-Solution (Espressif IoT Solution) 开发环境,通过一个简单的示例展示如何使用 ESP-IoT-Solution 搭建环境、创建工程、编译和下载固件至 ESP32/ESP32-S 系列开发板等步骤。


ESP-IoT-Solution 简介

ESP-IoT-Solution 包含物联网系统开发中常用的外设驱动和代码框架,可作为 ESP-IDF 的补充组件,方便用户实现更简单的开发,其中包含的内容如下:

  • 传感器、显示屏、音频设备、输入设备、执行机构等设备驱动;

  • 低功耗、安全加密、存储方案等代码框架或说明文档;

  • 从实际应用的角度出发,为乐鑫开源解决方案提供了入口指引。


ESP-IoT-Solution 版本

不同版本的 ESP-IoT-Solution 说明如下:

ESP-IoT-Solution 版本
对应的 ESP-IDF 版本
主要变更
支持状态
master
release/v4.4
代码结构变更,增加支持新的芯片支持
新功能开发分支
release/v1.1
v4.0.1
IDF 版本更新,删除已经移动到其它仓库的代码
有限维护
release/v1.0
v3.2.2
历史版本
停止维护

ESP-IDF 简介

ESP-IDF 是乐鑫为 ESP32/ESP32-S2 提供的物联网开发框架:

  • ESP-IDF 包含一系列库及头文件,提供了基于 ESP32/ESP32-S2 构建软件项目所需的核心组件;

  • ESP-IDF 还提供了开发和量产过程中最常用的工具及功能,例如:构建、烧录、调试和测量等。


注解

详情请查阅:ESP-IDF 编程指南


ESP32/ESP32-S 简介

您可以选择任意 ESP32/ESP32-S 系列开发板使用 ESP-IoT-Solution,或者选择 板级支持组件 中支持的开发板快速开始。

ESP32/ESP32-S 系列 SoC 支持以下功能:

  • 2.4 GHz Wi-Fi

  • 蓝牙

  • 高性能单核、双核处理器,运行频率可达 240 MHz

  • 超低功耗协处理器

  • 多种外设,包括 GPIO、I2C、I2S、SPI、UART、SDIO、RMT、LEDC PWM、Ethernet、TWAI、Touch、USB OTG 等

  • 丰富的内存资源,内部 RAM 可达 520 KB,同时支持扩展 PSRAM

  • 支持硬件加密等安全功能


ESP32/ESP32-S 系列 SoC 采用 40 nm 工艺制成,具有最佳的功耗性能、射频性能、稳定性、通用性和可靠性,适用于各种应用场景和不同功耗需求。


注解

不同系列 SoC 配置不同,详情请查阅 ESP 产品选型工具


配置开发环境

1. 安装 ESP-IDF

由于 ESP-IoT-Solution 依赖 ESP-IDF 的基础功能和编译工具,因此首先需要参考 ESP-IDF 详细安装步骤 完成 ESP-IDF 开发环境的搭建。请注意,不同版本的 ESP-IoT-Solution 依赖的 ESP-IDF 版本可能不同,请参考 ESP-IoT-Solution 版本 进行选择。


2. 获取 ESP-IoT-Solution

若选择 master 版本,可使用以下指令获取代码:

  1. git clone --recursive https://github.com/espressif/esp-iot-solution
复制代码

对于 release/v1.1 版本,可使用以下指令获取代码:

  1. git clone -b release/v1.1 --recursive https://github.com/espressif/esp-iot-solution
复制代码

对于其它版本,请将 release/v1.1 替换成目标分支名。


使用 ESP-IoT-Solution 组件

您可以参考以下几种方法使用 ESP-IoT-Solution 中的组件:

方法 1. 添加 ESP-IoT-Solution 所有组件到工程目录:可直接在工程的 CMakeLists.txt 中添加以下代码:

  1. cmake_minimum_required(VERSION 3.5)include($ENV{IOT_SOLUTION_PATH}/component.cmake)include($ENV{IDF_PATH}/tools/cmake/project.cmake)project(empty-project)
复制代码

方法 2. 添加 ESP-IoT-Solution 指定组件到工程目录: 可直接在工程的 CMakeLists.txt 中添加以下代码:
  1. set(EXTRA_COMPONENT_DIRS "${EXTRA_COMPONENT_DIRS} $ENV{IOT_SOLUTION_PATH}/components/{component_you_choose}")#请将{component_you_choose} 替换为组件名称,如果有多个组件,可重复该命令
复制代码

方法 3. 复制 ESP-IoT-Solution 指定组件到工程目录: 直接将该组件和其依赖的组件,复制粘贴至工程的 components 文件夹。
注解

ESP-IoT-Solution 推荐使用以 CMake 为基础的编译系统(IDF v4.0 及以后版本默认编译系统),如果需要使用 GNU Make 编译系统可参考 老版本 GNU Make


编译和下载

1. 设置环境变量

以上步骤安装的代码和工具尚未添加至 PATH 环境变量,无法通过终端窗口使用这些工具。添加环境变量的步骤如下:

  • 添加 ESP-IDF 环境变量:

    Windows 在 CMD 窗口运行:

    1. %userprofile%\esp\esp-idf\export.bat
    复制代码

    Linux 和 macOS 在终端运行:

    1. . $HOME/esp/esp-idf/export.sh
    复制代码

    请将以上指令中的路径,替换成实际安装路径。


  • 添加 IOT_SOLUTION_PATH 环境变量:

    Windows 在 CMD 窗口运行:

    1. set IOT_SOLUTION_PATH=C:\esp\esp-iot-solution
    复制代码

    Linux 和 macOS 在终端运行:

    1. export IOT_SOLUTION_PATH=~/esp/esp-iot-solution
    复制代码


注解

以上方法设置的环境变量,仅对当前终端有效,如果打开新终端,请重新执行以上步骤。


2. 设置编译目标

ESP-IDF 同时支持 esp32、esp32s2 等多款芯片,因此需要在编译代码之前设置的编译目标芯片(默认编译目标为 esp32),例如设置编译目标为 esp32s2:

  1. idf.py set-target esp32s2
复制代码

对于 ESP-IoT-Solution 中基于 板级支持组件 开发的 example,还可以使用 menuconfig 在 Board Options -> Choose Target Board 中选择一个目标开发板:

  1. idf.py menuconfig
复制代码

3. 编译、下载程序

使用 idf.py 工具编译、下载程序,指令为:

  1. idf.py -p PORT build flash
复制代码

请将 PORT 替换为当前使用的端口号,Windows 系统串口号一般为 COMx,Linux 系统串口号一般为 /dev/ttyUSBx,macOS 串口号一般为 /dev/cu.。


4. 串口打印 log

使用 idf.py 工具查看 log,指令为:

  1. idf.py -p PORT monitor
复制代码

请将 PORT 替换为当前使用的端口号,Windows 系统串口号一般为 COMx,Linux 系统串口号一般为 /dev/ttyUSBx,macOS 串口号一般为 /dev/cu.。


相关文档


+10
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|深圳市光明谷科技有限公司|光明谷商城|Sunshine Silicon Corpporation ( 粤ICP备14060730号|Sitemap

GMT+8, 2024-4-29 12:42 , Processed in 0.121785 second(s), 39 queries .

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表