platformio / platform-espressif8266

Espressif 8266: development platform for PlatformIO
https://registry.platformio.org/platforms/platformio/espressif8266
Apache License 2.0
323 stars 219 forks source link

buildfs fails with development framework-arduinoespressif8266 version #171

Closed liebman closed 4 years ago

liebman commented 4 years ago

The names for filesystem size/start etc in the .ld files has changed from _SPIFFS_ prefix to _FS_ prefix and now looks like:

PROVIDE ( _FS_start = 0x40500000 );
PROVIDE ( _FS_end = 0x405FA000 );
PROVIDE ( _FS_page = 0x100 );
PROVIDE ( _FS_block = 0x2000 );

This fails the regex's in _parse_ld_sizes and throws errors:

AssertionError: :
  File "/tmp/.platformio/penv/lib/python2.7/site-packages/platformio/builder/main.py", line 126:
    env.SConscript("$BUILD_SCRIPT")
  File "/tmp/.platformio/packages/tool-scons/script/../engine/SCons/Script/SConscript.py", line 541:
    return _SConscript(self.fs, *files, **subst_kw)
  File "/tmp/.platformio/packages/tool-scons/script/../engine/SCons/Script/SConscript.py", line 250:
    exec _file_ in call_stack[-1].globals
  File "/tmp/.platformio/platforms/espressif8266@src-eb7495f88eb0afa18fedff98bfb5e40f/builder/main.py", line 214:
    join("$BUILD_DIR", "spiffs"), "$PROJECTDATA_DIR")
  File "/tmp/.platformio/packages/tool-scons/script/../engine/SCons/Environment.py", line 260:
    return MethodWrapper.__call__(self, target, source, *args, **kw)
  File "/tmp/.platformio/packages/tool-scons/script/../engine/SCons/Environment.py", line 224:
    return self.method(*nargs, **kwargs)
  File "/tmp/.platformio/packages/tool-scons/script/../engine/SCons/Builder.py", line 626:
    return self._execute(env, target, source, OverrideWarner(kw), ekw)
  File "/tmp/.platformio/packages/tool-scons/script/../engine/SCons/Builder.py", line 547:
    tlist, slist = self._create_nodes(env, target, source)
  File "/tmp/.platformio/packages/tool-scons/script/../engine/SCons/Builder.py", line 511:
    target, source = self.emitter(target=tlist, source=slist, env=env)
  File "/tmp/.platformio/platforms/espressif8266@src-eb7495f88eb0afa18fedff98bfb5e40f/builder/main.py", line 115:
    fetch_spiffs_size(env)
  File "/tmp/.platformio/platforms/espressif8266@src-eb7495f88eb0afa18fedff98bfb5e40f/builder/main.py", line 96:
    for k in ["SPIFFS_START", "SPIFFS_END", "SPIFFS_PAGE", "SPIFFS_BLOCK"]

platformio.ini entry showing how latest esp8266/Arduino was selected:

[env:failing]
targets = buildfs
board = esp12e
framework = arduino
platform = https://github.com/platformio/platform-espressif8266.git
platform_packages =
  ; use upstream Git version
  framework-arduinoespressif8266 @ https://github.com/esp8266/Arduino.git
upload_resetmethod = nodemcu
upload_speed = 115200
board_build.f_cpu = 160000000L
board_build.f_flash = 40000000L
board_build.flash_mode = qio
build_flags =
  -Wall -Wextra -Werror
  -Wl,-Teagle.flash.4m1m.ld
  -DPIO_FRAMEWORK_ARDUINO_LWIP2_LOW_MEMORY
  -DBEARSSL_SSL_BASIC
  -DVTABLES_IN_FLASH
ivankravets commented 4 years ago

They fixed this https://github.com/esp8266/Arduino/issues/6542