ESP8266开发环境搭建(AiThinkerIDE_V1.5.2)及下载烧录

目录

目录

一、所需器件工具

二、下载AiThinkerIDE_V1.5.2 IDE

三、安装AiThinkerIDE_V1.5.2 IDE

四、IDE配置编译环境

五、下载NONOS_SDK

六、创建工程模板

七、修改工程文件

1. user文件夹

2. include文件夹 

3. user_config.h文件 

4.修改user_main.c文件 

八、AiThinkerIDE常规设置

1.修改文件编码格式为UTF-8

2.修改代码编辑字体

3.其他设置

九、烧写程序设置

1、ESP8266硬件连接图

2、确定Flash大小

3、烧录软件的配置

4、烧录成功串口显示



一、所需器件工具

        1.ESP8266开发板。模块购买链接

二、下载AiThinkerIDE_V1.5.2 IDE

         下载链接:https://docs.ai-thinker.com/tools

三、安装AiThinkerIDE_V1.5.2 IDE

双击AiThinkerIDE_V1.5.2 IDE.exe开始安装,安装路径不要含有中文,最好是默认路径。

 

 

 

 环境依赖的是 python2.7 环境,IDE已经自带了python2.7的环境的,如果你电脑有py3的环境,建议卸载或共存处理,自此AiThinkerIDE安装完成。

四、IDE配置编译环境

查看系统变量是否加入成功,没有则需要自己手动配置。右键电脑 -> “属性” -> “高级系统设置” -> “环境变量” -> “新建...”。

 

 

五、下载NONOS_SDK

本项目是基于乐鑫的无操作系统ESP8266_NONOS_SDK-3.0.5开发包继续二次开发,下载地址:https://github.com/espressif/ESP8266_NONOS_SDK/releases。对下载的zip压缩包解压即可。

六、创建工程模板

        1、在电脑的 D盘根目录创建 SDK 文件夹,把解压后的“ ESP8266_NONOS_SDK-3.0.5 ”文件复制到 D:\SDK文件夹中。

        2、ESP8266的NONOS_SDK采用了SDK和工程文件夹分离的方式,所以我们需要手动创建一个app目录。将D:\SDK\ESP8266_NONOS_SDK-3.0.5目录下的 driver_lib 重命名为 app。


        3、复制D:\SDK\ESP8266_NONOS_SDK-3.0.5\examples\IoT_Demo下的所有文件到上面重命名的 app目录(复制过来,直接替换覆盖即可,不需要删除app里面原有的文件)。

         4、把D:\SDK\ESP8266_NONOS_SDK-3.0.5\third_party下的Makefile文件改为Makefile.bak。

         5、打开AiThinkerIDE,设置路径为SDK目录。

 右键单击导入项目。

点击Finish导入项目,如下 :

项目名上右键选择Properties配置工程,如下:

选择C/C++ Build->Build command中添加编译规则(make COMPILE=gcc BOOT=none APP=0 SPI_SPEED=40 SPI_MODE=DIO SPI_SIZE_MAP=4),可以根据实际情况来更改规则,点击OK退出。

项目名上右键Clean Project清除工程缓存,如下:

 项目名上右键Build Project编译工程,如下:

编译成功,则表示创建工程完成,如下: 

七、修改工程文件

        删除对于我们无关文件,后续工程基于此模板进行开发。

1. user文件夹

user文件夹我们只保留user_main.c,Makefile文件,其余全部删除,结果如下:

2. include文件夹 

include文件夹只保留driver文件夹以及user_config.h文件,其余全部删除,结果如下:

3. user_config.h文件 

清空user_config文件内容,只保留头文件的声明,最终如下:

4.修改user_main.c文件 

user_main.c文件(相当于main函数),最终代码如下:

#include "ets_sys.h"
#include "osapi.h"
#include "user_interface.h"
 
 
#if ((SPI_FLASH_SIZE_MAP == 0) || (SPI_FLASH_SIZE_MAP == 1))
#error "The flash map is not supported"
#elif (SPI_FLASH_SIZE_MAP == 2)
#define SYSTEM_PARTITION_OTA_SIZE							0x6A000
#define SYSTEM_PARTITION_OTA_2_ADDR							0x81000
#define SYSTEM_PARTITION_RF_CAL_ADDR						0xfb000
#define SYSTEM_PARTITION_PHY_DATA_ADDR						0xfc000
#define SYSTEM_PARTITION_SYSTEM_PARAMETER_ADDR				0xfd000
#define SYSTEM_PARTITION_CUSTOMER_PRIV_PARAM_ADDR           0x7c000
#elif (SPI_FLASH_SIZE_MAP == 3)
#define SYSTEM_PARTITION_OTA_SIZE							0x6A000
#define SYSTEM_PARTITION_OTA_2_ADDR							0x81000
#define SYSTEM_PARTITION_RF_CAL_ADDR						0x1fb000
#define SYSTEM_PARTITION_PHY_DATA_ADDR						0x1fc000
#define SYSTEM_PARTITION_SYSTEM_PARAMETER_ADDR				0x1fd000
#define SYSTEM_PARTITION_CUSTOMER_PRIV_PARAM_ADDR           0x7c000
#elif (SPI_FLASH_SIZE_MAP == 4)
#define SYSTEM_PARTITION_OTA_SIZE							0x6A000
#define SYSTEM_PARTITION_OTA_2_ADDR							0x81000
#define SYSTEM_PARTITION_RF_CAL_ADDR						0x3fb000
#define SYSTEM_PARTITION_PHY_DATA_ADDR						0x3fc000
#define SYSTEM_PARTITION_SYSTEM_PARAMETER_ADDR				0x3fd000
#define SYSTEM_PARTITION_CUSTOMER_PRIV_PARAM_ADDR           0x7c000
#elif (SPI_FLASH_SIZE_MAP == 5)
#define SYSTEM_PARTITION_OTA_SIZE							0x6A000
#define SYSTEM_PARTITION_OTA_2_ADDR							0x101000
#define SYSTEM_PARTITION_RF_CAL_ADDR						0x1fb000
#define SYSTEM_PARTITION_PHY_DATA_ADDR						0x1fc000
#define SYSTEM_PARTITION_SYSTEM_PARAMETER_ADDR				0x1fd000
#define SYSTEM_PARTITION_CUSTOMER_PRIV_PARAM_ADDR           0xfc000
#elif (SPI_FLASH_SIZE_MAP == 6)
#define SYSTEM_PARTITION_OTA_SIZE							0x6A000
#define SYSTEM_PARTITION_OTA_2_ADDR							0x101000
#define SYSTEM_PARTITION_RF_CAL_ADDR						0x3fb000
#define SYSTEM_PARTITION_PHY_DATA_ADDR						0x3fc000
#define SYSTEM_PARTITION_SYSTEM_PARAMETER_ADDR				0x3fd000
#define SYSTEM_PARTITION_CUSTOMER_PRIV_PARAM_ADDR           0xfc000
#else
#error "The flash map is not supported"
#endif
 
#define SYSTEM_PARTITION_CUSTOMER_PRIV_PARAM                SYSTEM_PARTITION_CUSTOMER_BEGIN
 
uint32 priv_param_start_sec;
 
static const partition_item_t at_partition_table[] = {
    { SYSTEM_PARTITION_BOOTLOADER, 						0x0, 												0x1000},
    { SYSTEM_PARTITION_OTA_1,   						0x1000, 											SYSTEM_PARTITION_OTA_SIZE},
    { SYSTEM_PARTITION_OTA_2,   						SYSTEM_PARTITION_OTA_2_ADDR, 						SYSTEM_PARTITION_OTA_SIZE},
    { SYSTEM_PARTITION_RF_CAL,  						SYSTEM_PARTITION_RF_CAL_ADDR, 						0x1000},
    { SYSTEM_PARTITION_PHY_DATA, 						SYSTEM_PARTITION_PHY_DATA_ADDR, 					0x1000},
    { SYSTEM_PARTITION_SYSTEM_PARAMETER, 				SYSTEM_PARTITION_SYSTEM_PARAMETER_ADDR, 			0x3000},
    { SYSTEM_PARTITION_CUSTOMER_PRIV_PARAM,             SYSTEM_PARTITION_CUSTOMER_PRIV_PARAM_ADDR,          0x1000},
};
 
void ICACHE_FLASH_ATTR user_pre_init(void)
{
    if(!system_partition_table_regist(at_partition_table, sizeof(at_partition_table)/sizeof(at_partition_table[0]),SPI_FLASH_SIZE_MAP)) {
		os_printf("system_partition_table_regist fail\r\n");
		while(1);
	}
}
 
/******************************************************************************
 * FunctionName : user_init
 * Description  : entry of user application, init user function here
 * Parameters   : none
 * Returns      : none
*******************************************************************************/
void ICACHE_FLASH_ATTR
user_init(void){
    while(1){
        os_printf("\r\n Hello \r\n");
        system_soft_wdt_feed();//喂狗
        os_delay_us(65000);//延时函数。
    }
}

八、AiThinkerIDE常规设置

1.修改文件编码格式为UTF-8

Window->Preferences->General->Workspace->Text file encoding:修改文件编码为UTF-8。

2.修改代码编辑字体

Window->Preferences->General->Appearance->Colors and Fonts->Basic->Text Font:修改为自己喜欢的字体。

3.其他设置

九、烧写程序设置

1、ESP8266硬件连接图

烧录接线图,如下所示:image

2、确定Flash大小

        首先需要确定我们买的模块的Flash的大小。例如我买的是安信可的 ESP-12F 无线(模块链接:https://docs.ai-thinker.com/esp8266),它的Flash的大小为 32M(bit),然后换成 字节(Byte)  则需要除以8,最终Flash的大小为 4M

 由此我们选择4096KB(4096KB/1024 = 4M)的对应地址进行烧录,与后面烧录软件(flash_download_tool)设置的地址对应。在这里插入图片描述

 

3、烧录软件的配置

首先我们需要烧写软件flash_download_tool的下载链接:https://docs.ai-thinker.com/_media/flash_download_tool_v3.8.5_1.zip

烧录软件flash_download_tool配置好则可以对程序进行烧录,如下所示:

4、烧录成功串口显示

串口调试工具aithinker_serial_tool下载链接:https://docs.ai-thinker.com/_media/tools/aithinker_serial_tool_v1.2.3.7z模块默认的波特率为:74880。通过串口调试工具可以看到效果,如下所示:

  • 16
    点赞
  • 78
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_755682240

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值