美文网首页物联网loT从业者物联网相关技术研究
ESP8266学习笔记(17)——搭建环境、编译烧写(RTOS

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

作者: Leung_ManWah | 来源:发表于2020-02-03 21:18 被阅读0次

    一、前言

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

    由于在 Windows 环境中搭建遇到了许多问题未能解决,所以本篇采用在 Linux 环境中搭建。
    Windows 环境搭建参看 Esp8266 进阶之路27【高级篇】跟紧脚步,Windows下用 Visual Studio Code开发 esp8266 rtos SDK v3.0版本,全新 idf 框架,节省内存模块化开发

    二、搭建环境

    2.1 安装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.1.1 安装VMware Tools

    2.2 安装Ubuntu 16.04

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

    2.2.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.3 下载工具链Toolchain

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

    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.4 下载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.5 安装所需的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
    

    四、烧写

    1. 输入命令
    make flash
    

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

    Flashing binaries to serial port /dev/ttyUSB0 (app at offset 0x10000)...
    esptool.py v2.4.0
    Connecting....
    Chip is ESP8266EX
    Features: WiFi
    MAC: ec:fa:bc:1d:33:2d
    Uploading stub...
    Running stub...
    Stub running...
    Configuring flash size...
    Compressed 7952 bytes to 5488...
    Wrote 7952 bytes (5488 compressed) at 0x00000000 in 0.5 seconds (effective 129.9 kbit/s)...
    Hash of data verified.
    Compressed 234800 bytes to 162889...
    Wrote 234800 bytes (162889 compressed) at 0x00010000 in 14.4 seconds (effective 130.6 kbit/s)...
    Hash of data verified.
    Compressed 3072 bytes to 83...
    Wrote 3072 bytes (83 compressed) at 0x00008000 in 0.0 seconds (effective 1789.8 kbit/s)...
    Hash of data verified.
    
    Leaving...
    Hard resetting via RTS pin...
    
    • 遇到报错: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
    

    • 由 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篇

    相关文章

      网友评论

        本文标题:ESP8266学习笔记(17)——搭建环境、编译烧写(RTOS

        本文链接:https://www.haomeiwen.com/subject/hebtxhtx.html