• Thanks @MaBe for your reply, Things are ... more confusing now :P
    Do I understand correctly, there is 3 different builds for esp8266 ?

    1 / build 8266
    found here : http://www.espruino.com/binaries/espruino_1v95_esp8266/. I guess it's the one decribed by this file : https://github.com/espruino/Espruino/blob/master/boards/ESP8266_BOARD.py. Has a 1700 vars and no Graphics. Available free flash total is 3mb+40kb, the 40kb are under 1mb usable to run modules from flash with E.memoryArea(). This is the build I usually use, with no problem. I install it with :

    python esptool.py --port COM20 --baud 115200 erase_flash
    python esptool.py --port COM20 --baud 115200 write_flash --flash_freq 40m --flash_mode dio --flash_size 32m 0x0000 boot_v1.6.bin 0x1000 espruino_esp8266_user1.bin 0x3FC000 esp_init_data_default.bin 0x3FE000 blank.bin
    

    and get

     _____                 _
    |   __|___ ___ ___ _ _|_|___ ___
    |   __|_ -| . |  _| | | |   | . |
    |_____|___|  _|_| |___|_|_|_|___|
              |_| http://espruino.com
     1v95.20 Copyright 2017 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 0xef chip 0x4016
    >process.memory()
    ={ "free": 1677, "usage": 23, "total": 1700, "history": 0,
      "gc": 0, "gctime": 1.352 }
    >require("Flash").getFree()
    =[
      { "addr": 487424, "length": 4096 },
      { "addr": 524288, "length": 4096 },
      { "addr": 1011712, "length": 36864 },
      { "addr": 1048576, "length": 3129344 }
     ]
    

    2 / build 8266 4mb
    found here : http://www.espruino.com/binaries/espruino_1v95_esp8266_4mb/. I guess it's the one decribed by this file : https://github.com/espruino/Espruino/blob/master/boards/ESP8266_4MB.py. Has a 1600 vars and Graphics.
    I install it with the exact same command line, maybe it is not correct ? I get a very similar result, except that when I store something in the 6 first flash pages, it get erased on save(). Any idea why ?

     _____                 _
    |   __|___ ___ ___ _ _|_|___ ___
    |   __|_ -| . |  _| | | |   | . |
    |_____|___|  _|_| |___|_|_|_|___|
              |_| http://espruino.com
     1v95.20 Copyright 2017 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 0xef chip 0x4016
    >process.memory()
    ={ "free": 1572, "usage": 28, "total": 1600, "history": 0,
      "gc": 0, "gctime": 1.726 }
    >require("Flash").getFree()
    =[
      { "addr": 487424, "length": 4096 },
      { "addr": 524288, "length": 4096 },
      { "addr": 1011712, "length": 36864 },
      { "addr": 1048576, "length": 3129344 }
     ]
    >Graphics
    =function () { [native code] }
    

    3 / build 8266 4mb combined found here : http://www.espruino.com/binaries/espruino_1v95_esp8266_4mb_combined_4096.bin. I think it's the one you are referring to. is it described somewhere ? It has 1700 vars, no Graphics. I used the "4mb-c1" you posted in the other thread, and it worked perfectly. I understand the flash available is only the last 2MB, so not possible to have modules running from flash.

    python esptool.py --port COM20 --baud 115200 write_flash --flash_freq 80m  --flash_mode dio --flash_size 4MB-c1  0x0000 boot_v1.6.bin 0x1000 espruino_esp8266_user1.bin  0x3FC000  esp_init_data_default.bin 0x3FE000 blank.bin
    

    (updated following)

     _____                 _
    |   __|___ ___ ___ _ _|_|___ ___
    |   __|_ -| . |  _| | | |   | . |
    |_____|___|  _|_| |___|_|_|_|___|
              |_| http://espruino.com
     1v95.20 Copyright 2017 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:1024/1024, manuf 0xc8 chip 0x4016
    >process.memory()
    ={ "free": 1672, "usage": 28, "total": 1700, "history": 0,
      "gc": 0, "gctime": 1.358 }
    >require("Flash").getFree()
    =[
      { "addr": 2097152, "length": 1048576 },
      { "addr": 3145728, "length": 262144 },
      { "addr": 3407872, "length": 262144 },
      { "addr": 3670016, "length": 262144 },
      { "addr": 3932160, "length": 262144 }
     ]
    

    For this version, you mention 16 pages of saved code available, that's 64kb. How is it possible to store as much code in them ? If I use the WebIDE, the board throw a UNFINISHED STRING when the transfer reach 10kb. I guess there is no memory for larger transfer. Is there another way ?

     _____                 _
    |   __|___ ___ ___ _ _|_|___ ___
    |   __|_ -| . |  _| | | |   | . |
    |_____|___|  _|_| |___|_|_|_|___|
              |_| http://espruino.com
     1v95.20 Copyright 2017 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:1024/1024, manuf 0xc8 chip 0x4016
    >Uncaught SyntaxError: Got UNFINISHED STRING expected EOF
     at line 1 col 15
    E.setBootCode("Modules.removeAllCached(),Modules.addCached('...
                  ^
    New interpreter error: LOW_MEMORY,MEMORY
    >
    
About

Avatar for Polypod @Polypod started