美文网首页
基于MacOS的ESP8266 NodeMCU开发环境搭建(转载

基于MacOS的ESP8266 NodeMCU开发环境搭建(转载

作者: 神经骚栋 | 来源:发表于2019-06-16 00:28 被阅读0次

    前言


    前段时间一直使用Windows进行ESP8266的Nonos SDK开发,由于使用的安信可提供的一体化开发工具,安装起来十分的简单粗暴.只需要下载下来之后配置一下就可以使用了,但是在Mac 上确没有明确的开发环境搭建教程,大部分是基于 Ardiuno IDE 进行开发ESP8266的,而 Ardiuno IDE 没有代码提醒以及高亮状态让我感到十分的不爽.所以就在网上搜寻了一番,发现了一个基于 VS Code 的环境搭建流程.这里就直接分享整理一下了.

    安装交叉编译包


    • 安装交叉编译包之前首先先确定是否已经安装了Mac的软件包管理工具 Homebrew,默认的话就是一行命令行指令即可完成.如下所示.如果发现下载太慢导致失败可以参考下HomeBrew 官方安装太慢而失败?这么搞就行.
    /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
    
    • 软件包管理工具安装完成之后,我们就要使用下面的命令开始下载我们所需的依赖.
    brew install binutils coreutils automake autoconf wget gawk libtool help2man gperf gnu-sed grep
    
    • 安装完成所需依赖之后,我们就要下载交叉编译包了,这里推荐的是2.3.0版本(网上说这个版本较好,具体没有测试过.).下载过程可能有点慢,耐心等待就好.下载完成之后进行解压操作.然后所以指令如下所示.
    sudo mkdir -p /opt/esp8266
    
    sudo chmod 777 /opt/esp8266
    
    cd /opt/esp8266
    
    wget https://github.com/esp8266/Arduino/releases/download/2.3.0/osx-xtensa-lx106-elf-gb404fb9-2.tar.gz
    
    tar zxvf osx-xtensa-lx106-elf-gb404fb9-2.tar.gz
    
    • 解压完成之后我们添加到环境参数PATH中,主要是vim指令,具体百度不解释了.指令如下所示.

    添加到当前用户环境变量~/.bash_profile文件中.
    如果要添加到全局,则修改/etc/bashrc文件.

    vi ~/.bash_profile
    
    #添加如下两行:
    export PATH=/usr/local/opt/gnu-sed/libexec/gnubin:$PATH
    export PATH=/opt/esp8266/xtensa-lx106-elf/bin:$PATH
    
    • 然后重新打开终端或者使用 source ~/.bash_profile 生效环境设置。
    source ~/.bash_profile
    
    • 当然了,我们还是要最后检查一下交叉编译包是否已经安装成功了.使用下面的指令即可.
    xtensa-lx106-elf-gcc -v
    
    • 当发现有如下的信息输出时,就代表着我们已经安装成功了.

    VS Code 编译工程


    • 在编译工程之前我们首先要下载一个Demo工程用于编译. cd到合适的文件夹位置,然后执行下面的指令.
    #下载项目
    wget http://wiki.ai-thinker.com/_media/esp8266/sdk/esp8266_nonos_sdk-2.2.0.zip
    
    unzip esp8266_nonos_sdk-2.2.0.zip
    
    cd ESP8266_NONOS_SDK-2.2.0
    
    #将 driver_lib 和 examples/IoT_Demo 下的文件拷贝到 app目录下
    mv driver_lib app
    
    cp -rf examples/IoT_Demo/* app/
    
    rm -rf examples
    
    rm -rf third_party
    
    • 在上面的一顿操作之后,我们还需要连接两个库.分别是libc.alibhal.a,指令如下所示.
    wget -O lib/libc.a https://github.com/esp8266/esp8266-wiki/raw/master/libs/libc.a
    
    wget -O lib/libhal.a https://github.com/esp8266/esp8266-wiki/raw/master/libs/libhal.a
    
    • 上面的操作完成之后,我们就通过VSCode 打开 我们下载好的工程了.在终端窗口执行下面的命令即可编译我们的Demo工程了.(其实是make clean 是清除编译文件,make COMPILE=gcc是进行编译)
    make clean;make COMPILE=gcc
    
    • 编译完成之后控制台打印信息如下所示.

    烧录Flash


    esp8266 NodeMCU 一共有两种形式的USB转串口芯片,一种是价格比较便宜的CH340,另外一种是CP2102,这时候我们直接用安卓数据线连接电脑,是读不出来的,所以我们需要安装着两种芯片的驱动,安装哪一个,大家看自己的板子上芯片型号即可.如下图所示就是一个CP2012的芯片的板子.

    CH340 和 CP2012驱动下载传送门 提取码: rqa1

    烧录之前我们需要看一个图表,这个图表就是用来说明我们需要烧录的地址.由于我们的NodeMCU是4Mb的内存,所以我们要按照图上的所示内存地址进行对应的烧录.这个图表可以在安信可官网的文档中找到.

    具体可参照如何为 ESP 系列模组烧录固件



    这里提供两种烧录方案,一种是使用Python,另外一种是使用图形化工具.

    • Python形式烧录

    首先安装Python3 看清是Python3,安装过Python 3 的童鞋就可以跳过直接安装pip了.操作如下所示.由于已经安装过了,所以这里就不再截图说明了.

    brew install python3
    

    紧接着就是安装pip,pip是Python的包管理工具,类似于Java的Maven,iOS的CocoaPods等等.

    #准备安装包
    wget wget https://bootstrap.pypa.io/get-pip.py
    #安装
    sudo python3 get-pip.py
    #安装成功,提示如下:
    Installing collected packages: pip, wheel
    Successfully installed pip-18.1 wheel-0.32.3
    

    如果想要卸载 pip .使用下面的命令即可.

    python -m pip uninstall pip
    

    然后安装esptool,这个是烧录程序.

    #安装esptool
    pip3 install esptool
    

    安装完成,使用安卓数据线连接NodeMCU开发板,然后使用下面命令查看对应的接口.

    #查找usb serial 设备:
    ls /dev/tty.wchusbserial*
    

    可以查找到如下的串口信息.

    这样我们整体的准备工作就完成了.我们接下来就开始进行烧录.前期怕其他文件损坏,所以是使用四个文件一起烧录,后期可以只烧录两个文件即可.注意需要根据上面来修改对应的串口信息.

    # 只刷2个文件
    esptool.py --port /dev/tty.wchusbserial1420 write_flash --flash_freq 40m --flash_mode dout --flash_size 4MB 0x0 bin/eagle.flash.bin 0x10000 bin/eagle.irom0text.bin
    
    # 刷完整文件
    esptool.py --port /dev/tty.wchusbserial1420 write_flash --flash_freq 40m --flash_mode dout --flash_size 4MB 0x0 bin/eagle.flash.bin 0x10000 bin/eagle.irom0text.bin 0x3FB000 bin/blank.bin 0x3FC000 bin/esp_init_data_default_v08.bin 0x3FE000 bin/blank.bin
    
    
    • 图形化工具烧录
    • 工程编译完成之后,我们就要去把编译好的文件烧录到Flash中去.这时候我们可以去App Store 下载 ESP8266 Flash 工具. ESP8266 Flash下载传送门
    • 下载安装完成之后 打开ESP8266 Flash,首先我们需要选择 ESP8266 SDK, 然后会发现需要esptool.py这个文件路径.这里可以从 esptool 这个github中获取到工程,然后选择的时候指向文件夹即可.如下图所示.
    • 这时候我们选择合适的烧录文件然后点击 Flash Firemware 按钮进行烧录,发现一个esptool.py导入操作.如下图所示.
    • 这是因为可能Python版本过低的问题导致的,所以我们需要下载3.0以上的Python版本.

    总结


    整体上来说弄了一遍之后还是挺简单的,如果有任何问题欢迎在评论区评论或者私信我,谢谢大家.最后要附上转载博客的地址啦.

    MacOS 下搭建esp8266交叉编译环境

    相关文章

      网友评论

          本文标题:基于MacOS的ESP8266 NodeMCU开发环境搭建(转载

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