esptool_py: make script generic for serial ops

This commit is contained in:
Renz Bagaporo
2020-10-12 21:59:20 +08:00
parent c2364e133d
commit ca6c093d1a
4 changed files with 16 additions and 18 deletions

View File

@@ -3,14 +3,14 @@
# without needing a CMake re-run) # without needing a CMake re-run)
set(ESPPORT $ENV{ESPPORT}) set(ESPPORT $ENV{ESPPORT})
if(NOT ESPPORT) if(NOT ESPPORT)
message("Note: ${TOOL} will search for a serial port. To specify a port, set the ESPPORT environment variable.") message("Note: ${SERIAL_TOOL} will search for a serial port. To specify a port, set the ESPPORT environment variable.")
else() else()
set(port_arg "-p ${ESPPORT}") set(port_arg "-p ${ESPPORT}")
endif() endif()
set(ESPBAUD $ENV{ESPBAUD}) set(ESPBAUD $ENV{ESPBAUD})
if(NOT ESPBAUD) if(NOT ESPBAUD)
message("Note: ${TOOL} will attempt to set baud rate automatically. " message("Note: ${SERIAL_TOOL} will attempt to set baud rate automatically. "
"To specify a baud rate, set the ESPBAUD environment variable.") "To specify a baud rate, set the ESPBAUD environment variable.")
else() else()
set(baud_arg "-b ${ESPBAUD}") set(baud_arg "-b ${ESPBAUD}")

View File

@@ -133,9 +133,9 @@ endif()
add_custom_target(erase_flash add_custom_target(erase_flash
COMMAND ${CMAKE_COMMAND} COMMAND ${CMAKE_COMMAND}
-D IDF_PATH="${idf_path}" -D IDF_PATH="${idf_path}"
-D ESPTOOLPY="${ESPTOOLPY}" -D SERIAL_TOOL="${ESPTOOLPY}"
-D ESPTOOL_ARGS="erase_flash" -D SERIAL_TOOL_ARGS="erase_flash"
-P run_esptool.cmake -P run_serial_tool.cmake
WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR} WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}
USES_TERMINAL USES_TERMINAL
) )
@@ -332,10 +332,10 @@ function(esptool_py_flash_target target_name main_args sub_args)
add_custom_target(${target_name} add_custom_target(${target_name}
COMMAND ${CMAKE_COMMAND} COMMAND ${CMAKE_COMMAND}
-D IDF_PATH="${idf_path}" -D IDF_PATH="${idf_path}"
-D ESPTOOLPY="${ESPTOOLPY}" -D SERIAL_TOOL="${ESPTOOLPY}"
-D ESPTOOL_ARGS="${main_args};write_flash;@${target_name}_args" -D SERIAL_TOOL_ARGS="${main_args};write_flash;@${target_name}_args"
-D WORKING_DIRECTORY="${build_dir}" -D WORKING_DIRECTORY="${build_dir}"
-P ${esptool_py_dir}/run_esptool.cmake -P ${esptool_py_dir}/run_serial_tool.cmake
WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR} WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}
USES_TERMINAL USES_TERMINAL
) )
@@ -373,10 +373,10 @@ $<JOIN:$<TARGET_PROPERTY:${target_name},IMAGES>,\n>")
add_custom_target(encrypted-${target_name} add_custom_target(encrypted-${target_name}
COMMAND ${CMAKE_COMMAND} COMMAND ${CMAKE_COMMAND}
-D IDF_PATH="${idf_path}" -D IDF_PATH="${idf_path}"
-D ESPTOOLPY="${ESPTOOLPY}" -D SERIAL_TOOL="${ESPTOOLPY}"
-D ESPTOOL_ARGS="${main_args};write_flash;@encrypted_${target_name}_args" -D SERIAL_TOOL_ARGS="${main_args};write_flash;@encrypted_${target_name}_args"
-D WORKING_DIRECTORY="${build_dir}" -D WORKING_DIRECTORY="${build_dir}"
-P ${esptool_py_dir}/run_esptool.cmake -P ${esptool_py_dir}/run_serial_tool.cmake
WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR} WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}
USES_TERMINAL USES_TERMINAL
) )

View File

@@ -11,5 +11,5 @@ execute_process(COMMAND ${CMD}
if(${result}) if(${result})
# No way to have CMake silently fail, unfortunately # No way to have CMake silently fail, unfortunately
message(FATAL_ERROR "${TOOL} failed") message(FATAL_ERROR "${SERIAL_TOOL} failed")
endif() endif()

View File

@@ -8,14 +8,12 @@
# #
cmake_minimum_required(VERSION 3.5) cmake_minimum_required(VERSION 3.5)
set(TOOL "esptool.py") if(NOT SERIAL_TOOL OR NOT SERIAL_TOOL_ARGS)
message(FATAL_ERROR "SERIAL_TOOL and SERIAL_TOOL_ARGS must "
if(NOT ESPTOOLPY OR NOT ESPTOOL_ARGS)
message(FATAL_ERROR "ESPTOOLPY and ESPTOOL_ARGS must "
"be specified on the CMake command line. For direct execution, it is " "be specified on the CMake command line. For direct execution, it is "
"strongly recommended to run ${TOOL} directly.") "strongly recommended to run ${SERIAL_TOOL} directly.")
endif() endif()
include("${CMAKE_CURRENT_LIST_DIR}/get_port_args.cmake") include("${CMAKE_CURRENT_LIST_DIR}/get_port_args.cmake")
set(CMD "${ESPTOOLPY} ${port_arg} ${baud_arg} ${ESPTOOL_ARGS}") set(CMD "${SERIAL_TOOL} ${port_arg} ${baud_arg} ${SERIAL_TOOL_ARGS}")
include("${CMAKE_CURRENT_LIST_DIR}/run_cmd.cmake") include("${CMAKE_CURRENT_LIST_DIR}/run_cmd.cmake")