最近比较蛋疼的是,想使用nodemcu固件是8266轻度睡眠,然而:
所以这里需要我们自定义修改固件
固件地址:https://gitee.com/fan_w/nodemcu-firmware.git
准备
一台linux电脑,我这里用的虚拟机
安装一些软件
执行 apt-get install make gedit git tar unzip srecord python python-serial gcc g++
分开看(tar unzip ......自行百度都是干什么的)
gedit : 相当于记事本
tar : 解压tar类型的压缩包
unzip:解压zip类型的压缩包
srecord:裁剪拼接文件用
进入opt文件夹
执行
sudo git clone https://gitee.com/fan_w/nodemcu-firmware.git
然后执行
cd nodemcu-firmware
nodemcu-firmware-release 这个是lua的源码
xtensa-lx106-elf 这个是编译8266所需要的环境
解压源码
sudo unzip nodemcu-firmware-release.zip
接着解压
tar -xvf xtensa-lx106-elf-ccf1cfd2.tar.bz2
权限不够 加 sudo
修改下xtensa-lx106-elf 文件的权限,让文件可读可写,防止后续编译中出现没有权限问题
文件是绿色就不用修改...大家自己百度文件颜色和对应的权限
输入
chmod -R 777 ./xtensa-lx106-elf
设置环境环境
vim /etc/environment
权限不够 加 sudo
在文档的后面加上
:/opt/nodemcu-firmware/xtensa-lx106-elf/bin
:q
执行 source /etc/environment 立即生效环境变量
echo $PATH 查看当前环境变量
测试一下
执行
xtensa-lx106-elf-gcc -v
为了防止编译出错,设置 nodemcu-firmware 里面所有的权限
执行
sudo chmod -R 777 ./nodemcu-firmware-release
c'd
进入
cd nodemcu-firmware-release/
//解压esp-open-sdk.tar.xz
tar -Jxvf tools/esp-open-sdk.tar.xz
进入:app/include/user_config.h
修改自己需要的,比如此时我需要使用轻度睡眠功能,打开user_config,h 可以看到
//配置环境变量
执行 export PATH=$PATH:$PWD/esp-open-sdk/xtensa-lx106-elf/bin
/获取日期
执行 export BUILD_DATE=$(date +%Y%m%d)
//编译
make EXTRA_CCFLAGS="-DBUILD_DATE='\"'$BUILD_DATE'\"'" all