]> granicus.if.org Git - esp-idf/commitdiff
cmake: Add new flasher_args.json file for IDE parsing, document metadata files better
authorAngus Gratton <angus@espressif.com>
Thu, 5 Apr 2018 07:13:53 +0000 (17:13 +1000)
committerAngus Gratton <gus@projectgus.com>
Sun, 29 Apr 2018 23:59:20 +0000 (09:59 +1000)
components/esptool_py/CMakeLists.txt
components/esptool_py/flasher_args.json.in [new file with mode: 0644]
docs/en/api-guides/build-system-cmake.rst
tools/cmake/project_description.json.in

index 5a7d23efd7812fb3cb802763b630326ba25705eb..0d62557c81c7834475eb0fe2090d6e2de74c2fef 100644 (file)
@@ -7,3 +7,8 @@ foreach(part project app bootloader)
         "${CMAKE_BINARY_DIR}/flash_${part}_args"
         )
 endforeach()
+
+configure_file(
+    "${CMAKE_CURRENT_LIST_DIR}/flasher_args.json.in"
+    "${CMAKE_BINARY_DIR}/flasher_args.json"
+    )
diff --git a/components/esptool_py/flasher_args.json.in b/components/esptool_py/flasher_args.json.in
new file mode 100644 (file)
index 0000000..0266316
--- /dev/null
@@ -0,0 +1,11 @@
+{
+    "write_flash_args" : [ "--flash_mode", "${ESPFLASHMODE}",
+                           "--flash_size", "${ESPFLASHSIZE}",
+                           "--flash_freq", "${ESPFLASHFREQ}" ],
+    "flash_files" : {
+        "0x1000" : "bootloader/bootloader.bin",
+        "0x8000" : "partition_table/partition-table.bin",
+        "${CONFIG_APP_OFFSET}" : "${PROJECT_NAME}.bin",
+        "${PHY_PARTITION_OFFSET}" : "${PHY_PARTITION_BIN_FILE}"
+    }
+}
index c363058c60d1132bc108299ab6d61d457250e56a..a4de8406084f6a24072f1b6b789424e8282236c0 100644 (file)
@@ -638,7 +638,7 @@ You can pass any of these flasher argument files to ``esptool.py`` as follows::
 
 Alternatively, it is possible to manually copy the parameters from the argument file and pass them on the command line.
 
-The build directory also contains a generated file ``project_description.json`` which contains project information, including project flash information, in the JSON format. This file is used by ``idf.py`` and can also be used by other tools which need information about the project build.
+The build directory also contains a generated file ``flasher_args.json`` which contains project flash information, in JSON format. This file is used by ``idf.py`` and can also be used by other tools which need information about the project build.
 
 Building the Bootloader
 =======================
@@ -727,6 +727,14 @@ The following variables no longer have default values:
 
 It is no longer necessary to set ``COMPONENT_SRCDIRS`` if setting ``COMPONENT_SRCS`` (in fact, ``COMPONENT_SRCDIRS`` is ignored if ``COMPONENT_SRCS`` is set).
 
+Build System Metadata
+=====================
+
+For integration into IDEs and other build systems, when cmake runs the build process generates a number of metadata files in the ``build/`` directory. To regenerate these files, run ``cmake`` or ``idf.py reconfigure`` (or any other ``idf.py`` build command).
+
+- ``project_description.json`` contains some general information about the project, configured paths, etc.
+- ``flasher_args.json`` contains esptool.py arguments to flash the project's binary files. There are also ``flash_*_args`` files which can be used directly with esptool.py. See `Flash arguments`.
+- ``CMakeCache.txt`` is the CMake cache file which contains other information about the CMake process, toolchain, etc.
 
 .. _esp-idf-template: https://github.com/espressif/esp-idf-template
 .. _cmake: https://cmake.org
index 2fb99c149dd48ca324112259003c805942c71fb4..1acffbd6270bd9dcfef08bea830bcc4105c2f26d 100644 (file)
@@ -6,12 +6,6 @@
     "app_elf":            "${PROJECT_NAME}.elf",
     "app_bin":            "${PROJECT_NAME}.bin",
     "git_revision":       "${IDF_VER}",
-    "project_binaries":  {
-        "bootloader":        [ "0x1000", "bootloader/bootloader.bin" ],
-        "partition_table":   [ "0x8000", "partition_table/partition-table.bin" ],
-        "app":               [ "${CONFIG_APP_OFFSET}", "${PROJECT_NAME}.bin" ],
-        "phy_data":          [ "${PHY_PARTITION_OFFSET}", "${PHY_PARTITION_BIN_FILE}" ]
-    },
     "phy_data_partition": "${CONFIG_ESP32_PHY_INIT_DATA_IN_PARTITION}",
     "monitor_baud" : "${CONFIG_MONITOR_BAUD}"
 }