您的位置:首页 > 其它

ESP8266模块使用,环境搭建,编译和烧录

2017-10-21 20:13 211 查看
转自:http://club.gizwits.com/thread-6447-1-1.html

学习这个主要分两大块,第一块,是APP端建立,第二块是MCU端建立。以下文章是从MCU端建立来说的。
      MCU端建立又分为SOC程序建立和单片机程序建立。前者是利用esp8266本身来写,优点是少了单片机,体积更小,成本更低。缺点是入门得化了半月一月的,端口资源也少。  如果利用自己熟悉的单片机来开发进度就快多了,这就是后者单片机端的建立。
优点是自身熟悉,操作流畅,端口资源丰富,缺点就是体积和成本都要增加。需要ESP8266+MCU,MCU建议有采用有两个串口的。
   
     开始我们学习之路吧。
   
第一章 ES8266 WIFI模块开发环境搭建  
[align=left]       本人有开发单片机的基础,但对于WIFI智能模块需要用到的软件是小白一枚,这几天看了安信可和机智云的开发教程,很多细节都没写清楚,走了许多转路,针对学习中遇到的痛苦经历,以及官方资料不详尽,本人把这些写下来一则备忘,二则为了和我同样的小白们少浪费些时间。[/align]
[align=left]      选择安信可的AiThinker_IDE的原因是,它不需要搭建linux和虚拟机,非常方便。解压后在windows环境下直接就能用。现在支持XP,win7了。[/align]
[align=left]第一步,如何安装安信可一体化开发环境[/align]
   ESP8266 SKD的开发环境有很多,官方的开发环境配置比较复杂,这里介绍使用安可信出品的集成开发环境ESP8266
IDE,其实就是eclipse集成了相关的开发插件,用起来还是挺方便的。
[align=left]安信可一体化开发环境有以下特点:[/align]
[align=left]·         支持ESP8266 NONOS和FreeRTOS环境开发[/align]
[align=left]·         支持ESP31B/ESP32 FreeRTOS环境开发[/align]
[align=left]·         下载即用,无需另外配置环境[/align]
[align=left]·         可直接编译所有乐鑫官方推出的SDK开发包[/align]
[align=left]下载地址:http://pan.baidu.com/s/1skRvR1j  (百度云盘)    下载红框内的最新版本。其它的老版本不用下了。[/align]
已更新支持 XP 支持ESP32 支持OpenOCD 支持GCC 5.2版本


 

        解压后: 

 
       双击AiThinkerIDE_V0.5_setup安装程序,选择一个解压目录,默认是D盘。我在D盘新建个文件夹“WIFI_ESP8266”,这里要注意文件夹名称不要有中文和空格和小数点,要不后面编译程序时不会成功。


 
解压完成后,打开目录


 
下面以个名字了解下,其中安信可的AiThinker_IDE.exe将一些烦琐的步骤简化了。

[align=center]文件名[/align]
[align=center]描述
[/align]
[align=center]备注[/align]
Cygwin.execygwin和xtensa编译器环境含ESP8266 和 ESP31B/ESP32 开发环境
Eclipse.exeeclipse c/c++ 开发工具,仅在官网版本基础上打包了jre运行环境本机已经安装 eclipse cdt 环境的的无需重复下载
AiThinker_IDE.exe一体化开发环境配置工具
---------------------------------------------------------------------------------------------------------------------------------

开始整合编译环境
第一步:双击这个 

 。

第二步:先点击“Dafult”按钮,将用到的程序自动关联起来。然后点击“Save”保存设置。


 

步骤2:运行


 


 

第二章 如何使用安信可 ESP 系列一体化开发环境  
        以导入一个SDK为例,按官方的步骤有问题,反正我没成功。我总结了一下,有两种导入方式有些差别:
第一种,当File->Import弹出对话框后,选“General”里的"Existing
Projects into Workspace" 导入。第二种,选"C/C++"里的"Existing Code as Makefile Project"  导入。当第一种导入不成功时,可尝试用第二种导入。机智云生成的SDK都是用第二种方法导入的。网络上eclipse大都用的第一种,为什么这样我没有去深究,我觉得还是先学好怎么用吧。

      两种方法的共同点是,所需的项目文档一定要导入AiThinkerIDE_V0.5\cygwin\home\aithinker\project文件夹,这个文件夹类似eclipse官方资料常提到的workspace文件夹,否则编译不成功,不成功,不成功(重要的事说三遍)。这一步卡了我三天,谁让我是小白呢,下面我按我的流程详细写下来备忘。
      安信可IDE安装好后,已经给我们准备好了打开的快捷方式。我们打开刚才解压缩的"AiThinkerIDE_V0.5"文件夹,可以看到有个“OpenWorkSpace"
批处理文件。双击打开,会自己定位到所要导入的文件夹,该文件夹内,就是已经导入好的项目SDK。
    

 
先说第一种导入方式:以安信可官方下载的SDK为例

   步骤1:双击打开AiThinker_IDE。“File”->"Import"。项目栏里右击选择“Import”也可以。
    

 

步骤2:选择“General”->"Existing Projects into Workspace"   点击“next”。


 
步骤3:如图,选择桌面上解压好的的esp8266_nonos_sdk_v1.5.4文件夹。下面又要注意了,文件夹名称不能有小数点,不能是中文名,并且将“Options”栏里,"Copy projects into workspace",前打勾。意思是将该文件夹复制进文章开头提到的project文件夹内。一定要打勾,否则编译又是不成功!不成功!不成功!。 
   就是该项目文件夹一定要放到AiThinkerIDE_V0.5\cygwin\home\aithinker\project文件夹内。可以自己手动复制,也可以让软件自己复制。
    废话多一点,自己多注意点。

    如果出现这种样子,就是文件夹内有同名文件了。


 
       由于程序默认已加载了“ESP8266_NONOS_SDK”,跟我们现在要导入的文档是一样的,重复了,所以要把以前的删除。按下“del”键,或者右键单击,选择“Delete”。


 
      在弹出的对话框内如下图,将“Delete project contents on disk......”前打上勾。然后点击OK。就将项目名称连同workspace文件夹内的文档全部删除了。
       

 
         

 

       重新按以上步骤导入下,成功后,先选择“clean project”,防止出错。然后再右键单击选择“bulid project”或者工具栏上的那个小锤子。
       

 

       

 
OK,开始编译。完成后,如下图


 

    第二种导入方式,针对第三方云平台项目用第一种方法无法导入问题。例如“机智云”生成的项目文件夹。
步骤1:解压从机智云下载的项目并复制到project文件夹内。双击"OpenWorkSpace"批处理文件,自动打开。简化步骤


 
步骤2:将项目手动复制进去。下图选中的就是我刚才复制的项目文件夹。


 
步骤3:双击打开该文件夹,直到定位到有“MakeFile”的文件夹处。并复制文件路径,到安信可IDE内用。注意路径上有文件名,不能出现中文。


 
步骤4:双击打开AiThinker_IDE。“File”->"Import"。图略了。
步骤5:双击下图的“Existing
Code as Makefile Project”


 
步骤6:将刚才复制的路径直接粘贴到“Existing Code Location”处,省地点“Browse”按钮一层层找了。下面选"Cygwin GCC"。 点“Finish”。


 

导入成功,但还有些地方需要修改,否则编译不成功。我是从机智云论坛上看来的,目前我还没整明白。就是双击打开MakeFile,将下面这段程序参数修改下。

BOOT?=none

APP?=0

SPI_SPEED?=40

SPI_MODE?=QIO

SPI_SIZE_MAP?=0
改成

BOOT?=new

APP?=1

SPI_SPEED?=40

SPI_MODE?=QIO

SPI_SIZE_MAP?=6

boot赋值为new,意思就是可以升级

APP 赋值为1,就可以生成user1的bin 文件  如果需要OTA云端升级,就要用到user2文件,只要在这里将APP值赋为2就行了。

SPI_SPEED是下载的速度

SPI_MODE是下载模式

SPI_SIZE_MAP是flash的大小这个可以看上面那个文档详细介绍 赋值为0表示使用的flash是512k

有一处没搞清楚,安信可官方的SPI_SIZE_MAP?=2  机智云论坛上的那位大神是SPI_SIZE_MAP?=4,而下面有位版主说要改成SPI_SIZE_MAP?=6  反正都能编译成功。

具体可以查看这人的文章     http://blog.csdn.net/chen244798611/article/details/51375337

试验了下。

编译后生成的bin文件名称不同。看user1.1024.new.2.bin那行。

SPI_SIZE_MAP?=2  Flash容量是1024Kb


 
user1.4096.new.4.bin   user1.4096.new.6.bin  故我们先写成SPI_SIZE_MAP?=6



第三章 烧录
       关于烧录方面,这里提一下。烧录文件在项目文件bin/upgrade
文件夹内,文件格式是.bin。烧录地址是后面的0x01000。
软件:ESPFlashDownloadTool_v3.4.4   在安信可官方也可以下载到,搜文件名。

烧录前先讲些基本知识。
软件编译好后,烧录文件为bin格式的文件。例如:boot.bin  和 user1.512.new.4.bin按生成的地址为准。

设置好以后 我们可以看看编译的结果如下



从这里可以看到 boot的开始地址是0x00000 支持的版本必须要1.2版本或以上版本





第一步:软件解压后双击运行,选择"ESP8266 DownloadTool"


 

第二步:我在桌面建立了个“烧写文件”文件夹,里面放着每次要烧录的文件。


 

以机智云gokit3串口烧录为例


上面方式一的bin文件,还要加上 esp_init_data_default.bin  blank.bin  boot.bin才行。并且地址要写正确,按下图中地址来写。如下图:



     如果要生成那种单个文件,地址是0x00000的。类似方式二这种。





需要在方式一的基础上,点击烧录软件里的“CombineBin”按钮生成。生成在烧录软件的“combine”文件夹内。


 

关于烧录,最后讲一点,机智云 Gokit3  SOC开发时,板子上的CP2102 USB转串口模块是不能烧录的。如下图白色USB线连接的,只能用来向电脑端串口传送数据,波特率是115200

IMG_20170511_181618.jpg (1.42
MB, 下载次数: 154)



IMG_20170511_214520.jpg (1.23
MB, 下载次数: 143)



IMG_20170512_093157.jpg (1.34
MB, 下载次数: 138)



IMG_20170512_093256.jpg (1.37
MB, 下载次数: 157)



IMG_20170512_093317.jpg (1.41
MB, 下载次数: 162)



01.jpg (31.47
KB, 下载次数: 6)

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  硬件 单片机技术