测试驱动是否安装好:
ls /dev | grep tty | head
在coolterm上点击connect可以成功连接, 建议用esplorer连接
刷固件工具都不好用, 而且要win系统运行, 把nodemcu刷废了, 于是用官方的esptool.py刷法:
nodemcu-build.com选择模块过多是无法编译的
模块太多无法编译
image.png
成功编译提醒, 接下来等待邮件两封, 第一封提示开始编译, 第二封提供float和integer两个版本固件
image.png
下载esptool.py
修改权限 chmod 777 ./esptool.py
获取mac上的设备端口: ls /dev/tty.*
3.1 记住这个"/dev/tty.SLAB_USBtoUART" 每个设备上可能不同, 自己去找, 这个和软件打开com里面列出来名字是一样的
win下获取端口dos下使用chgport
/dev/tty.Bluetooth-Incoming-Port /dev/tty.SLAB_USBtoUART
/dev/tty.SBH70-CSRGAIA
擦除flash, 官方说很多人在升级时忽略了芯片初始化, 发生问题后可以擦除flash, 格式为
esptool.py --port erase_flash
运行效果
./esptool.py --port /dev/tty.SLAB_USBtoUART erase_flash
image.png
官方提示升级错误导致sdk无法识别, 会导致无尽重启, 或者死循环, 或者led疯狂闪烁
Symptoms include messages like rf_cal[0] !=0x05,is 0xFF, or endless reboot loops and/or fast blinking module LEDs.
获取芯片的容量
esptool.py --port flash_id
运行效果, 有4mb哦 很满足
esptool.py --port /dev/tty.SLAB_USBtoUART flash_id
image.png
升级固件
esptool.py --port write_flash -fm 0x00000 .bin
运行效果
esptool.py --port /dev/tty.SLAB_USBtoUART write_flash -fm dio 0x00000 下载的固件.bin
image.png
然后软件还是找不到sdk版本, 之后就又下载了新的fireware刷, 后来把频率改为115200能成功连接开发工具了, 看来频率不仅仅是影响乱码, 也影响和芯片连接.
-fm dio这个指令不要换成-fm qio, 我刚作死试了几次, 发现又无法成功刷固件, 然后以为是bin包太大导致的, 但是不应该, 反复试无论大小还是float, int都无法成功再刷写固件, 后发现了这个指令, 本身我是试试的去改这个参数, 这个参数是说qio支持512kb以下的刷写, dio支持4mb以上的刷鞋, 应该是对应硬件存储, 而不是固件大小的, 大家谨记
9.成功和失败刷写后开发工具链接的效果, 可反复练习, 感觉这个芯片只要不用锤子, 理论刷不坏
刷写失败
image.png
刷写成功
image.png
ps:虽然工具软件界面人性化, 但是还是通过py方式刷固件更直观
ps2: 我把我生成的固件放到百度云里面方便大家下载:
关于连接esplorer时出现的乱码
http://blog.csdn.net/dustintime/article/details/54914054
这里有解释, 启动时如果能调试成功, 记住这个波特率, 然后改成74880启动, 你会看到第一行的乱码变成了很多行的数据, 而之前你看到的部分变成了乱码, 他连接的时候动态调整波特率, 先用74880输出内部信息, 再通过9600 (我这里是115200)进行调试, 不管哪个频道, 永远有一行是乱码