IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> ESP32开发综述 -> 正文阅读

[嵌入式]ESP32开发综述

ESP32简介

相信大家都听说过ESP8266,这款非常火的wifi芯片;估计很多人都接触过以ESP8266为核心的无线模块,用过AT指令等

ESP32是乐鑫公司推出的另一款芯片,主要特性有:

  • 2.4 GHz Wi-Fi
  • 蓝牙
  • 高性能 Xtensa? 32 位 LX6 双核处理器
  • 超低功耗协处理器
  • 多种外设

ESP32的功能更加强大,在乐鑫官网上,可以下载到各个芯片的技术参考手册、数据手册等,我逛了下,主要有这几款类型芯片:
技术文档链接:点这里

  • S系列:S2、S3

双核处理器,旗舰产品,支持一些AI向量运算等,是未来AIOT的排头兵,完成一些边缘计算等

  • C系列:C3

单核处理器,性能也很强;支持蓝牙、WiFi等;搭载 RISC-V 32 位单核处理器的极低功耗 SoC

  • ESP32系列常规芯片

集成 2.4 GHz Wi-Fi 和蓝牙双模的单芯片方案 ,单/双核处理器(D系列为双核)
主要有ESP32-D0WD-V3、ESP32-S0WD、ESP32-U4WDH等型号
(依据单双核、RAM大小等分类,具体查看芯片的数据手册)

特别的,该系列下,pico系列是 系统级封装 (SiP) 模组
可提供完整的 Wi-Fi 和蓝牙功能 ,已集成1 个 4 MB 串行外围设备接口 (SPI) flash ;已将晶振、flash、滤波电容、RF匹配链路等所有外设器件集成在芯片封装,所以不需要外围器件即可工作
搭载 2 个低功耗 Xtensa? 32-bit LX6 微处理器, 有D4、V3两个类型(区别应该是V3是基于最新ECO V3晶圆封装的)——这里选用D4,因为D4能买到…

开发框架

1. arduino开发

和ESP8266一样,ESP32支持在Arduino上开发。
基于Arduino IDE开发,首先要搭建开发环境,参考使用Arduino开发ESP32(01):开发环境搭建

但是发现下载不了,参考离线开发板数据包进行离线下载安装

安装后在开发板管理器中选择ESP32即可

例子参考,除了点击示例,也可以去Github上找:https://github.com/espressif/arduino-esp32


比如,这里选择一个显示芯片ID的示例,编译后下载到手里的开发板中,可以得到芯片的类型、核数和ID

在这里插入图片描述

在这里插入图片描述在这里插入图片描述

2. ESP-IDF 开发

ESP-IDF (Espressif IoT Development Framework) 是乐鑫的物联网开发框架,是使用乐鑫 ESP 系列芯片进行物联网开发时,必要的基础代码库、示例程序、文档和工具的集合。目前已支持 Linux、MacOS 和 Windows 等主流开发平台。

乐鑫的软件开发环境 ESP-IDF 旨在协助用户快速开发物联网 (IoT) 应用,可满足用户对 Wi-Fi、蓝牙、低功耗等方面的要求。

众所周知,ESP32是物美价廉的双核SoC,CPU0和CPU1同时运行、共享内存。

乐鑫修改了普通的FreeRTOS,让它能够支持SMP(symmetric multiprocessing对称多处理),

所以ESP32的FreeRTOS变成了基于FreeRTOS v8.2.0的Xtensa架构移植版SMP RTOS

ESP-IDF下的开发,即基于Free RTOS框架的开发,乐鑫对原生Free RTOS进行了修改,以便对ESP32芯片更好的支持

提到操作系统下的开发,估计很多熟悉Arduino亦或者其他嵌入式裸机开发的小伙伴会感到陌生和害怕,但是个人觉得,要想充分利用ESP32系列芯片的性能,或者想要在嵌入式方向上做的深一点,操作系统是不可避免要学习和实践的


关于环境的搭建,这里我放几个参考,其实参考第一个视频就差不多了,虽然版本不太一样;
安装问题,可以再看下我的另一篇博客:VS code 配置ESP-IDF 常见问题

参考:
【IOT College】ESP-IDF 环境搭建 Windows

官方—ESP-IDF 编程指南

官方—我该看哪个环境搭建教程? – ESP 系列开发环境搭建视频导航目录

ESP8266_RTOS_SDK (IDF Style) Programming Guide

3. microPython开发 & platform开发

  • 基于microPython,可以在ESP32上使用python语言进行开发

这块我了解不多,大家如果对python比较熟悉,可以找一些资料看一看

  • platform平台呢,是VS Code上的一个插件

    基于该插件,也可以完成在Arduino、ESP-IDF上的开发;也比较方便,方便环境搭建等;大家感兴趣可以了解下;
    如果你ESP-IDF的环境搭建不好,可以试试在Platform上试试

一点感悟

不得不说,ESP32是一款非常优秀的芯片,集成了Wifi和蓝牙,并且提供了不少的外设;在STM32芯片价格水涨船高的今天,不得不说更加香了

但是,还记得当初为啥学习STM32吗?

我的话,因为学习资料多
国内的正点原子、野火等团队,出品了大量的开发板、学习教程和资料
我还记得当初那一个个日日夜夜,自己一边看着正点原子和野火的书,一边调试着例程,就这样跌跌撞撞的入了嵌入式的世界

但是,最近这段时间,也一直在做ESP8266和ESP32的项目,很多时候会感觉迷茫和不知所措
虽然官方给出了许多参考手册、编程指南,但是很多时候 还得靠自己摸索

  • 相关的参考、教程比较少,不成体系;这块第三方做的比较少吧
  • 尤其是ESP-IDF的参考,教程等,真的是少得可怜;如果是RTOS 初学者,会感到不知所措
  • 个人开发时,往往不成体系,现学现卖

不是说非得保姆级教程才能学习,只是拉低门槛罢了;
而一款芯片,除了自身过硬,要想让更多人参与,学习和开发资料是非常重要的
就拿ESP-IDF这一框架开发来说,除了官方的编程参考,我找不到其他的入门资料,只能一点点看源码和野火的RTOS教程来啃
不知道会不会有人因为这样而轻易放弃,我想更丰富的参考和教程一定会培养更多的开发者投入ESP32的学习和开发

以上,是一点吐槽,下面是自己的一点开发经验,供大家参考;

也可关注我的后续博客,我会更新一些开发记录和教程

  • 建议关注乐鑫的Github 或 Gitee仓库,然后下载下来,用VS Code搜索查看源码
  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2021-07-14 23:07:51  更:2021-07-14 23:08:56 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/6 19:11:01-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码