极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 15355|回复: 0

esp8266 Ubuntu SDK 开发环境搭建

[复制链接]
发表于 2017-2-6 13:10:11 | 显示全部楼层 |阅读模式
本帖最后由 mmmmar 于 2017-2-7 17:21 编辑

最近在弄这个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?
http://bbs.espressif.com/viewtopic.php?t=838

这里我们使用NONOS_SDK,下载地址:
esp-open-sdk
https://github.com/pfalcon/esp-open-sdk

里边集成了NONOS_SDK的编译器和烧录工具等,也可用此编译器编译ESP_RTOS_SDK中的项目。

我们直接在命令行进行操作:
  1. #安装一些依赖工具
  2. $ sudo apt-get install make unrar-free autoconf automake libtool gcc g++ gperf \
  3.     flex bison texinfo gawk ncurses-dev libexpat-dev python-dev python python-serial \
  4.     sed git unzip bash help2man wget bzip2
  5. #如果ubuntu版本高于14.04可能还需要此工具
  6. $ sudo apt-get install libtool-bin
  7. #使用git克隆项目到本地,这里假设项目克隆到了/home/mmmmar/esp-open-sdk
  8. $ git clone --recursive https://github.com/pfalcon/esp-open-sdk.git
  9. #进入项目文件夹
  10. $ cd /home/mmmmar/esp-open-sdk
  11. #编译
  12. $ make STANDALONE=y
复制代码
注意:在SDK的编译过程中需要联网下载一些依赖库并编译,而且下载过程很容易失败,我在下载时挂代理才成功的。
如果编译失败可以查看esp-open-sdk/crosstool-NG/build.log 查看崩溃信息,一般都是下载失败。

编译成功后会在esp-open-sdk文件夹出现xtensa-lx106-elf  esptool  ESP8266_NONOS_SDK三个文件夹,分别是编译器,烧录工具,NONOS_SDK最新版。
这时需要把编译器路径加入到系统路径中,执行:
  1. #此命令只作用于当前控制台
  2. export PATH=/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. /home/mmmmar
  2. ├── ESP8266_NONOS_SDK
  3. │   ├── at
  4. │   ├── examples
  5. └── 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固件。

编译完成后有如下输出:
  1. !!!
  2. No boot needed.
  3. Generate eagle.flash.bin and eagle.irom0text.bin successully in folder bin.
  4. eagle.flash.bin-------->0x00000
  5. eagle.irom0text.bin---->0x10000
  6. !!!
复制代码
现在可以把ESP8266_NONOS_SDK/bin目录中生成的固件烧录到开发板中去了,可以使用esp-open-sdk/esptool/esptool.py
不过我用的是windows上的一键烧录工具,大家百度一下就能搜到。

在配置一栏里需要填写各个二进制文件的烧录地址,这里附上官方文档里说明:


详见:
2a-esp8266-sdk_getting_started_guide_en.pdf
http://espressif.com/sites/default/files/documentation/2a-esp8266-sdk_getting_started_guide_en.pdf

至此,整套编译工具烧录工具就可以使用了,接下来介绍如何配置Eclipes

二、配置Eclipes
其实直接用vim+YCM也行,不过集成开发环境还是用的舒服一点。这里用的Eclipes是eclipse-cpp-neon-2-linux-gtk版本。
下载连接: http://www.eclipse.org/downloads/packages/eclipse-ide-cc-developers/neon2

1、File-New-Makefile Project From Existing Code
2、输入项目名称,路径,语言类型为C,编译器选none

3、添加头文件搜索路径,Project-Properties-C/C++ General-Preprocessor Include Paths,Macros etc

添加图中两处include文件夹路径
注意在添加esp-open-sdk/xtensa-lx106-elf/xtensa-lx106-elf/include时勾选[Treat as build-in]  [ Contains system headers]

4、添加环境变量,Project-Properties-C/C++ Build-Environment,点击Add

5、创建编译目标,Project-Build Targets-Create

其中,Build command中填入的命令就等于我们执行gen_misc.sh并输入参数,详见示例工程中的!!!readme!!!.txt文件

6、编译目标,Project-Build Targets-Build

以上,完成了Eclipes所有的配置,附图一张





附加:
  1. /****************************************
  2. ESP8266_NONOS_SDK/include/c_types.h
  3. #define TRUE true
  4. #define FALSE flase
  5. 这两个宏定义在Eclipes的代码提示中会报错,可以修改一下
  6. ****************************************/
  7. #define TRUE   1
  8. #define FALSE  0  
复制代码
参考:
官网文档
http://espressif.com/en/products/hardware/esp8266ex/resources


Free and open (as much as possible) integrated SDK for ESP8266/ESP8285 chips
https://github.com/pfalcon/esp-open-sdk


Latest ESP8266 SDK based on FreeRTOS
https://github.com/espressif/ESP8266_RTOS_SDK








最后,不让插入外站链接,也是无语。初入嵌入式,找组织

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-4-26 19:39 , Processed in 0.042880 second(s), 18 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表