Browse Source

Merge pull request #1664 from mcspr/pio/silence-uart

PlatformIO: silence postmortem stackdump for boards using serial
rules-rpn
Xose Pérez 5 years ago
committed by GitHub
parent
commit
0a8b2aba07
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 39 additions and 14 deletions
  1. +4
    -0
      code/espurna/dummy_ets_printf.c
  2. +23
    -2
      code/extra_scripts.py
  3. +12
    -12
      code/platformio.ini

+ 4
- 0
code/espurna/dummy_ets_printf.c View File

@ -0,0 +1,4 @@
// special dummy printf to disable Serial using some boards
int dummy_ets_printf(const char* format, ...) {
return 0;
}

+ 23
- 2
code/extra_scripts.py View File

@ -59,12 +59,12 @@ def remove_float_support():
LINKFLAGS = newflags LINKFLAGS = newflags
) )
def cpp_check(source, target, env):
def cpp_check(target, source, env):
print("Started cppcheck...\n") print("Started cppcheck...\n")
call(["cppcheck", os.getcwd()+"/espurna", "--force", "--enable=all"]) call(["cppcheck", os.getcwd()+"/espurna", "--force", "--enable=all"])
print("Finished cppcheck...\n") print("Finished cppcheck...\n")
def check_size(source, target, env):
def check_size(target, source, env):
(binary,) = target (binary,) = target
path = binary.get_abspath() path = binary.get_abspath()
size = os.stat(path).st_size size = os.stat(path).st_size
@ -78,6 +78,20 @@ def check_size(source, target, env):
print_warning("https://github.com/xoseperez/espurna/wiki/TwoStepUpdates", color=Color.LIGHT_CYAN) print_warning("https://github.com/xoseperez/espurna/wiki/TwoStepUpdates", color=Color.LIGHT_CYAN)
print_filler("*", color=Color.LIGHT_YELLOW, err=True) print_filler("*", color=Color.LIGHT_YELLOW, err=True)
def dummy_ets_printf(target, source, env):
(postmortem_src_file, ) = source
(postmortem_obj_file, ) = target
cmd = ["xtensa-lx106-elf-objcopy"]
# recent Core switched to cpp+newlib & ets_printf_P
cmd.extend(["--redefine-sym", "ets_printf=dummy_ets_printf"])
cmd.extend(["--redefine-sym", "ets_printf_P=dummy_ets_printf"])
cmd.append(postmortem_obj_file.get_abspath())
env.Execute(env.VerboseAction(" ".join(cmd), "Removing ets_printf / ets_printf_P"))
env.Depends(postmortem_obj_file,"$BUILD_DIR/src/dummy_ets_printf.c.o")
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
# Hooks # Hooks
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
@ -85,6 +99,13 @@ def check_size(source, target, env):
# Always show warnings for project code # Always show warnings for project code
projenv.ProcessUnFlags("-w") projenv.ProcessUnFlags("-w")
# 2.4.0 and up
remove_float_support() remove_float_support()
# two-step update hint when using 1MB boards
env.AddPostAction("$BUILD_DIR/${PROGNAME}.bin", check_size) env.AddPostAction("$BUILD_DIR/${PROGNAME}.bin", check_size)
# disable postmortem printing to the uart. another one is in eboot, but this is what causes the most harm
if "DISABLE_POSTMORTEM_STACKDUMP" in env["CPPFLAGS"]:
env.AddPostAction("$BUILD_DIR/FrameworkArduino/core_esp8266_postmortem.c.o", dummy_ets_printf)
env.AddPostAction("$BUILD_DIR/FrameworkArduino/core_esp8266_postmortem.cpp.o", dummy_ets_printf)

+ 12
- 12
code/platformio.ini View File

@ -409,7 +409,7 @@ board = ${common.board_1m}
board_build.flash_mode = ${common.flash_mode} board_build.flash_mode = ${common.flash_mode}
lib_deps = ${common.lib_deps} lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore} lib_ignore = ${common.lib_ignore}
build_flags = ${common.build_flags_1m0m} -DFOXEL_LIGHTFOX_DUAL
build_flags = ${common.build_flags_1m0m} -DFOXEL_LIGHTFOX_DUAL -DDISABLE_POSTMORTEM_STACKDUMP
extra_scripts = ${common.extra_scripts} extra_scripts = ${common.extra_scripts}
[env:foxel-lightfox-dual-ota] [env:foxel-lightfox-dual-ota]
@ -419,7 +419,7 @@ board = ${common.board_1m}
board_build.flash_mode = ${common.flash_mode} board_build.flash_mode = ${common.flash_mode}
lib_deps = ${common.lib_deps} lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore} lib_ignore = ${common.lib_ignore}
build_flags = ${common.build_flags_1m0m} -DFOXEL_LIGHTFOX_DUAL
build_flags = ${common.build_flags_1m0m} -DFOXEL_LIGHTFOX_DUAL -DDISABLE_POSTMORTEM_STACKDUMP
upload_speed = ${common.upload_speed} upload_speed = ${common.upload_speed}
upload_port = ${common.upload_port} upload_port = ${common.upload_port}
upload_flags = ${common.upload_flags} upload_flags = ${common.upload_flags}
@ -590,7 +590,7 @@ board = ${common.board_1m}
board_build.flash_mode = ${common.flash_mode} board_build.flash_mode = ${common.flash_mode}
lib_deps = ${common.lib_deps} lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore} lib_ignore = ${common.lib_ignore}
build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_POW_R2
build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_POW_R2 -DDISABLE_POSTMORTEM_STACKDUMP
monitor_speed = ${common.monitor_speed} monitor_speed = ${common.monitor_speed}
extra_scripts = ${common.extra_scripts} extra_scripts = ${common.extra_scripts}
@ -601,7 +601,7 @@ board = ${common.board_1m}
board_build.flash_mode = ${common.flash_mode} board_build.flash_mode = ${common.flash_mode}
lib_deps = ${common.lib_deps} lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore} lib_ignore = ${common.lib_ignore}
build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_POW_R2
build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_POW_R2 -DDISABLE_POSTMORTEM_STACKDUMP
upload_speed = ${common.upload_speed} upload_speed = ${common.upload_speed}
upload_port = ${common.upload_port} upload_port = ${common.upload_port}
upload_flags = ${common.upload_flags} upload_flags = ${common.upload_flags}
@ -615,7 +615,7 @@ board = ${common.board_1m}
board_build.flash_mode = ${common.flash_mode} board_build.flash_mode = ${common.flash_mode}
lib_deps = ${common.lib_deps} lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore} lib_ignore = ${common.lib_ignore}
build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_DUAL
build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_DUAL -DDISABLE_POSTMORTEM_STACKDUMP
extra_scripts = ${common.extra_scripts} extra_scripts = ${common.extra_scripts}
[env:itead-sonoff-dual-ota] [env:itead-sonoff-dual-ota]
@ -625,7 +625,7 @@ board = ${common.board_1m}
board_build.flash_mode = ${common.flash_mode} board_build.flash_mode = ${common.flash_mode}
lib_deps = ${common.lib_deps} lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore} lib_ignore = ${common.lib_ignore}
build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_DUAL
build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_DUAL -DDISABLE_POSTMORTEM_STACKDUMP
upload_speed = ${common.upload_speed} upload_speed = ${common.upload_speed}
upload_port = ${common.upload_port} upload_port = ${common.upload_port}
upload_flags = ${common.upload_flags} upload_flags = ${common.upload_flags}
@ -861,7 +861,7 @@ board = ${common.board_1m}
board_build.flash_mode = ${common.flash_mode} board_build.flash_mode = ${common.flash_mode}
lib_deps = ${common.lib_deps} lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore} lib_ignore = ${common.lib_ignore}
build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_RFBRIDGE
build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_RFBRIDGE -DDISABLE_POSTMORTEM_STACKDUMP
monitor_speed = 19200 monitor_speed = 19200
extra_scripts = ${common.extra_scripts} extra_scripts = ${common.extra_scripts}
@ -872,7 +872,7 @@ board = ${common.board_1m}
board_build.flash_mode = ${common.flash_mode} board_build.flash_mode = ${common.flash_mode}
lib_deps = ${common.lib_deps} lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore} lib_ignore = ${common.lib_ignore}
build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_RFBRIDGE
build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_RFBRIDGE -DDISABLE_POSTMORTEM_STACKDUMP
upload_speed = ${common.upload_speed} upload_speed = ${common.upload_speed}
upload_port = ${common.upload_port} upload_port = ${common.upload_port}
upload_flags = ${common.upload_flags} upload_flags = ${common.upload_flags}
@ -1037,7 +1037,7 @@ board = ${common.board_1m}
board_build.flash_mode = ${common.flash_mode} board_build.flash_mode = ${common.flash_mode}
lib_deps = ${common.lib_deps} lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore} lib_ignore = ${common.lib_ignore}
build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_S31
build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_S31 -DDISABLE_POSTMORTEM_STACKDUMP
monitor_speed = ${common.monitor_speed} monitor_speed = ${common.monitor_speed}
extra_scripts = ${common.extra_scripts} extra_scripts = ${common.extra_scripts}
@ -1048,7 +1048,7 @@ board = ${common.board_1m}
board_build.flash_mode = ${common.flash_mode} board_build.flash_mode = ${common.flash_mode}
lib_deps = ${common.lib_deps} lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore} lib_ignore = ${common.lib_ignore}
build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_S31
build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_S31 -DDISABLE_POSTMORTEM_STACKDUMP
upload_port = ${common.upload_port} upload_port = ${common.upload_port}
upload_flags = ${common.upload_flags} upload_flags = ${common.upload_flags}
monitor_speed = ${common.monitor_speed} monitor_speed = ${common.monitor_speed}
@ -2120,7 +2120,7 @@ board = ${common.board_1m}
board_build.flash_mode = ${common.flash_mode} board_build.flash_mode = ${common.flash_mode}
lib_deps = ${common.lib_deps} lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore} lib_ignore = ${common.lib_ignore}
build_flags = ${common.build_flags_1m0m} -DSTM_RELAY
build_flags = ${common.build_flags_1m0m} -DSTM_RELAY -DDISABLE_POSTMORTEM_STACKDUMP
monitor_speed = ${common.monitor_speed} monitor_speed = ${common.monitor_speed}
extra_scripts = ${common.extra_scripts} extra_scripts = ${common.extra_scripts}
@ -2131,7 +2131,7 @@ board = ${common.board_1m}
board_build.flash_mode = ${common.flash_mode} board_build.flash_mode = ${common.flash_mode}
lib_deps = ${common.lib_deps} lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore} lib_ignore = ${common.lib_ignore}
build_flags = ${common.build_flags_1m0m} -DSTM_RELAY
build_flags = ${common.build_flags_1m0m} -DSTM_RELAY -DDISABLE_POSTMORTEM_STACKDUMP
upload_speed = ${common.upload_speed} upload_speed = ${common.upload_speed}
upload_port = ${common.upload_port} upload_port = ${common.upload_port}
upload_flags = ${common.upload_flags} upload_flags = ${common.upload_flags}


Loading…
Cancel
Save