ESP8266_RTOS_SDK 开发环境搭建 AiThinkerIDE_V1.5.2安装配置 编译 烧录

32 篇文章 2 订阅

【本文发布于https://blog.csdn.net/Stack_/article/details/128509864,未经允许不得转载,转载须注明出处】


前言

乐鑫官方没有推出IDE,而是在Linux系统上开发,安信可提供了IDE,但是各版本之间安装配置有差异,还没有文档说明。官方安装配置教程不完全适用于新版IDE以及更新的SDK,就很乱。

这个IDE不是很好用,待有时间去研究一下VS Code+SDK开发,或者直接在Linux下开发。

而有些第三方安装配置教程不标注版本信息,但不同版本的IDE或者不同版本的SDK安装配置是不一样的,所以这样的文章没有参考意义,也就是这个开发环境的配置教程是有时效性的,也许这篇文章日后也会随着官方资料的更新而过时。

本文章只适用于 AiThinkerIDE_V1.5.2 以及 ESP8266_RTOS_SDK 3.0 以上的版本(目前最新是3.4)。

参考了以下文章,这些文章相对过时了。此文章可能写得没有那么详细,如果发现缺失步骤,可以到以下文章找找:

【安信可IDE 1.5模板专题1】安信可windows一体化环境IDE V1.5 版本降临,体积更小,兼容新旧版本SDK编译

Esp8266学习之旅① 搭建开发环境,开始一个“hellow world”串口打印

图文手把手教程–ESP8266 SDK开发环境搭建及HelloWorld显示(使用安信可AiThinkerIDE_V1.5.2编程)


1、安装配置AiThinkerIDE_V1.5.2


(1)安装IDE


到安信可官网获取IDE安装包(或者到文末附件获取,本文提到的资料已一并上传),因为该IDE基于Eclipse修改,安装运行前须安装配置Java环境。

双击安装包,选择安装位置以及选择是否生成桌面图标,然后将自动安装并自动添加环境变量到系统中。

在这里插入图片描述


在这里插入图片描述



(2)配置编译工具链(GCC编译器)


该版本IDE在安装的时候会自动添加环境变量到系统,但会有2种情况:

  1. 我之前在安信可的Gitee那拉取的SDK是基于乐鑫3.2版本增加了例程的,此版本SDK不必按照其它博文那样手动配置环境变量;
  2. 目前乐鑫官方SDK已更新到3.4版本,编译工具链需要修改为V8.4,因此自动添加的V5.2.0工具链不适用了,需要手动修改此环境变量。

在这里插入图片描述

AiThinkerProjectForESP是安信可那拉取的,ESP8266_RTOS_SDK是乐鑫那拉取的



在这里插入图片描述

自动添加的编译工具版本为5.2



修改方式

安装目录 D:\UserSW_Install\AiThinkerIDE_V1.5.2\msys32\opt\esp8266 下已经自动添加了2个工具链

在这里插入图片描述
其中v4.8.5是3.0以下的SDK使用的,我们现在要做的是在乐鑫GitHub下载Windows的8.4的工具链



在这里插入图片描述


下载完成后解压并重命名放置到上述目录中

在这里插入图片描述
并且修改环境变量指向新的目录

在这里插入图片描述

D:\UserSW_Install\AiThinkerIDE_V1.5.2\msys32\opt\esp8266\v5.2.0_for_3.0\bin 修改为D:\UserSW_Install\AiThinkerIDE_V1.5.2\msys32\opt\esp8266\v8.4.0_for_3.4\bin



(3)重启IDE


如果修改了编译工具,则必须重启AiThinkerIDE



2、创建并烧写一个工程


(1)导入工程




① 此种导入方法能顺利通过编译,但编辑器中会有大量报错,且不能跳转到定义处

在这里插入图片描述


从SDK的examples\get-started目录拷贝一个hello_world工程到SDK外面一个新建的目录,然后打开AiThinkerIDE,依次点击File > Import > C/C++ > Existing Code as Makefile Project > Next > Browse,选择工程目录以及按下图配置好后点击Finish。


在这里插入图片描述





② 此种导入能消除编辑界面绝大部分报错,且能跳转到定义处

在这里插入图片描述

依次点击File > Import > C/C++ > Existing Code as Makefile Project > Next > Browse,将SDK根目录作为project导入,如下图。最后点Finish。


在这里插入图片描述

在左侧工程上右键选择Properties,点击C/C++ Build,需要在 bulid directory 中指定一个具体的工程路径。
可以是绝对路径,

在这里插入图片描述

亦可以是相对路径(D:\Develop\ESP8266\ESP8266_RTOS_SDK\MyProjects\wifi_socket)
在这里插入图片描述





(2)配置SDK路径


在工程上右键选择Properties,展开C/C++,点击Environment,Add一个IDF_PATH,Value为你的本地SDK目录(复制路径填入)


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


(3)配置编译命令


  1. 在工程上右键依次点击 Make Targets > Create , Target name填入“make menuconfig” (可自定义),command填入 mintty.exe -e make menuconfig 。最后点击OK

在这里插入图片描述


  1. 在工程上右键依次点击 Make Targets > Build,双击“面板设置命令”,出现如下界面。如果每次执行都是闪一下就没了,那需要检查环境变量。例如我按照博主半颗心脏的博文去自行搭建开发环境(最后还失败了),手动安装cygwin64以及Eclipse,就需要手动添加环境变量\cygwin64\bin,导致和AiThinker的环境变量冲突。删除原cygwin64环境变量即可。

在这里插入图片描述


  1. 需要我们关注的是Serial flasher
    config
    这一项,里面的参数根据实际的模块去选择。我的是ESP12-F,通过方向键以及回车键将参数修改为 DIO(查对应模块的原理图,如果FLASH是4数据线SPI的可以选QIO,FLASH的访问速度加倍。DIO是2数据线的,可以将GPIO9和GPIO10释放给用户使用) 以及 4MB 后Save。最后Exit。建议将default baud rate修改为更高的波特率以缩短烧录时间。

在这里插入图片描述


(4)配置烧写命令


在工程上右键依次点击 Make Targets > Create , Target name填入“make flash” (可自定义),command填入 make flash ESPPORT=COMx,其中x为ESP8266板子的实际的串口号 。最后点击OK


在这里插入图片描述



(5)编译、下载


接下来就可以在工程上右键Clean Project然后Build Project了。当Console控制台出现如下信息后,即可点击 Make Targets > Build > 下载命令 进行下载了(注意先解除串口助手对该串口的占用)。

注意:

①该IDE不像其它的那样点击编译时会先自动保存项目文件再编译。如果没有手动保存,它不会自动保存也就不会编译最新的代码。

②第一次编译前,最好先clean再build,否则有可能编译会卡住不动。我这完全编译大概2分钟,电脑性能不一样时间也不一样。


在这里插入图片描述



(6)擦除flash(如有必要)


故技重施,Create进入

在这里插入图片描述



3、修改例程


(1)获取API

在安信可官网找到3.0之后的开发文档

(2)修改代码

/* Hello World Example

   This example code is in the Public Domain (or CC0 licensed, at your option.)

   Unless required by applicable law or agreed to in writing, this
   software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
   CONDITIONS OF ANY KIND, either express or implied.
*/
#include <stdio.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "esp_system.h"
#include "esp_spi_flash.h"
#include "driver/gpio.h"
#include "driver/uart.h"	//添加头文件

static void led_task(void* parm)
{@ CSDN Tyrion.Mon
	gpio_config_t gpio_config_structure;

    gpio_config_structure.pin_bit_mask = GPIO_Pin_16;
    gpio_config_structure.mode = GPIO_MODE_OUTPUT;
    gpio_config_structure.pull_up_en = 0;
    gpio_config_structure.pull_down_en = 0;
    gpio_config_structure.intr_type = GPIO_INTR_DISABLE;

	gpio_config(&gpio_config_structure);

	while(1)
	{
		/*亮500ms 灭500ms,不断重复*/
		gpio_set_level(GPIO_NUM_16, 0);
		vTaskDelay( 500 / portTICK_PERIOD_MS );
		gpio_set_level(GPIO_NUM_16, 1);
		vTaskDelay( 500 / portTICK_PERIOD_MS );
		printf("led_task运行中\r\n");
	}

}

void app_main()
{@ CSDN Tyrion.Mon
	uart_set_baudrate(0, 115200);	//修改波特率

    printf("Hello world!\n");

    /* Print chip information */
    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);

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

    xTaskCreate(led_task, "led_task", configMINIMAL_STACK_SIZE, NULL, 4, NULL);	//注册一个任务(此为freertos的API)

}


4、附件

【CSDN链接】
【网盘 提取码 i08v】

【项目实战:DIY了一个WIFI计量插座】

  • 3
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值