最近在弄这个WiFi模块,发现网上SDK开发方面的资料很少,发现了一套视频教程,不过主讲人的讲课方式实在受不了。对基于SDK开发感兴趣的同学可以通过本帖在Ubuntu系统上通过Eclipes搭建开发环境。
过程可以分为两步:
1、下载、编译SDK
2、配置Eclipes
一、下载、编译SDK
esp8266的sdk有两种,分别是ESP8266_RTOS_SDK和ESP8266_NONOS_SDK,这两者的区别在于RTOS_SDK有一个叫做RTOS的操作系统,采用了NONOS_SDK部分接口,不支持AT指令。
详见:Q: What is the difference between RTOS and the non-OS SDK?
这里我们使用NONOS_SDK,下载地址:esp-open-sdk
里边集成了NONOS_SDK的编译器和烧录工具等,也可用此编译器编译ESP_RTOS_SDK中的项目。
我们直接在命令行进行操作:
| 1 2 3 4 5 6 7 8 9 10 11 12 | #安装一些依赖工具$ sudoapt-get installmakeunrar-freeautoconf automake libtool gccg++ gperf \    flex bison texinfo gawkncurses-dev libexpat-dev python-dev python python-serial \    sedgit unzip bashhelp2man wget bzip2#如果ubuntu版本高于14.04可能还需要此工具$ sudoapt-get installlibtool-bin#使用git克隆项目到本地,这里假设项目克隆到了/home/mmmmar/esp-open-sdk$ git clone --recursive https://github.com/pfalcon/esp-open-sdk.git#进入项目文件夹$ cd/home/mmmmar/esp-open-sdk#编译$ makeSTANDALONE=y | 
注意:在SDK的编译过程中需要联网下载一些依赖库并编译,而且下载过程很容易失败,我在下载时挂代理才成功的。
如果编译失败可以查看esp-open-sdk/crosstool-NG/build.log 查看崩溃信息,一般都是下载失败。
编译成功后会在esp-open-sdk文件夹出现xtensa-lx106-elf  esptool  ESP8266_NONOS_SDK三个文件夹,分别是编译器,烧录工具,NONOS_SDK最新版。
这时需要把编译器路径加入到系统路径中,执行:
| 1 2 | #此命令只作用于当前控制台exportPATH=/home/mmmmar/esp-open-sdk/xtensa-lx106-elf/bin:$PATH | 
这时就可以编译esp-open-sdk/ESP8266_NONOS_SDK/examples中的示例工程了。
需要注意,要把ESP8266_NONOS_SDK文件夹复制到esp-open-sdk文件夹的外部,假如我们要编译examples文件夹中的at项目,我们需要把at文件夹复制到ESP8266_NONOS_SDK目录下,不然编译会失败。
复制完之后路径如下:
| 1 2 3 4 5 | /home/mmmmar├── ESP8266_NONOS_SDK│   ├── at│   ├── examples└── esp-open-sdk | 
复制完之后就可以编译at(我们最初用的AT指令就是这个项目,不过我们只能添加新的AT命令)项目了。
执行at文件夹下的gen_misc.sh,这里需要输入一些参数。
对于那些参数我也不是特别清楚,我的esp-01(黑色)选择的是:
boot version      = none
spi size and map =   1024KB( 512KB+ 512KB)
其余默认。黑色的版的esp-01有1MB的存储空间,而蓝色版只有512KB,不能使用最新版的AT固件。