| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> ESP32-S3 从零搭建 micropython 开发环境,固件编译,烧录 -> 正文阅读 |
|
[嵌入式]ESP32-S3 从零搭建 micropython 开发环境,固件编译,烧录 |
?粉丝福利:? ? ? ? 疫情影响小区隔离,在家简单做了ESP32-S3的核心板,搜索ESP32-S3-Node,后期根据此核心板开发一些教程,配套LCD屏,TF卡,摄像头和语音模块。 链接:ESP32-S3-Node核心板 乐鑫模组 开源开发板 Wifi/蓝牙物联网-淘宝网 (taobao.com) 简述????????乐鑫科技官方推出了ESP32-S3-模组,发现 ESP32-S3 的综合性能较比前两代有着非常明显的提升,wifi与蓝牙功能,更充足的外设扩展能力,可以看出其在未来物联网开发应用中将占有更大的地位与应用场景。 ????????micropython实现了大部分python 3 特性和语法,易学易上手,验证程序效果无需编译直接下载进芯片运行。有python基础的自然知道好用,没python基础的,上手难度也绝对远低于其他编程语言,在开源社区有多年积累的丰富资源,代码易读性高,理解快,就如同python一样拥有极强的生命力与应用价值。 micropython团队在GitHub上的代码维护是很积极的,芯片支持,功能更新,BUG修复,所以掌握自行编译最新的micropython固件是很有必要的。 在此总结一番 micropython 开发环境的搭建,ESP32-S3 的固件编译,烧录的一整套流程,以便大家上手应用。 LinuxLinux系统目前对于 micropython 来说是必须的。 如果已经有在用的Linux系统就可直接进行后续步骤,如果正在使用Windows系统则推荐一条上手Linux最便利的路径,安装VMware虚拟机+Ubuntu系统。 其他上手Linux的方法多不胜数,各种虚拟机,各色Linux发行版本百花齐放,但若说目前最低门槛我认为就是这条,仅需在搜索引擎里搜索?VMware Ubuntu?即可获取很成熟的配置经验与资源。 关于软件本体及系统镜像文件建议直接从各自的官方网站上获取,安全可靠。 esp-idf环境搭建ESP32系列芯片的开发绝大部分都是经由乐鑫科技提供的SDK软件开发工具包?esp-idf?来进行的, micropython 也需要应用此SDK。 可以直接参考乐鑫科技的?esp-idf中文快速入门指南?来搭建。 以下是简要汇总。 首先需要在home目录下创建一个文件夹。 打开一个?Terminal 终端?输入以下命令创建文件夹:
进入这个文件夹:
输入以下两个命令之中的一个,从github上克隆esp-idf 4.4到这个文件夹里。将
进入esp-idf文件夹:
输入以下命令安装 ESP-IDF 使用的各种工具,比如编译器、调试器、Python 包等,可以一次单独只为一个芯片型号配置,如?
如果遭遇网络问题,多次尝试无果后,也可以试试替换下载源到 Espressif 下载服务器:
仓库克隆和工具安装都弄好后,在需要运行 ESP-IDF 的终端窗口运行以下命令即可,例如在micropython开始编译之前就必须要使其运行起来:
运行后输入命令 在Ubuntu中为esp-idf创建快捷命令用命令来打开文件并修改对于不熟悉linux的生手来说还需要多加学习和适应,我们可以利用好 Ubuntu 比较完善的图形化操作界面,如同在windows里修改文件一般来修改linux里的文件,为esp-idf创建快捷命令。 在Ubuntu桌面打开home文件夹(一般它的名字是你的用户名),在右上角的选项栏中开启显示隐藏文件。 双击这个 在其最后一行,输入以下命令并保存文件。
以后在任何终端中输入以下命令即可运行ESP-IDF:
这比前文提到的要容易记忆很多,也可以自行替换成任何与其他命令不冲突的命令文本来使用。 micropython环境搭建可以直接参考GitHub:micropython/port/esp32中的描述来搭建,以下是中文简述,不想看英文的可以参考一下。 克隆micropython仓库到本地,我选择在 在一个终端中打开要放置micropython的文件夹:
输入以下命令克隆仓库:
进入micropython目录中:
先输入以下命令编译一下 mpy-coress ,这是为了构建MicroPython交叉编译器,以便将一些内置脚本预编译为字节码,这只需要做一次:
再打开ESP32的目录:
输入以下命令初始化子模块,这只需要做一次:
固件编译确认ESP-IDF已经运行后,在
一切顺利的话会在此目录中出现一个 如果并不顺利,需要先检查ESP-IDF是否启动,检查ESP-IDF是否是最新版,检查ESP-IDF所用相关工具是否都安装完备,极大部分问题都是由于ESP-IDF或其相关工具出问题所导致的。 选择linux系统也有考虑这部分原因,ESP-IDF在linux系统中配置起来最轻松稳定不容易产生各种疑难杂症。 确认可以正常编译后,就可以开始做ESP32-S3芯片的固件编译了。 在 第6行设置要编译的型号,此处改成 关于此 第6行 第12行 第13行 建议在第33行下面增加一行代码,这将在每次使用
第44行后面的代码比较容易直观理解,例如在终端中使用 固件烧录对于ESP32-S3芯片,目前ESP-IDF尚且不支持通过芯片的USB接口来将固件烧录进flash,暂不知道为什么擦除flash却可以,推测后期ESP-IDF的更新会支持,届时本文也将更新相应内容。 如果是使用乐鑫科技官方的FLASH下载工具?flash_download_tool?在Windows PC平台则可以直接通过ESP32-S3芯片USB接口将固件烧录进flash。 无论用什么方法,在对flash进行操作前,要保证芯片进入固件下载模式,对于ESP32-S3-DevKitC-1开发板,进入固件下载模式的按键顺序是: 按住BOOT键,按一下RESET键并松开,松开BOOT键。 其他设备或是出现的问题则需要参考ESP-IDF编程指南中关于烧录过程中可能遇到的问题的描述或者是芯片手册上的描述。 以下将简述两种烧录方法。 Ubuntu终端make命令烧录目前在Ubuntu系统中使用终端命令的方法暂且只支持通过ESP32-S3芯片的UART串口烧录固件到flash。通常需要一个 ch340 或 cp2102 芯片将UART串口转换为USB与系统连接,ESP32-S3-Node开发板自带一个,通过其UART转USB的接口与PC的USB接口连接即可。 烧录前要确认一下系统是否识别到设备,通常需要先在VMware虚拟机中做好USB连接的相关设置才行。 在不接入待烧录的设备的情况下,先在终端中输入以下命令查看当前所有设备:
接入设备,再输入此命令,正常的话可以看到多出一个USB设备,如果仅有接入这一个设备,通常就是 确认当前终端里ESP-IDF运行中,且固件编译已经完成,ESP32-S3芯片处于固件下载模式。 先用擦除命令擦除当前芯片的flash,再用烧录命令将固件烧录进flash中。
如果遇到权限问题,使用如下命令获取此USB接口的权限:
Windows FLASH下载工具烧录将 打开乐鑫科技的FLASH下载工具,选择芯片,选择烧录接口的模式,这里就可以选择USB,使用芯片自带的usb接口烧录,如果是ESP32-S3-DevKitC-1开发板就直接用USB口,而不用UART转接出的USB。 在烧录前先确认ESP32-S3芯片是否已经设置为固件下载模式,ESP32-S3芯片是否已被Windows识别,可以到设备管理器中查看对应串口名,如果没有则需要先排除一下是否自动连接到虚拟机的系统里了,如果有则要断开其与虚拟机的连接。 在芯片处于固件下载模式的条件下,修改COM接口为对应的接口,添加固件,对于ESP32-S3芯片要设置flash起始地址为 可以修改BUAD波特率加快下载速度,但对稳定性可能有影响,建议以460800为参考值进行设置。 设置好后,先点击ERASE按钮擦除flash,擦除完成后再点击START烧录固件进flash中。 简单验证固件是否有效推荐使用?PuTTY?串口调试软件,无论在Linux或是Windows中都可以下载使用,操作便捷。 在Linux系统如Ubuntu的终端里使用如下命令安装PuTTY:
在终端输入 在Windows系统中,可以在PuTTY官网下载到64位的 PuTTY设置方法如图: 需要注意前面编译的micropython固件默认将调试信息输出在芯片的USB接口而不是UART串行接口,所以此时需要将直连芯片的USB接口与PC连接。 在Linux中,此时的设备接口名称应为 Speed?一定要设置为?115200?,这是芯片设计决定的。 点击Open即可打开一个窗口,一般此时并无信息,建议用组合按键 这就是micropython的?REPL交互式解释器?。 可以直接在此处键入micropython代码,例如:
如果没有得到类似上图的信息,乱码或是无响应,则需要回头去检查编译烧录等各项设置流程是否有差错了。 2021/12/10更新: 将esp-idf 克隆链接指向4.4分支,解决当前micorpython编译时所依赖的esp-idf中的部分文件在master 5.0分支中被移除的问题。 ? |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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年11日历 | -2024/11/26 7:22:37- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |