首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐
2025年6月12日 星期四 8:23pm

乐鑫Esp32学习之旅② 巧用eclipes编辑器,官方教程在Windows下搭建esp32开发环境,打印 “Hello World”。

  • 23-11-14 06:41
  • 4152
  • 13233
blog.csdn.net

  • 本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途。如有不对之处,请留言,本人及时更改。

1、 爬坑学习新旅程,虚拟机搭建esp32开发环境,打印 “Hellow World”。
2、 巧用eclipes编辑器,官方教程在在Windows下搭建esp32开发环境,打印 “Hellow World”。
3、 认识基本esp32的GPIO接口,开始点亮您的第一盏 LED和中断回调实现按键功能 。
4、体会esp32的强大的定时器功能, 实现定时2s闪烁一盏LED灯。
5、接触实践esp32的pwm宽度脉冲功能, 实现呼吸效果闪烁一盏LED灯。
6、smartConfig和微信airKiss在esp32的实现,一键配网轻松快捷连接路由器。
7、利用GPIO中断做一个按键的短按和长按的回调事件,再也无须担心触发源。
8、esp32上实现本地 UDP 客户端和服务端角色,在局域网内实现通讯。
9、esp32上实现本地 TCP 客户端和服务端角色,可断线重连原路返回数据。
10、乐鑫esp32 SDK编程利用rmt驱动ws2812七彩灯,实现彩虹渐变效果。
11、入门 乐鑫esp-adf 音频框架开发,esp32造一个蓝牙耳机,实现切换歌曲,获取歌曲信息等功能。
12、开源一个微信公众号airkiss配网esp32以及局域网发现功能的工程,分享一个airkiss配网小工具。
13、esp32 内置 dns 服务器,无需外网访问域名返回指定网页。
14、esp32 sdk编程实现门户强制认证,连接esp32热点之后,自动强制弹出指定的登录界面。
15、认识本地离线语音唤醒识别框架 esp-skainet ,实现较低成本的硬件语音本地识别控制。
16、学习本地语音唤醒离线识别框架 esp-skainet ,如何修改唤醒词? 如何自定义命令词?如何做意图动作?
17、全网首发,乐鑫esp32 sdk直连京东微联·小京鱼 · IoT开放平台,实现叮咚音响语音智能控制。
18、入门京东微联·小京鱼的控制面板H5开发,读懂vue语法,做自己的控制页面。
19、重磅开源,如何在微信小程序上ble蓝牙配网esp32,blufi的那些事!
20、一篇好文,开发过程中编译esp32固件太大,无法正常启动?教你如何自定义分区表partitions.csv。
21、 esp32蓝牙配网blufi的高度封装,集成简单、使用简单、容易上手,提高开发效率!
22、讨论下程序员 “青春饭” 那些事,分享在esp32实现多种加密算法md5 |AES CBC-ECB| Sha1 | Sha256 等!
23、安信可 esp32-a1s 音频开发板移植最新 esp-adf 音频框架,小试牛刀如何实现在线文字转语音播放。
25、分享在 esp32 SDK实现冷暖光色温平滑调节的封装,轻松集成到您的项目去。

本篇博文目录:

文章目录

      • 本篇博文目录:
      • 一 、前言;
      • 二、工具下载材料;
      • 三、工具安装;
      • 四、初次编译;
      • 五、开始搭建`Eclipes`编译器环境;
      • 六、编译代码;
      • 七、修改代码,打印`hello world`;

一 、前言;

欲要工其事,必要利其器;一个好的开始,必须要有一个好的编译器和环境,上篇我们已经提到了在Linux系统搭建编译环境,还需要开发的编译器,我坚信很多小伙伴都是windows系统 的,所以这篇带来的是:在windows下搭建ESP32的编译环境和利用Eclipes编译器编译我们的工程,一举两得!


安信可的一体化环境,发现集成后,难于适应最新版的IDF,为此博主辛苦敲打3个小时出此博文,未经同意不得转载,多谢合作!


二、工具下载材料;

  • eclipes编译器下载:点我下载;

  • 乐鑫官网提供的最新windows工具链下载:点我下载;


三、工具安装;


  • 第一步:解压上面下载好的esp32_win32_msys2_environment_and_toolchain-20180110.zip文件夹,注意解压后的名字是msys32;比如我目前的路径为E:Esp32StudyESP32IDE;

①、git拉取idf全部代码:git clone --recursive https://github.com/espressif/esp-idf.git
②、我们把视野转移到子目录下的etcprofile.d文件夹下面,新建一个export_idf_path.sh的命令符文件,注意格式是.sh,见图一;
③、其内容如下代码,旨在指定编译时候的路径:第一个是指定了IDF框架,第二个是指定了PY等命令!:

export IDF_PATH="E:/Esp32Study/ESP32IDE/msys32/home/Administrator/esp-idf"
export PATH="/mingw32/bin/:$PATH"
  • 1
  • 2

这里写图片描述


  • 第二步:点击主目录下面的mingw32.exe文件,其实这是一个shell命令!拉取下载最新版的IDF框架,用git指令拉取,貌似本地要安装git客户端,如果没有安装,请自行百度怎么安装git。这里要等待3到4分钟,取决于网速!:
git clone --recursive https://github.com/espressif/esp-idf.git
  • 1

这里写图片描述


四、初次编译;


  • 第一步:我们现在尝试下在windows下编译,先把EE:Esp32StudyESP32IDEmsys32homeAdministratoresp-idfexamplesget-started下面的hello_world拷贝到任意一个文件夹,其实此刻的工程已经和SDK包分离开了!
  • 我这里就在esp-idf同目录下面新建子文件夹Project32,同时把hello_world复制到此文件夹下面!

这里写图片描述


  • 第二步:我们shell命令,切换到我们的hello_world文件夹;注意打开时候,已经是在homeAdministrator的目录了,所以我们仅需要cd ProjectEsp32hello_world ;

    我们先配置hello_world的下载配置文件,输入make menuconfig:出现一个蓝色小弹窗,这和我们上篇文章说的一样,如下,重要的是Flash size改为 4MB 即可 ,第一个是端口设置,根据你插上来的ESP32的端口决定,注意格式是com+数字,比如我当前的是 17端口:

  • 这里写图片描述

  • 这里写图片描述


  • 第三步:输入编译指令make all ,编译代码,此处会有5分钟左右时间,请耐心等待!最后为下面输出,即为成功编译!此命令适合配合乐鑫的下载软件进一步到固件烧录到esp32!
CC build/xtensa-debug-module/eri.o
AR build/xtensa-debug-module/libxtensa-debug-module.a
LD build/hello-world.elf
esptool.py v2.3.1
To flash all build output, run 'make flash' or:
python /home/Administrator/esp-idf/components/esptool_py/esptool/esptool.py --chip esp32 --port com13 --baud 115200 --before default_reset --after h                                                    ard_reset write_flash -z --flash_mode dio --flash_freq 40m --flash_size detect 0x1000 /home/Administrator/ProjectEsp32/hello_world/build/bootloader/                                                    bootloader.bin 0x10000 /home/Administrator/ProjectEsp32/hello_world/build/hello-world.bin 0x8000 /home/Administrator/ProjectEsp32/hello_world/build/                                                    partitions_singleapp.bin


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

这里写图片描述


  • 第四步:或者输入编译指令make flash ,编译代码并且烧录,此处会有5分钟左右时间,请耐心等待!最后为下面输出,即为成功编译并且烧录成功,我们打开我们的串口助手查看串口输出信息!

这里写图片描述


  • 复位硬件!查看我们的串口工具,此hello_world实现的功能是,每10s重启模块!

这里写图片描述


五、开始搭建Eclipes编译器环境;


  • 注意:搭建Eclipes编译器环境前,必须要确保你的电脑有Java开发环境哦,请自行搭建java开发环境!还有对应的是否为64或者32位系统,否则会出现发现缺JRE.!

①、确定下载的eclipes是否为c/c++类型,从下图看到的弹窗已经是默认把C/C++为 default;

这里写图片描述


②、导入工程,拷贝我们的刚刚的hello_world目录,这个和esp8266的导入有点相似,但是最后选择是跨平台的Cross Gcc;

这里写图片描述


这里写图片描述


③、导入工程后,需要为编译器配置下编译变量!;

增加一个是IDF_PATH的变量:

E:Esp32StudyESP32IDEmsys32homeAdministratoresp-idf
  • 1

增加三个是PATH的变量,注意在原来的基础上加,分号用英文的!!

E:Esp32StudyESP32IDEmsys32usrin;
E:Esp32StudyESP32IDEmsys32optxtensa-esp32-elfin;
E:Esp32StudyESP32IDEmsys32mingw32in;
  • 1
  • 2
  • 3

④、为编译器配置工程的编译指令!;

第一个配置鼠标右击工程,找到Make Target的Creat..., 之后我们新建我们的make all命令,如下:
这里写图片描述


第二个配置鼠标右击工程,找到Make Target的Creat..., 之后我们新建我们的make flash命令,如下:
这里写图片描述


关于为什么不配置make menuconfig命令? 此命令我发现配置了也不成功显示那个蓝色弹窗,可能是需要cywin的配置,也有可能是其他问题?所以,我这还是用shell命令符来配置make menuconfig,比较笨重! 希望已经解决此问题的人,留言下,万分感激!!


六、编译代码;


  • 双击make all,仅仅编译工程不烧录,出现以下信息,说明编译成功:

这里写图片描述


  • 双击make flash,编译工程而且烧录,出现以下信息,说明编译成功!注意配置文件要正确的端口号!

这里写图片描述


七、修改代码,打印hello world;


  • 打开工程的文件,发现报错找不到函数,莫急莫急,安装如下操作:

这里写图片描述


首先我们先配置下整个工程的头文件路径,因为SDK和编译器代码是分开的,所以手动指定路径头文件!

${IDF_PATH}/components/esp32/include
${IDF_PATH}/components/newlib/include
${IDF_PATH}/components/freertos/include
${IDF_PATH}/components/nvs_flash/include
${IDF_PATH}/components/driver/include
${IDF_PATH}/components/log/include
${IDF_PATH}/components/spi_flash/include
${IDF_PATH}/components/soc/esp32/include
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 这里写图片描述

我们把app_main()修改如下,让他不再重启模块!

void app_main() {

	printf("Hello world!
");

	esp_chip_info_t chip_info;
	esp_chip_info(&chip_info);

	printf("--------------------------------------------

 ");
	printf("Hellow World , Esp32 !!

 ");
	printf("This is ESP32 chip with %d CPU cores, WiFi%s%s, ", chip_info.cores,
			(chip_info.features & CHIP_FEATURE_BT) ? "/BT" : "",
			(chip_info.features & CHIP_FEATURE_BLE) ? "/BLE" : "");

	printf("silicon revision %d, ", chip_info.revision);

	printf("%dMB %s flash
", spi_flash_get_chip_size() / (1024 * 1024),
			(chip_info.features & CHIP_FEATURE_EMB_FLASH) ?
					"embedded" : "external");
	printf("--------------------------------------------

 ");
	fflush(stdout);
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

双击make flash编译并且下载到esp32,波特率115200,复位上电看串口打印!

这里写图片描述


本文为博主半颗心脏辛苦敲打了3个小时,未经同意不得转载,多谢合作!

  • ESP32学习之旅代码汇总,欢迎star,实时收到最新的代码:https://github.com/xuhongv/StudyInEsp32

  • 欢迎加群上车:434878850

注:本文转载自blog.csdn.net的半颗心脏的文章"https://blog.csdn.net/xh870189248/article/details/80304624"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2025 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top