ESP8266基于MinGW32开发

作者:@登云上人间

目录

1、开发工具链安装
2、配置ESP8266的编译环境
3、编译示例工程
4、ESP8266下载准备

Esp8266开发环境大致分为两种:

  • Arduino for esp8266
  • ESP8266 SDK

本文介绍基于ESP8266 SDK的开发方式

SDK的开发方式分为不带操作系统(None-RTOS)和带操作系统(RTOS),不带操作系统已经不再开发新的功能,带操作系统的SDK还在维护中。

1、开发工具链安装

1.1 下载编译环境MSYS32(Windows下虚拟linux环境)

链接地址:https://dl.espressif.com/dl/esp32_win32_msys2_environment_and_toolchain-20181001.zip

1.2 解压缩至自定义文件夹下

**注意:本文件夹下及包含自上一层在文件夹名称均不得含有任何非法字符(最好是只有英文字母)**,不然会出现特定错误。

image

1.3 下载Esp8266编译链工具

链接地址:https://dl.espressif.com/dl/xtensa-lx106-elf-gcc8_4_0-esp-2020r3-win32.zip

1.4 解压到msys32的opt目录下

image

1.5 下载乐鑫SDK

  1. 打开msys32目录下的mingw32.exe
    image

  2. 窗口中的当前目录在Home文件夹的账户目录中
    如下图:
    image
    image

  3. 自定义一个文件夹,本人创建的是esp目录,然后在此目录拉取乐鑫的SDK(不要使用下载,否则组件不全)

cd ~ //进入账户根目录命令
 
mkdir esp //创建一个esp目录
 
cd esp //进入esp目录

//从git上克隆带RTOS的SDK。
git clone https://github.com/espressif/ESP8266_RTOS_SDK.git

image

Github会出现网络不通畅导致克隆有缺失或者错误,本人已在百度网盘分享最新版本(2022-06-27 14:00:35 星期一),地址链接如下:
链接:https://pan.baidu.com/s/1I3kFBSAu42wWJY6kpIboNw
提取码:9999

2、配置ESP8266的编译环境

2.1 打开msys32目录下的home/$username/

image

使用文本编辑器(VSCode、Notepad++)编辑修改.bashrc最后一行新增如下图内容
image

#此处复制(本行不需要复制,复制下面2行内容即可)
export IDF_PATH="$HOME/esp/ESP8266_RTOS_SDK/"
export PATH="$PATH:/opt/xtensa-lx106-elf/bin/"

基本上不用改动,但仍要根据实际进行修改,注意一下目录的名称是否正确即可

2.2 保存退出,重新打开msys32

3、编译示例工程

RTOS的SDK自带了一个example

3.1 配置menuconfig

cd ~/esp/ESP8266_RTOS_SDK/examples/get-started/hello_world

make menuco
  1. 进入Serial flasher config目录,选择Default serial port,输入串口号(自行在Windows设置管理器中查询串口号

image
image
image
2. 配置完成,保存,退出menuconfig

3.2 编译example

make menuconfig # 配置工程
make clean   # 清除工程
make all     # 只编译
make flash   # 编译后烧录
make monitor # 开启串口监听
ctrl+}       # 退出串口监听
make app     # 只构建app
amke app-flash # 只烧录app

4、ESP8266下载准备

将IO0接地,重启即可进入下载模式

下载完后将IO0悬空,重启即可开始运行程序

为什么ESP8266波特率是74800?
74800是设备上电日志打印的波特率,如果想更改下面的倒计时等数据打印的波特率可以在工程中添加串口波特率初始化代码即可,如下:

#include "driver/uart.h"//导入串口头文件

uart_set_baudrate(UART_NUM_0,115200);//初始化波特率为115200

 #include <stdio.h>
 #include "freertos/FreeRTOS.h"
 #include "freertos/task.h"
 #include "esp_system.h"
 #include "esp_spi_flash.h"
 #include "driver/uart.h"//导入串口头文件
 void app_main()
 {
     uart_set_baudrate(UART_NUM_0,115200);//初始化波特率为115200
     printf("Hello world!");//输出程序员的标准问好
     //芯片信息
     esp_chip_info_t chip_info;
     esp_chip_info(&chip_info);
     printf("This is ESP8266 chip with %d CPU cores, WiFi,",chip_info.cores);
     printf("silicon revision %d, ", chip_info.revision);
     //flash信息,大小和类型(外部)
     printf("%dMB %s flash", spi_flash_get_chip_size() / (1024 * 1024),(chip_info.features & CHIP_FEATURE_EMB_FLASH) ? "embedded" : "external");
     //使用freertos计时函数倒计时
     for (int i = 10; i >= 0; i--) {
         printf("Restarting in %d seconds...", i);
         vTaskDelay(1000 / portTICK_PERIOD_MS);
     }
     printf("Restarting now.");
     fflush(stdout);//刷新输出
     esp_restart();//重启
 }
posted @   登云上人间  阅读(56)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10亿数据,如何做迁移?
· 推荐几款开源且免费的 .NET MAUI 组件库
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 易语言 —— 开山篇
· Trae初体验
  1. 1 原来你也在这里 周笔畅
  2. 2 世间美好与你环环相扣 柏松
  3. 3 起风了 吴青峰
  4. 4 极恶都市 夏日入侵企划
  5. 5 パレード ヨルシカ
起风了 - 吴青峰
00:00 / 00:00
An audio error has occurred, player will skip forward in 2 seconds.

作词 : 米果

作曲 : 高橋優

编曲 : 刘胡轶/貢多杰

制作人 : 刘胡轶/吴青峰

配唱制作人 : 刘胡轶

乐器监制 : 刘胡轶

吉他 : 胡晨

贝斯 : 甯子达

弦乐录音棚 : 中国剧院录音棚

录音工程师 : 倪涵文/李游/李杨/邢铜/韩宽/李巍

录音监制 : 倪涵文/李游

混音&母带工作室 : OKmastering studio

混音&母带工程师 : 全相彦

制作协力 : 刘西洋

制作发行 : 智慧大狗 × 天才联盟

出品人 : 张葛

监制 : 崔恕/王明宇

弦乐监制 : 李朋

弦乐 : 国际首席爱乐乐团

鼓(打击乐):祁大为

和音编写&演唱:鱼椒盐

人声&吉他&鼓(打击乐)录音棚:55Tec studio

我曾将青春翻涌成她

我曾将青春翻涌成她

也曾指尖弹出盛夏

心之所动 且就随缘去吧

这一路上走走停停

这一路上走走停停

顺着少年漂流的痕迹

迈出车站的前一刻

竟有些犹豫

不禁笑这近乡情怯

不禁笑这近乡情怯

仍无可避免

而长野的天

依旧那么暖

风吹起了从前

从前初识这世间

从前初识这世间

万般流连

看着天边似在眼前

也甘愿赴汤蹈火去走它一遍

如今走过这世间

如今走过这世间

万般流连

翻过岁月不同侧脸

措不及防闯入你的笑颜

我曾难自拔于世界之大

我曾难自拔于世界之大

也沉溺于其中梦话

不得真假 不做挣扎 不惧笑话

我曾将青春翻涌成她

我曾将青春翻涌成她

也曾指尖弹出盛夏

心之所动 且就随缘去吧

逆着光行走 任风吹雨打

短短的路走走停停

短短的路走走停停

也有了几分的距离

不知抚摸的是故事 还是段心情

也许期待的不过是 与时间为敌

再次看到你

微凉晨光里

笑得很甜蜜

从前初识这世间

从前初识这世间

万般流连

看着天边似在眼前

也甘愿赴汤蹈火去走它一遍

如今走过这世间

如今走过这世间

万般流连

翻过岁月不同侧脸

措不及防闯入你的笑颜

我曾难自拔于世界之大

我曾难自拔于世界之大

也沉溺于其中梦话

不得真假 不做挣扎 不惧笑话

我曾将青春翻涌成她

我曾将青春翻涌成她

也曾指尖弹出盛夏

心之所动 且就随缘去吧

晚风吹起你鬓间的白发

晚风吹起你鬓间的白发

抚平回忆留下的疤

你的眼中 明暗交杂 一笑生花

我仍感叹于世界之大

我仍感叹于世界之大

也沉醉于儿时情话

不剩真假 不做挣扎 无谓笑话

我终将青春还给了她

连同指尖弹出的盛夏

心之所动 就随风去了

以爱之名 你还愿意吗

点击右上角即可分享
微信分享提示