mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
3b9cb25fe1
Added a new structure esp_app_desc_t. It has info about firmware: version, secure_version, project_name, time/date build and IDF version. Added the ability to add a custom structure with a description of the firmware. The esp_app_desc_t is located in fixed place in start of ROM secotor. It is located after structures esp_image_header_t and esp_image_segment_header_t. app_version is filed from PROJECT_VER variable (if set in custom make file) or PROJECT_PATH/version.txt or git repo (git describe). Add API to get app_desc from partition.
33 lines
1.3 KiB
CMake
33 lines
1.3 KiB
CMake
set(COMPONENT_SRCS "esp_ota_ops.c"
|
|
"esp_app_desc.c")
|
|
set(COMPONENT_ADD_INCLUDEDIRS "include")
|
|
|
|
set(COMPONENT_REQUIRES spi_flash partition_table bootloader_support)
|
|
|
|
register_component()
|
|
|
|
set_source_files_properties(
|
|
SOURCE "esp_app_desc.c"
|
|
PROPERTIES COMPILE_DEFINITIONS
|
|
PROJECT_VER=\"${PROJECT_VER}\")
|
|
|
|
# Add custom target for generating empty otadata partition for flashing
|
|
if(OTADATA_PARTITION_OFFSET AND OTADATA_PARTITION_SIZE)
|
|
add_custom_command(OUTPUT "${IDF_BUILD_ARTIFACTS_DIR}/${BLANK_OTADATA_FILE}"
|
|
COMMAND ${PYTHON} ${IDF_PATH}/components/partition_table/parttool.py
|
|
--partition-type data --partition-subtype ota -q
|
|
--partition-table-file ${PARTITION_CSV_PATH} generate_blank_partition_file
|
|
--output "${IDF_BUILD_ARTIFACTS_DIR}/${BLANK_OTADATA_FILE}")
|
|
|
|
add_custom_target(blank_ota_data ALL DEPENDS "${IDF_BUILD_ARTIFACTS_DIR}/${BLANK_OTADATA_FILE}")
|
|
add_dependencies(flash blank_ota_data)
|
|
endif()
|
|
|
|
set(otatool_py ${PYTHON} ${COMPONENT_PATH}/otatool.py)
|
|
|
|
add_custom_target(read_otadata DEPENDS "${PARTITION_CSV_PATH}"
|
|
COMMAND ${otatool_py} --partition-table-file ${PARTITION_CSV_PATH} read_otadata)
|
|
|
|
add_custom_target(erase_otadata DEPENDS "${PARTITION_CSV_PATH}"
|
|
COMMAND ${otatool_py} --partition-table-file ${PARTITION_CSV_PATH} erase_otadata)
|