ESP32-S3开发环境搭建(arduino版本)

前言

不久前关注到乐鑫官方github已经更新了关于arduino IDE中开发ESP32-S3部分的分支,所以我在这篇文章中记录一下在arduino IDE下添加ESP32-S3开发板的艰难过程,闲话不多说,下面我们直接上手开发搭建。

安装方法

方法1

我们这里先提供最简单的一种方法,打开自己安装好的 arduino → 文件 → 首选项 附加开发板管理器网址中添加以下两个链接中的一个

  • Stable release link:

https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json

  • Development release link:

https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_dev_index.json

添加好之后记得点好然后确定不要直接点 × 关掉了,那样是不会保存的 保存好之后点击 工具 → 开发板 → 打开开发板管理器 在弹出的界面搜索框输入 ESP32 ,如下图所示(之前安装过旧版本的会显示更新,没安装过会显示为安装) 选择版本号为 2.0.0-alpha1 ,点击安装即可

方法2

下载相关文件

点开进入到乐鑫github,点击 master 位置的箭头可以找到名字为 ESP32-s3-support的分支,打开它,如下图所示 如果你像我下面这样没有一个列表一样的出现,那么就点击 View all branches 跳转过去再打开 ESP32-s3-support的分支 就好了 打开之后点开右上角的 Code ,点击 Download ZIP 下载过来就好了 还是无法下载的用户可以在下方留言邮箱我把下载好的发过去

编译工具链下载

下载好压缩包之后解压出来,我们注意到两个文件夹 packagetools

get下载安装编译工具

打开找到 tools 文件夹下有个 get.exe 的应用程序,双击之后就会开始往我们解压的包里面下载并安装编译工具链 接下来等待下载完毕之后会在 tools 文件夹下新增若干个文件夹,我们对比下载前后 tools 文件夹下的文件可以知道有没有成功下载并安装(因为这种下载方式没下载成功会关闭界面,下载成功了也会关闭界面)

下载安装前

下载安装后

手动下载安装

我们分析arduino安装的时候或者get下载安装的时候的安装步骤,前面两种方式也是在github上下载响应的包,并下载编译工具链解压放到相应的文件夹下

那么接下来我们手动下载并放置到相应的位置之后是不是会有一样的效果

我们在 package 这个文件夹下找到有一个 json 文件,我们打开之后可以看到一共有7个需要下载的文件会下载到 tools 里面

cpp 复制代码
          "toolsDependencies": [
            {
              "packager": "esp32",
              "name": "riscv32-esp-elf-gcc",
              "version": "gcc8_4_0-esp-2021r2"
            },
            {
              "packager": "esp32",
              "name": "xtensa-esp32-elf-gcc",
              "version": "gcc8_4_0-esp-2021r2"
            },
            {
              "packager": "esp32",
              "name": "xtensa-esp32s2-elf-gcc",
              "version": "gcc8_4_0-esp-2021r2"
            },
            {
              "packager": "esp32",
              "name": "xtensa-esp32s3-elf-gcc",
              "version": "gcc8_4_0-esp-2021r2"
            },
            {
              "packager": "esp32",
              "name": "esptool_py",
              "version": "3.2.0"
            },
            {
              "packager": "esp32",
              "name": "mkspiffs",
              "version": "0.2.3"
            },
            {
              "packager": "esp32",
              "name": "mklittlefs",
              "version": "3.0.0-gnu12-dc7f933"
            }
          ]

对应的链接在下方的 tools 中,对应 "host": "i686-mingw32" 下方的 url 为我们 windows 下面 arduino 下载的文件链接 整理的七个链接如下

  1. https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/riscv32-esp-elf-gcc8_4_0-esp-2021r2-macos.tar.gz

  2. https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch2-win32.zip

  3. https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch2-win32.zip

  4. https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch2-win64.zip

  5. https://github.com/espressif/arduino-esp32/releases/download/2.0.2/esptool-3.2-windows.zip

  6. https://github.com/earlephilhower/esp-quick-toolchain/releases/download/3.0.0-gnu12/x86_64-w64-mingw32.mklittlefs-c41e51a.200706.zip

  7. https://github.com/igrr/mkspiffs/releases/download/0.2.3/mkspiffs-0.2.3-arduino-esp32-win32.zip

把链接放到浏览器里面下载好解压出来得到下面七个文件夹,下载不了可以在下方留言邮箱,我会把所有文件打包好发送过去 复制这七个文件夹和里面的文件放到之前解压的芯片包的 tools 文件夹下即可

开发板添加

那么我们做到这一步,不管你是用前面的 get 的方式 直接下载的工具链还是 手动下载解压 放进去的,我们都将得到一个完整的 包含编译工具链的芯片包,我这边把上面所有用到的文件都打包好放好如下图所示的样式

那么接下来我们找到arduino的安装路径,安装路径下会有一个 hardware 的文件夹,打开之后在里面新建一个名称为 espressif 的文件夹 把我们下载好有工具链的包复制(这个时候名称为 arduino-esp32-esp32-s3-support )到刚新建的 espressif 文件夹下,值得注意的是这个时候不要打开arduino,避免出现问题,复制过去如下所示

最后修改 文件夹 arduino-esp32-esp32-s3-support 名称为 esp32 ,不然到时候编译的时候会报一个警告

我们打开arduino,这个时候可以看到开发板里面新增了 ESP32-S3 的开发板

选好开发板,编写一个输出 Hello World! 的程序

cpp 复制代码
void setup() {
  // put your setup code here, to run once:
  Serial.begin(115200);
}

void loop() {
  // put your main code here, to run repeatedly:
  Serial.println("Hello World!");
  delay(1000);
}

成功编译并下载运行!

总结

这篇搭建开发环境的文章本身写的细节是比较多的,写这篇文章的时候是在2022年3月,用户完全可以根据我们提供的下载好的文件直接搭建好开发环境是非常快的,但是乐鑫官方本身肯定是会有新的版本出现,或许修复了现有的许多BUG,希望用户能使用较为稳定的版本,也希望优信能陪伴大家共同学习共同进步,欢迎一键三连,感谢各位大佬!

相关推荐
smartpi_ai10 分钟前
玩具产品从按键控制升级为语音控制:语音模块与MCU串口通信实战
单片机·嵌入式硬件
黎阳之光1 小时前
视听融合新范式!黎阳之光打破视觉边界,声影协同赋能全域智慧管控
大数据·人工智能·物联网·算法·数字孪生
黎阳之光2 小时前
黎阳之光:视频孪生智慧厂网一体化解决方案|污水处理全场景智能化升级
大数据·人工智能·物联网·安全·数字孪生
BreezeJuvenile2 小时前
【STM32】时钟摘取法
stm32·单片机·嵌入式硬件
崇山峻岭之间2 小时前
单片机GPIO配置
单片机·嵌入式硬件
lllllllccccc4 小时前
FReeRtos中断管理、临界段保护和任务调度器挂起和恢复学习
单片机·嵌入式硬件
踏着七彩祥云的小丑4 小时前
嵌入式测试学习第 15 天:逻辑门基础:与或非、简单逻辑电路
单片机·嵌入式硬件
Ligocious5 小时前
stm32---2.按键触发外部中断
stm32·单片机
TDengine (老段)5 小时前
TDengine 超级表/子表/普通表 — 设计理念与内部表示
android·大数据·数据库·物联网·时序数据库·tdengine·涛思数据
rit84324995 小时前
STM32F4 USB Host 功能实现
stm32·单片机·嵌入式硬件