diff --git a/builder/main.py b/builder/main.py index e6a2668..e7b8c00 100644 --- a/builder/main.py +++ b/builder/main.py @@ -31,6 +31,15 @@ def _get_board_f_flash(env): return str(int(int(frequency) / 1000000)) + "m" +def _get_board_flash_mode(env): + mode = env.subst("$BOARD_FLASH_MODE") + if mode == "qio": + return "dio" + elif mode == "qout": + return "dout" + return mode + + def _parse_size(value): if isinstance(value, int): return value @@ -135,6 +144,7 @@ if mcu == "esp32c3": env.Replace( __get_board_f_flash=_get_board_f_flash, + __get_board_flash_mode=_get_board_flash_mode, AR="%s-elf-ar" % toolchain_arch, AS="%s-elf-as" % toolchain_arch, @@ -307,7 +317,7 @@ elif upload_protocol == "esptool": "--before", "default_reset", "--after", "hard_reset", "write_flash", "-z", - "--flash_mode", "$BOARD_FLASH_MODE", + "--flash_mode", "${__get_board_flash_mode(__env__)}", "--flash_freq", "${__get_board_f_flash(__env__)}", "--flash_size", "detect" ],