mirror of
https://github.com/platformio/platformio-core.git
synced 2025-07-30 18:17:13 +02:00
Restore support for Espressif ESP8266 ESP-01 1MB board (ready for OTA)
This commit is contained in:
@ -7,6 +7,7 @@ PlatformIO 2.0
|
||||
2.6.3 (2015-12-??)
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
* Restored support for Espressif ESP8266 ESP-01 1MB board (ready for OTA)
|
||||
* Fixed invalid ROM size for ESP8266-based boards
|
||||
(`issue #396 <https://github.com/platformio/platformio/issues/396>`_)
|
||||
|
||||
|
@ -81,7 +81,7 @@ Adafruit
|
||||
- `Adafruit HUZZAH ESP8266 <https://www.adafruit.com/products/2471>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 1024 Kb
|
||||
- 4096 Kb
|
||||
- 80 Kb
|
||||
|
||||
* - ``protrinket3``
|
||||
@ -461,7 +461,7 @@ ESPino
|
||||
- `ESPino <http://www.espino.io>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 1024 Kb
|
||||
- 4096 Kb
|
||||
- 80 Kb
|
||||
|
||||
Engduino
|
||||
@ -512,19 +512,26 @@ Espressif
|
||||
- RAM
|
||||
|
||||
* - ``esp01``
|
||||
- `Espressif Generic ESP8266 ESP-01 <https://nurdspace.nl/ESP8266>`_
|
||||
- `Espressif Generic ESP8266 ESP-01 512k <http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 512 Kb
|
||||
- 80 Kb
|
||||
|
||||
* - ``esp12e``
|
||||
- `Espressif ESP8266 ESP-12E <https://nurdspace.nl/ESP8266>`_
|
||||
* - ``esp01_1m``
|
||||
- `Espressif Generic ESP8266 ESP-01 1M <http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 1024 Kb
|
||||
- 80 Kb
|
||||
|
||||
* - ``esp12e``
|
||||
- `Espressif ESP8266 ESP-12E <http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 4096 Kb
|
||||
- 80 Kb
|
||||
|
||||
LightUp
|
||||
~~~~~~~
|
||||
|
||||
@ -665,7 +672,7 @@ NodeMCU
|
||||
- `NodeMCU 0.9 & 1.0 <http://www.nodemcu.com/>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 1024 Kb
|
||||
- 4096 Kb
|
||||
- 80 Kb
|
||||
|
||||
Olimex
|
||||
@ -685,7 +692,7 @@ Olimex
|
||||
- `Olimex MOD-WIFI-ESP8266(-DEV) <https://www.olimex.com/Products/IoT/MOD-WIFI-ESP8266-DEV/open-source-hardware>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 1024 Kb
|
||||
- 2048 Kb
|
||||
- 80 Kb
|
||||
|
||||
PanStamp
|
||||
@ -984,7 +991,7 @@ SweetPea
|
||||
- `SweetPea ESP-210 <http://wiki.sweetpeas.se/index.php?title=ESP-210>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 1024 Kb
|
||||
- 4096 Kb
|
||||
- 80 Kb
|
||||
|
||||
Teensy
|
||||
@ -1079,14 +1086,14 @@ WeMos
|
||||
- `WeMos D1 <http://www.wemos.cc/wiki/doku.php?id=en:d1>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 1024 Kb
|
||||
- 4096 Kb
|
||||
- 80 Kb
|
||||
|
||||
* - ``d1_mini``
|
||||
- `WeMos D1 mini <http://www.wemos.cc/wiki/doku.php?id=en:d1_mini>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 1024 Kb
|
||||
- 4096 Kb
|
||||
- 80 Kb
|
||||
|
||||
Wicked Device
|
||||
|
@ -89,7 +89,7 @@ Adafruit
|
||||
- `Adafruit HUZZAH ESP8266 <https://www.adafruit.com/products/2471>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 1024 Kb
|
||||
- 4096 Kb
|
||||
- 80 Kb
|
||||
|
||||
ESPino
|
||||
@ -109,7 +109,7 @@ ESPino
|
||||
- `ESPino <http://www.espino.io>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 1024 Kb
|
||||
- 4096 Kb
|
||||
- 80 Kb
|
||||
|
||||
Espressif
|
||||
@ -126,19 +126,26 @@ Espressif
|
||||
- RAM
|
||||
|
||||
* - ``esp01``
|
||||
- `Espressif Generic ESP8266 ESP-01 <https://nurdspace.nl/ESP8266>`_
|
||||
- `Espressif Generic ESP8266 ESP-01 512k <http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 512 Kb
|
||||
- 80 Kb
|
||||
|
||||
* - ``esp12e``
|
||||
- `Espressif ESP8266 ESP-12E <https://nurdspace.nl/ESP8266>`_
|
||||
* - ``esp01_1m``
|
||||
- `Espressif Generic ESP8266 ESP-01 1M <http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 1024 Kb
|
||||
- 80 Kb
|
||||
|
||||
* - ``esp12e``
|
||||
- `Espressif ESP8266 ESP-12E <http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 4096 Kb
|
||||
- 80 Kb
|
||||
|
||||
NodeMCU
|
||||
~~~~~~~
|
||||
|
||||
@ -156,7 +163,7 @@ NodeMCU
|
||||
- `NodeMCU 0.9 & 1.0 <http://www.nodemcu.com/>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 1024 Kb
|
||||
- 4096 Kb
|
||||
- 80 Kb
|
||||
|
||||
Olimex
|
||||
@ -176,7 +183,7 @@ Olimex
|
||||
- `Olimex MOD-WIFI-ESP8266(-DEV) <https://www.olimex.com/Products/IoT/MOD-WIFI-ESP8266-DEV/open-source-hardware>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 1024 Kb
|
||||
- 2048 Kb
|
||||
- 80 Kb
|
||||
|
||||
SparkFun
|
||||
@ -216,7 +223,7 @@ SweetPea
|
||||
- `SweetPea ESP-210 <http://wiki.sweetpeas.se/index.php?title=ESP-210>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 1024 Kb
|
||||
- 4096 Kb
|
||||
- 80 Kb
|
||||
|
||||
WeMos
|
||||
@ -236,14 +243,14 @@ WeMos
|
||||
- `WeMos D1 <http://www.wemos.cc/wiki/doku.php?id=en:d1>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 1024 Kb
|
||||
- 4096 Kb
|
||||
- 80 Kb
|
||||
|
||||
* - ``d1_mini``
|
||||
- `WeMos D1 mini <http://www.wemos.cc/wiki/doku.php?id=en:d1_mini>`_
|
||||
- ESP8266
|
||||
- 80 MHz
|
||||
- 1024 Kb
|
||||
- 4096 Kb
|
||||
- 80 Kb
|
||||
|
||||
.. include:: espressif_extra.rst
|
||||
|
@ -12,6 +12,8 @@
|
||||
OTA update
|
||||
----------
|
||||
|
||||
Firstly, please read `What is OTA? How to use it? <https://github.com/esp8266/Arduino/blob/master/doc/ota_updates/ota_updates.md>`_
|
||||
|
||||
There are 2 options:
|
||||
|
||||
* Directly specify :option:`platformio run --upload-port` in command line
|
||||
|
@ -21,6 +21,12 @@
|
||||
platform = espressif
|
||||
framework = arduino
|
||||
board = esp01
|
||||
build_flags = -Wl,-Tesp8266.flash.4m.ld
|
||||
|
||||
[env:esp01_1m]
|
||||
platform = espressif
|
||||
framework = arduino
|
||||
board = esp01_1m
|
||||
|
||||
[env:nodemcu]
|
||||
platform = espressif
|
||||
|
@ -9,7 +9,7 @@
|
||||
"variant": "generic"
|
||||
},
|
||||
"frameworks": ["arduino"],
|
||||
"name": "Espressif Generic ESP8266 ESP-01",
|
||||
"name": "Espressif Generic ESP8266 ESP-01 512k",
|
||||
"platform": "espressif",
|
||||
"upload": {
|
||||
"maximum_ram_size": 81920,
|
||||
@ -18,7 +18,30 @@
|
||||
"require_upload_port" : true,
|
||||
"speed": 115200
|
||||
},
|
||||
"url": "https://nurdspace.nl/ESP8266",
|
||||
"url": "http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family",
|
||||
"vendor": "Espressif"
|
||||
},
|
||||
|
||||
"esp01_1m": {
|
||||
"build": {
|
||||
"core": "esp8266",
|
||||
"extra_flags": "-DESP8266 -DARDUINO_ARCH_ESP8266 -DARDUINO_ESP8266_ESP01",
|
||||
"f_cpu": "80000000L",
|
||||
"ldscript": "esp8266.flash.1m256.ld",
|
||||
"mcu": "esp8266",
|
||||
"variant": "generic"
|
||||
},
|
||||
"frameworks": ["arduino"],
|
||||
"name": "Espressif Generic ESP8266 ESP-01 1M",
|
||||
"platform": "espressif",
|
||||
"upload": {
|
||||
"maximum_ram_size": 81920,
|
||||
"maximum_size": 1048576,
|
||||
"resetmethod": "ck",
|
||||
"require_upload_port" : true,
|
||||
"speed": 115200
|
||||
},
|
||||
"url": "http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family",
|
||||
"vendor": "Espressif"
|
||||
},
|
||||
|
||||
@ -41,7 +64,7 @@
|
||||
"require_upload_port" : true,
|
||||
"speed": 115200
|
||||
},
|
||||
"url": "https://nurdspace.nl/ESP8266",
|
||||
"url": "http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family",
|
||||
"vendor": "Espressif"
|
||||
},
|
||||
|
||||
|
@ -16,6 +16,7 @@
|
||||
Builder for Espressif MCUs
|
||||
"""
|
||||
|
||||
import re
|
||||
import socket
|
||||
from os.path import join
|
||||
|
||||
@ -27,9 +28,32 @@ def BeforeUpload(target, source, env): # pylint: disable=W0613,W0621
|
||||
env.AutodetectUploadPort()
|
||||
|
||||
|
||||
def _get_flash_size(env):
|
||||
# use board's flash size by default
|
||||
board_max_size = int(
|
||||
env.get("BOARD_OPTIONS", {}).get("upload", {}).get("maximum_size", 0))
|
||||
|
||||
# check if user overrides
|
||||
for f in env.get("LINKFLAGS", []):
|
||||
if "-Wl,-T" not in f:
|
||||
continue
|
||||
match = re.search(r"-Wl,-T.*\.flash\.(\d+)(m|k).*\.ld", env.subst(f))
|
||||
if not match:
|
||||
continue
|
||||
if match.group(2) == "k":
|
||||
board_max_size = int(match.group(1)) * 1024
|
||||
elif match.group(2) == "m":
|
||||
board_max_size = int(match.group(1)) * 1024 * 1024
|
||||
|
||||
return ("%dK" % (board_max_size / 1024) if board_max_size < 1048576
|
||||
else "%dM" % (board_max_size / 1048576))
|
||||
|
||||
|
||||
env = DefaultEnvironment()
|
||||
|
||||
env.Replace(
|
||||
__get_flash_size=_get_flash_size,
|
||||
|
||||
AR="xtensa-lx106-elf-ar",
|
||||
AS="xtensa-lx106-elf-as",
|
||||
CC="xtensa-lx106-elf-gcc",
|
||||
@ -98,8 +122,6 @@ env.Replace(
|
||||
PROGSUFFIX=".elf"
|
||||
)
|
||||
|
||||
_board_max_rom = int(
|
||||
env.get("BOARD_OPTIONS", {}).get("upload", {}).get("maximum_size", 0))
|
||||
env.Append(
|
||||
BUILDERS=dict(
|
||||
ElfToBin=Builder(
|
||||
@ -111,9 +133,7 @@ env.Append(
|
||||
"-bo", "$TARGET",
|
||||
"-bm", "dio",
|
||||
"-bf", "${BOARD_OPTIONS['build']['f_cpu'][:2]}",
|
||||
"-bz",
|
||||
"%dK" % (_board_max_rom / 1024) if _board_max_rom < 1048576
|
||||
else "%dM" % (_board_max_rom / 1048576),
|
||||
"-bz", "${__get_flash_size(__env__)}",
|
||||
"-bs", ".text",
|
||||
"-bp", "4096",
|
||||
"-ec",
|
||||
|
Reference in New Issue
Block a user