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

2019-06-16  本文已影响0人  神经骚栋

前言


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

安装交叉编译包


/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
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

添加到当前用户环境变量~/.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
xtensa-lx106-elf-gcc -v

VS Code 编译工程


#下载项目
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
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
make clean;make COMPILE=gcc

烧录Flash


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

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

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

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



这里提供两种烧录方案,一种是使用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

总结


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

MacOS 下搭建esp8266交叉编译环境

上一篇 下一篇

猜你喜欢

热点阅读