目录

④ESP8266 开发学习笔记_By_GYC 【Ubuntu系统下ESP8266 开发环境搭建】

一、安装前准备

1、乐鑫官方的ESP-IDF 编程指南

2、ESP-IDF风格的ESP8266 SDK。

3、交叉编译工具链

二、根据官方指南开始安装

三、创建工程

四、使用编辑器


④ESP8266 开发学习笔记_By_GYC 【Ubuntu系统下ESP8266 开发环境搭建】

刚刚安装好Ubuntu虚拟机,接下来就可以配置ESP8266 的ESP-IDF开发环境了。

一、安装前准备

首先介绍我们环境配置需要的一些文件

1、乐鑫官方的ESP-IDF 编程指南

https://docs.espressif.com/projects/esp-idf/zh_CN/latest/index.html

2、ESP-IDF风格的ESP8266 SDK。

https://github.com/espressif/ESP8266_RTOS_SDK.git

3、交叉编译工具链

  • Windows
  • Mac
  • Linux(64)
  • Linux(32)

我使用的是64位版本Linux使用的工具链

https://dl.espressif.com/dl/xtensa-lx106-elf-linux64-1.22.0-92-g8facf4c-5.2.0.tar.gz

二、根据官方指南开始安装

step1.

终端下输入如下命令获取安装包依赖

sudo apt-get install gcc git wget make libncurses-dev flex bison gperf python python-pip python-setuptools python-serial python-cryptography python-future python-pyparsing python-pyelftools

step2.

在home下创建esp文件夹

将下载完成的交叉编译工具链放到esp目录下,解压到 ~/esp 目录:

mkdir -p ~/esp
cd ~/esp
tar -xzf xtensa-lx106-elf-linux64-1.22.0-92-g8facf4c-5.2.0.tar.gz

step3.

使用的git命令从github上获取ESP-IDF风格的最新版本SDK

 git clone https://github.com/espressif/ESP8266_RTOS_SDK.git

step4.

根据官方文档对esp32的描述,我们可以推测esp8266的配置方式

要使用工具链,你还需要在 ~/.profile 文件中更新环境变量 PATH。要使 xtensa-esp32-elf 在所有的终端会话中都有效,需要将下面这一行代码添加到你的 ~/.profile 文件中:

export PATH="$HOME/esp/xtensa-esp32-elf/bin:$PATH"

设置环境变量:

工具链通过环境变量 IDF_PATH 获得 ESP-IDF 的目录。因此,您需要在 PC 中设置该环境变量,否则无法编译工程。

在 ~/.profile 文件中加入以下指令,创建 IDF_PATH

export IDF_PATH=~/esp/esp-idf

注销并重新登录以使此更改生效。

这样要修改系统文件,将下面这两行代码添加到你的 ~/.profile 文件中

export PATH="$HOME/esp/xtensa-lx106-elf/bin:$PATH"
export IDF_PATH=~/esp/ESP8266_RTOS_SDK

但是我更推荐使用下面第二种方法,在profile.d文件夹下创建 esp_Toolchain_config.sh文件,在文件中填入这如下命令。

# esp8266 Toolchain config
export PATH="$HOME/esp/xtensa-lx106-elf/bin:$PATH"# esp8266 SDK config
export IDF_PATH=~/esp/ESP8266_RTOS_SDK

这样操作能够方便全局宏定义的管理。

step5.

设置好之后重启系统。

检查设置的PATH是否生效了

已经生效,可以使用了。

三、创建工程

配置好环境之后就可以在任意路径创建工程,比如我在home下新建一个ESP_PROJECT文件夹,将 IDF_PATH 下的 example 例程 project_template 复制到该文件夹下。

在该文件夹下打开终端,使用make命令就可以对工程进行编译了。在这里我们第一次编译需要对一些功能选项进行配置

比如调整下载波特率和调整esp8266的flash大小

选择 < Save > 保存后逐级退出。工程开始编译。

可以注意到它生成了3个bin文件

0x0000 /home/gyc/ESP_PROJECT/project_template/build/bootloader/bootloader.bin
0x10000 /home/gyc/ESP_PROJECT/project_template/build/project_template.bin
0x8000 /home/gyc/ESP_PROJECT/project_template/build/partitions_singleapp.bin

三个文件分别是 启动文件、工程文件、分区表。我们将这些文件烧录到芯片中就完成了程序的下载。

如果使用Linux环境进行,第一次使用USB进行下载还需要给设备授权,使用命令

sudo chmod 777 /dev/ttyUSB0

可以使用 make flash 命令进行编译下载,也可以使用

make flash monitor

来一次性执行构建、烧录和监视过程。

至此我们就完成了在Ubuntu系统下ESP8266 ESP-IDF风格的SDK环境设置了

四、使用编辑器

你肯定觉得使用系统自带的文本编辑器来写代码很不舒服。它既不美观,又不便于调试,因此我推荐使用VSCode作为代码编辑器来辅助我们的开发。

1、安装VSCode

上一篇已经介绍了。

2、安装你喜欢的插件

好的插件能够提高我们编写程序的效率和质量,比如我比较喜欢使用下面几个插件:

3、最终效果

我们可以直接在Terminal里面输入命令,编译、下载和启动监视器。这样操作方便了许多,感谢微软提供了这么强大的代码编辑器。

ESP8266的环境搭建到这里就结束了,我们可以在Ubuntu版本的Linux系统上愉快的开发和调试ESP8266了。

如果有任何环境搭建的问题欢迎和我一起讨论,也希望大家能推荐我一些好用的插件,让我能更快的完成文档的编写~嘿嘿嘿。我的项目将会慢慢上传到我的github网站上(https://github.com/gengyuchao),欢迎大家关注我的博客和github呀~~

④ESP8266 开发学习笔记_By_GYC 【Ubuntu系统下ESP8266 开发环境搭建】相关推荐

  1. ubuntu 系统下的Caffe环境搭建

    原文地址:http://blog.csdn.net/hjimce/article/details/48781693 作者:hjimce 对于caffe的系统一般使用linux系统,当然也有window ...

  2. ③ESP8266 开发学习笔记_By_GYC 【虚拟机Ubuntu系统的安装】

    目录 ③ESP8266 开发学习笔记_By_GYC [虚拟机Ubuntu系统的安装] 一.获取最新稳定版本的Ubuntu系统安装包. 二.软件安装 三.接下来 ③ESP8266 开发学习笔记_By_G ...

  3. ⑦ ESP8266 开发学习笔记_By_GYC 【ESP8266 驱动 DHT11 温湿度传感器】

    目录 一.准备材料 二.硬件连接 三.软件编程 1.修改工程名 2.添加组件 3.编程 4.反馈结果 5.核心代码 四.总结 ⑦ ESP8266 开发学习笔记_By_GYC [ESP8266 驱动 D ...

  4. ① ESP8266 开发学习笔记_By_GYC 【更新 ets_printf 函数 使ESP_IDF 能够支持浮点数打印】

    ① ESP8266 开发学习笔记_By_GYC [更新 ets_printf 函数 使ESP_IDF 能够支持浮点数打印] 在我们日常的开发过程中,经常使用到的一个功能就是串口打印功能.在ESP826 ...

  5. ⑥ESP8266 开发学习笔记_By_GYC 【ESP8266 驱动 OLED屏幕】

    ⑥ESP8266 开发学习笔记_By_GYC [ESP8266 驱动 OLED屏幕] 目录 ⑥ESP8266 开发学习笔记_By_GYC [ESP8266 驱动 OLED屏幕] 适用范围 user_c ...

  6. ② ESP8266 开发学习笔记_By_GYC 【ESP8266 驱动 ws2812 三原色灯(spi方式 稳定灯光)】

    目录 ② ESP8266 开发学习笔记_By_GYC [ESP8266 驱动 ws2812 三原色灯(spi方式 稳定灯光)] 一.驱动ws2812遇到的问题 二.可能的方案 三.具体实现 四.测试程 ...

  7. ⑤ESP8266 开发学习笔记_By_GYC 【ESP8266 IDF框架 使用C++编程】

    ⑤ESP8266 开发学习笔记_By_GYC [ESP8266 IDF框架 使用C++编程] 目录 ⑤ESP8266 开发学习笔记_By_GYC [ESP8266 IDF框架 使用C++编程] 一.简 ...

  8. 关于友善电子开发板RK3399再Ubuntu系统下串口绑定

    一.在友善电子RK3399开发板上面的Ubuntu系统下串口绑定. 我的需求是在两个不同厂家的串口号进行绑定,以前用一个厂家的两个串口进行绑定,然后发现无法识别那个串口因为串口序列号是一致的,所以本文 ...

  9. Kinect开发学习笔记之(三)Kinect开发环境配置

    Kinect开发学习笔记之(三)Kinect开发环境配置 zouxy09@qq.com http://blog.csdn.net/zouxy09 我的Kinect开发平台是: Win7 x86 + V ...

最新文章

  1. 5G — 3 大场景、8 大 KPI
  2. Erlang的边界检查(3)
  3. 简单的网络爬虫实现(Jsoup使用)
  4. Set与WeakSet
  5. 【渝粤教育】国家开放大学2018年春季 8616-22T食品营养卫生 参考试题
  6. Java-多线程第一篇多线程相关认识(1)
  7. Ubuntu1604安装pycharm
  8. # 搭建用户行为分析系统(一)——概述
  9. 第四章 Python数据预处理之划分训练集与测试集
  10. 解决:The POM for xxx is missing, no dependency information available
  11. Nginx(九):Nginx网页压缩技术
  12. PHP程序员职业发展规划和技术需求
  13. SAP MM 固定资产采购订单
  14. RCLAMP0524P超低电容TVS二极管阵列,DFN-10L封装
  15. 中级微观经济学:Chap 14 消费者剩余
  16. rsync实现两台服务器上的实时同步
  17. 关于学而时习之,不亦悦乎
  18. 3000字干货!如何做好一个BI项目的规划和需求定义?
  19. 个人博客搭建记录 Hexo+Butterfly+Github Page+Coding
  20. 苹果核”乔布斯不为人知的九件事

热门文章

  1. 关于联想G480BIOS中的设置
  2. Qt creator中调试 变更库一些小讨巧
  3. 基于卷积神经网络的交通标志识别
  4. 输电线路隐患在线监测装置(综合型装置)
  5. 程序员要学的东西这么多,怎么合理安排学习?
  6. 贵州魔百盒M301H-ZN代工_HI3798MV300H_8822CS无线-强刷卡刷固件
  7. Java数据加密、解密
  8. jpg怎么压缩文件KB?jpg图片怎么改文件大小?
  9. linux 中的中断处理
  10. c语言是一种面向过程的程序设计语言,C语言实现面向对象的C语言是一种面向过程的语言联合开发网络...