mirror of
				https://github.com/espressif/esp-idf.git
				synced 2025-11-04 06:11:06 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			45 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
# Add DFU build and flashing related targets
 | 
						|
#
 | 
						|
 | 
						|
function(__add_dfu_targets)
 | 
						|
    idf_build_get_property(target IDF_TARGET)
 | 
						|
    if("${target}" STREQUAL "esp32")
 | 
						|
        return()
 | 
						|
    elseif("${target}" STREQUAL "esp32s2")
 | 
						|
        set(dfu_pid "2")
 | 
						|
    elseif("${target}" STREQUAL "esp32s3")
 | 
						|
        set(dfu_pid "4")
 | 
						|
    elseif("${target}" STREQUAL "esp32c3")
 | 
						|
        return()
 | 
						|
    elseif("${target}" STREQUAL "linux")
 | 
						|
        return()
 | 
						|
    else()
 | 
						|
        message(FATAL_ERROR "DFU PID unknown for ${target}")
 | 
						|
    endif()
 | 
						|
 | 
						|
    idf_build_get_property(python PYTHON)
 | 
						|
    idf_build_get_property(idf_path IDF_PATH)
 | 
						|
 | 
						|
    add_custom_target(dfu
 | 
						|
        COMMAND ${python} ${idf_path}/tools/mkdfu.py write
 | 
						|
        -o "${CMAKE_CURRENT_BINARY_DIR}/dfu.bin"
 | 
						|
        --json "${CMAKE_CURRENT_BINARY_DIR}/flasher_args.json"
 | 
						|
        --pid "${dfu_pid}"
 | 
						|
        DEPENDS gen_project_binary bootloader
 | 
						|
        VERBATIM
 | 
						|
        USES_TERMINAL)
 | 
						|
 | 
						|
    add_custom_target(dfu-list
 | 
						|
        COMMAND ${CMAKE_COMMAND}
 | 
						|
        -D ESP_DFU_LIST="1"
 | 
						|
        -P ${idf_path}/tools/cmake/run_dfu_util.cmake
 | 
						|
        USES_TERMINAL)
 | 
						|
 | 
						|
    add_custom_target(dfu-flash
 | 
						|
        COMMAND ${CMAKE_COMMAND}
 | 
						|
        -D ESP_DFU_BIN="${CMAKE_CURRENT_BINARY_DIR}/dfu.bin"
 | 
						|
        -D ESP_DFU_PID="${dfu_pid}"
 | 
						|
        -P ${idf_path}/tools/cmake/run_dfu_util.cmake
 | 
						|
        USES_TERMINAL)
 | 
						|
endfunction()
 |