美文网首页
解决NodeMCU 烧写固件后依然无限重启

解决NodeMCU 烧写固件后依然无限重启

作者: 秋雨仲夏 | 来源:发表于2017-10-17 22:21 被阅读0次

    之前在用NodeMCU时候用到了GPIO5,GPIO6,后来导致NodeMCU一直不断重启(现象就是芯片上的LED灯狂闪,串口输出窗口狂输出乱码),重新烧写固件后依然无效,查询过资料后才知道,官网说明

     GPIO6~GPIO11不要使用,否则会引起存储错误,不停重启。

    后来查询文档 NodeMCU API中文说明,里面提到有一个flash错误(跟我遇到的存储错误类似,现象类似的都可以用这种方法解决)的解决方法,

    flash错误

    注意:有些模块在烧写之后启动,串口输出ERROR in flash_read: r=。。。

    这是因为模块原来的flash内部没有擦除。

    可使用,blank512k.bin,

    内容为全0xFF,从0x00000开始烧入。

    烧入之后可以正常运行。

    网上找了一下没有找到blank512k.bin下载,后来直接自己用标准IO在Ubuntu下写了一段代码生成blank.bin

    #include<stdio.h>

    #include<stdlib.h>

    int main()s

    {

    FILE *fblank;

    char blank[1*1024*1024]={0xFF}; //1M大小

    fblank=fopen("./blank1m.bin","w");

    fwrite(blank,1,sizeof(blank),fblank);

    fclose(fblank);

    return 0;

    }

    因为我们的NodeMCU flash大小有4M,不过我烧写的固件只有600K,所以生成一个1M的blank1m.bin擦除flash就够了(具体大小可以自己设定,只要能够覆盖原来使用过的flash大小范围就够了)

    把我们生成的blank1m.bin用ESP8266Flasher工具直接烧写进去,然后再烧写回自己的固件,NodeMCU恢复正常

    附上blank1m.bin文件:

    https://pan.lanzou.com/b164949/ 

    密码:h0ba

    相关文章

      网友评论

          本文标题:解决NodeMCU 烧写固件后依然无限重启

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