ESP8266学习笔记(17)——搭建环境、编译烧写(RTOS SDK)Linux篇

一、前言

ESP8266 的 RTOS SDK 从 3.0 开始使用 ESP-IDF(乐鑫物联网开发框架,Espressif IoT Development Framework) 的代码框架,相比 2.0 的编译二次开发方便了很多,旨在通过Wi-Fi,电源管理和其他一些系统功能快速开发物联网(IoT)应用程序。

Windows 环境搭建参看 ESP8266学习笔记(18)——搭建环境、编译烧写(RTOS SDK)Windows篇

二、搭建环境

2.1 官方资料

ESP8266_RTOS_SDK(IDF风格)编程指南

2.2 安装VMware Workstation 15

官网下载:https://my.vmware.com/en/web/vmware/info/slug/desktop_end_user_computing/vmware_workstation_pro/15_0?wd=&eqid=e1807fba0005b9c7000000065e34ef5b
百度网盘:https://pan.baidu.com/s/1oN7H81GV0g6cD9zsydg6vg 提取码:mrn9

2.2.1 安装VMware Tools

2.3 安装Ubuntu 16.04

阿里云镜像:http://mirrors.aliyun.com/ubuntu-releases/
百度网盘:https://pan.baidu.com/s/1LzE--l-5k7PLQWhIp-ktBw 提取码:347p

2.3.1 安装相关工具

  1. sudo apt-get install gcc git wget make libncurses-dev flex bison gperf python python-serial
  • 遇到报错:Package python-dev is not available, but is referred to by another package
  1. 在执行上一步 sudo apt-get update
  • 遇到报错:Could not get lock /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)
  1. 在执行上一步 sudo apt-get update 时,下载速度过慢

2.4 下载工具链Toolchain

官网下载:https://docs.espressif.com/projects/esp8266-rtos-sdk/en/latest/get-started/linux-setup.html
百度网盘:https://pan.baidu.com/s/1ciwY1qoMu-E3cKO74NhaMQ 提取码:x7vx

image

  1. 下载此文件,然后将其解压缩到 ~/esp8266 目录中:
mkdir -p ~/esp8266
cd ~/esp8266
tar -xzf ~/Downloads/xtensa-lx106-elf-linux64-1.22.0-100-ge567ec7-5.2.0.tar.gz
  1. 工具链将被提取到 ~/esp8266/xtensa-lx106-elf/ 目录中。

  2. 要使用它,您将需要更新文件中的PATH环境变量 /etc/profile

cd /etc
sudo chmod 777 profile
vim profile
  1. 要使 xtensa-lx106-elf 所有终端会话都可用,请在 profile 文件中添加以下行:
export PATH=$PATH:$HOME/esp8266/xtensa-lx106-elf/bin
export IDF_PATH="$HOME/esp8266/ESP8266_RTOS_SDK-master"
  1. 注销并重新登录以使 profile 更改生效。运行以下命令以验证是否 PATH 正确设置:
printenv PATH
  1. 在命令行终端执行 xtensa-lx106-elf-gcc -v,如可看到版本号,表示当前交叉编译器安装成功。

2.5 下载RTOS SDK 3.0以上

官网下载:https://github.com/espressif/ESP8266_RTOS_SDK
百度网盘:https://pan.baidu.com/s/143bPRDj3tSA42zpMvDsZww 提取码:xhsp
克隆存储库:git clone --recursive https://github.com/espressif/ESP8266_RTOS_SDK.git

  • 将 ESP8266_RTOS_SDK 会下载到 ~/esp8266/ESP8266_RTOS_SDK
  • 新文件中的PATH环境变量 /etc/profile,在上一步已完成。
export IDF_PATH="$HOME/esp8266/ESP8266_RTOS_SDK-master"

2.6 安装所需的Python软件包

ESP8266_RTOS_SDK 所需的 Python 包位于 $IDF_PATH/requirements.txt 文件中。您可以通过运行以下命令安装它们:

python -m pip install --user -r $IDF_PATH/requirements.txt

三、编译

  1. 进入示例工程:
cd ~/esp8266/ESP8266_RTOS_SDK/examples/get-started/project_template/
  1. 启动项目配置实用程序:
make menuconfig
  1. 如果正确完成了前面的步骤,将显示以下菜单:


在菜单中,导航至> 以配置要在其中加载项目的串行端口。按Enter确认选择,按选择保存配置,然后按选择退出应用程序。Serial flasher config Default serial port < Save > < Exit >

  1. 进行编译
make all
  • 遇到报错:pkg_resources cannot be imported probably because the pip package is not installed and/or using a ’
    'legacy Python interpreter. Please refer to the Get Started section of the ESP-IDF Programming Guide for ’
    'setting up the required packages.
pip install --upgrade pip

四、烧写

4.1 编译环境中烧写

  1. 先把开发板调为烧写模式


    image.png
  2. 输入命令

make flash

这将编译应用程序和所有 ESP8266_RTOS_SDK 组件,生成引导加载程序,分区表和应用程序二进制文件,并将这些二进制文件闪存到 ESP8266 板上。

AR build/wpa_supplicant/libwpa_supplicant.a
Generating esp8266.project.ld
LD build/simple_wifi.elf
esptool.py v2.4.0
402460b8
Python requirements from D:/msys32/home/alm-text/esp/ESP8266_RTOS_SDK-master/requirements.txt are satisfied.
Flashing binaries to serial port COM5 (app at offset 0x10000)...
esptool.py v2.4.0
Connecting........_____....._____....._____....._____....._____....._____....._____

出现Connecting的时候开发板重新上电

  • 遇到报错:Permission denied: '/dev/ttyUSB0' serial.serialutil.SerialException:[Errno 13] could not open port /dev/ttyUSB0
  • 解决办法:

如果发生这种情况,您可能需要将当前用户添加到具有适当权限的正确组(通常为“拨出”):

sudo usermod -a -G dialout $USER

另外,您还可以在运行make命令解决以下问题之前,使用“ sudo chmod”对“ / dev / ttyUSB0”文件设置权限:

sudo chmod -R 777 /dev/ttyUSB0
  1. Linux串口调试
make monitor

4.2 烧录工具烧写

ESPFlashDownloadTool_v3.6.4.exe
链接:https://www.espressif.com/zh-hans/support/download/other-tools
然后按照 make all 中提示的文件和烧录地址




• 由 Leung 写于 2020 年 2 月 3 日

• 参考:ESP8266_RTOS_SDK (IDF Style) Programming Guide
    esp8266~入坑sdk 3.0 IDF框架和linux交叉编译环境搭建
    乐鑫esp8266学习rtos3.0笔记第1篇: 全面认识乐鑫esp8266 Rtos 3.0 sdk 工程结构
    Esp8266 进阶之路27【高级篇】跟紧脚步,Windows下用 Visual Studio Code开发 esp8266 rtos SDK v3.0版本,全新 idf 框架
    ESP8266学习之路(一)开发环境的搭建——VSCODE+ESP-IDF+RTOS_SDK
    ESP8266_RTOS_SDK v3.0学习(1)--------环境搭建
    ESP8266(v3.0以上)SDK新环境搭建教程
    ESP 8266学习笔记1: RTOS SDK编程环境搭建(3.0以上)
    ESP8266交叉编译环境搭建之linux篇

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,088评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,715评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,361评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,099评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 60,987评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,063评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,486评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,175评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,440评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,518评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,305评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,190评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,550评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,880评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,152评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,451评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,637评论 2 335

推荐阅读更多精彩内容