Flash map error on NodeMCU with 12E

Posted on
  • With the help of fellow travelers here, I got my WS2811 50LED test strip working using the neoPixel call. I was unsuccessful using SPI directly through GPIO13 (NodeMCU D7) with the exact same code that works like a champ on the Pico. I followed the example in the tutorial using the send4bit call to shape the NZR waveform the 2811B modules are expecting.

    Got some light, but weird colors, not what I sent. I'm guessing the baud rate setting is not precise, or, as Gordon mentioned in another thread, the H/W SPI still does some waiting/checking/something for each byte, so the continuous 800khz stream isn't actually happening. (Aside, where can I find the source for the neopixelWrite() call? I'd like to see how its implemented).

    Anyway, my main problem's solved: I can drive these strips effectively with an 8266, which was the goal.

    Here's the problem: I get these random crashes:

     _____                 _
    |   __|___ ___ ___ _ _|_|___ ___
    |   __|_ -| . |  _| | | |   | . |
    |_____|___|  _|_| |___|_|_|_|___|
              |_| http://espruino.com
     1v85.tve_master_66fde09 Copyright 2016 G.Williams
    Espruino is Open Source. Our work is supported
    only by sales of official boards and donations:
    http://espruino.com/Donate
    Flash map 4MB:512/512, manuf 0xe0 chip 0x4016
    >
     ets Jan  8 2013,rst cause:4, boot mode:(3,7)
    wdt reset
    load 0x40100000, len 1396, room 16
    tail 4
    chksum 0x89
    load 0x3ffe8000, len 776, room 4
    tail 4
    chksum 0xe8
    load 0x3ffe8308, len 540, room 4
    tail 8
    chksum 0xc0
    csum 0xc0
    2nd boot version : 1.4(b1)
      SPI Speed      : 80MHz
      SPI Mode       : QIO
      SPI Flash Size & Map: 32Mbit(512KB+512KB)
    jump to run user1 @ 1000
    r
    Disconnected
    

    What's going on? Looks like a reset -- is that a flaky reset button on the NodeMCU board? I note that if I rest my finger over the button area, contacting the USB connector, and over some other components on the board, the problem goes away. So it looks like noise. However, I don't know how to interpret "rst cause:4" and the other stuff sent to the console.

  • Hey, I'm getting this error on one on my ESPs too, I was playing around with some WS2812b LEDs and I saved the code on the ESP, it became non responsive so I disconnected and couldn't reconnect. I tried to flash Espruino back on but when connecting from the WebIDE I just get this printed every few seconds. I don't mind one of my NodeMCU's being out of commission, I just hope the saving thing will allow someone to recreate this issue for debugging.

     ets Jan  8 2013,rst cause:4, boot mode:(3,7)
    wdt reset
    load 0x40100000, len 1396, room 16
    tail 4
    chksum 0x89
    load 0x3ffe8000, len 776, room 4
    tail 4
    chksum 0xe8
    load 0x3ffe8308, len 540, room 4
    tail 8
    chksum 0xc0
    csum 0xc0
    2nd boot version : 1.4(b1)
      SPI Speed      : 80MHz
      SPI Mode       : QIO
      SPI Flash Size & Map: 32Mbit(512KB+512KB)
    jump to run user1 @ 1000
    ;Loading -491521 bytes from flash...
    
  • Here is the reason for the reset:

    wdt reset

    That
    Means the watch dog reset fired. This means that the esp8266 did not return to the os, it was locked up, so it fires the reset.

    Did you have save() code that is not allowing the i2c to initialise properly?

  • Do not understand what you mean about the I2C code and saving. I'm a noob :-)

    However, it doesn't matter -- I get this problem with a virgin, freshly flashed NodeMCU esp8266. I had a problem at first that I'd flashed for the 512kb 01 board, but fixed that and am still getting this watchdog timer issue with nothing loaded and running at all.

    Oh, and the strangest part of this -- it acts like noise or some capacitive coupling issue because if I rest my finger on the board in the right place (among other things, the CP2102 chip is there -- USB->serial) the problem doesn't happen.

  • @dwallersrv @Ducky first thing to do is use 'erase_flash' with esptool.py. Then reflash it. This will clear any saved code.

  • @Ollie thanks for the suggestion -- unfortunately, that's what I did every time I flashed it, so that's not the problem. I'll give it another go, though, and see what happens.

  • @dwallersv Odd. With nothing running, on a totally wiped board and to be stuck in the reset loop.. I've read elsewhere that this can be power, or pull up related but if you aren't running anything at all that's unlikely. Potentially a defective NodeMCU?

  • @dwallersv

    Paste the erase and flashing scripts you are using here.... Could be something wrong with those....

  • Thanks, that did it.

  • I've determined with certainty it's a flaky board (what do you expect for $7?).

    If I have contact with the area of the board where the CP2102 USB/serial chip is (but not just contact with that IC), it runs fine. As soon as I take my hand away, it get's stuck somehow and the WDT fires.

    I can even carefully take the board on the end of the USB cable and carefully put it under my shirt against my stomach, carefully remove my thumb from the "magic" area, and then use both hands to interact with it in the IDE. Pull it away from my body, same crash.

    So, it's capacitive coupling of some sort due to seven dollar manufacturing. Got a few more ESP12E variants on the way, as well as a dozen raw 12E SMD boards (couldn't pass up $1.50 each w/free shipping on eBay), so I'll confirm shortly that it's what I think it is.

    Until then, I have my Pico to work with, solid as a rock.

  • Post a reply
    • Bold
    • Italics
    • Link
    • Image
    • List
    • Quote
    • code
    • Preview
About

Flash map error on NodeMCU with 12E

Posted by Avatar for dwallersv @dwallersv

Actions