PHY_INIT_DATA_OBJ = $(BUILD_DIR_BASE)/phy_init_data.o
PHY_INIT_DATA_BIN = $(BUILD_DIR_BASE)/phy_init_data.bin
-PARTITION_TABLE_COMPONENT_PATH := $(COMPONENT_PATH)/../partition_table
-ESP32_COMPONENT_PATH := $(COMPONENT_PATH)
-
-GEN_ESP32PART := $(PYTHON) $(PARTITION_TABLE_COMPONENT_PATH)/gen_esp32part.py -q
-
-# Path to partition CSV file is relative to project path for custom
-# partition CSV files, but relative to component dir otherwise.
-PARTITION_TABLE_ROOT := $(call dequote,$(if $(CONFIG_PARTITION_TABLE_CUSTOM),$(PROJECT_PATH),$(PARTITION_TABLE_COMPONENT_PATH)))
-PARTITION_TABLE_CSV_PATH := $(call dequote,$(abspath $(PARTITION_TABLE_ROOT)/$(subst $(quote),,$(CONFIG_PARTITION_TABLE_FILENAME))))
-PARTITION_TABLE_BIN := $(BUILD_DIR_BASE)/$(notdir $(PARTITION_TABLE_CSV_PATH:.csv=.bin))
-
-# Parse partition table and get offset of PHY init data partition
-PHY_INIT_GET_ADDR_CMD := $(GEN_ESP32PART) $(PARTITION_TABLE_CSV_PATH) | $(GEN_ESP32PART) - | sed -n -e "s/[^,]*,data,phy,\\([^,]*\\),.*/\\1/p"
-PHY_INIT_DATA_ADDR = $(shell $(PHY_INIT_GET_ADDR_CMD))
-
# Command to flash PHY init data partition
-PHY_INIT_DATA_FLASH_CMD = $(ESPTOOLPY_SERIAL) write_flash $(PHY_INIT_DATA_ADDR) $(PHY_INIT_DATA_BIN)
-ESPTOOL_ALL_FLASH_ARGS += $(PHY_INIT_DATA_ADDR) $(PHY_INIT_DATA_BIN)
+PHY_INIT_DATA_FLASH_CMD = $(ESPTOOLPY_SERIAL) write_flash $(CONFIG_PHY_DATA_OFFSET) $(PHY_INIT_DATA_BIN)
+ESPTOOL_ALL_FLASH_ARGS += $(CONFIG_PHY_DATA_OFFSET) $(PHY_INIT_DATA_BIN)
+
+ESP32_COMPONENT_PATH := $(COMPONENT_PATH)
$(PHY_INIT_DATA_OBJ): $(ESP32_COMPONENT_PATH)/phy_init_data.h $(BUILD_DIR_BASE)/include/sdkconfig.h
$(summary) CC $(notdir $@)
printf "#include \"phy_init_data.h\"\n" | $(CC) -I $(BUILD_DIR_BASE)/include -I $(ESP32_COMPONENT_PATH) -I $(ESP32_COMPONENT_PATH)/include -c -o $@ -xc -
-
+
$(PHY_INIT_DATA_BIN): $(PHY_INIT_DATA_OBJ)
$(summary) BIN $(notdir $@)
- $(OBJCOPY) -O binary $< $@
+ $(OBJCOPY) -O binary $< $@
-phy_init_data: $(PHY_INIT_DATA_BIN)
+phy_init_data: $(PHY_INIT_DATA_BIN)
phy_init_data-flash: $(BUILD_DIR_BASE)/phy_init_data.bin
@echo "Flashing PHY init data..."
phy_init_data-clean:
rm -f $(PHY_INIT_DATA_BIN) $(PHY_INIT_DATA_OBJ)
+all: phy_init_data
+flash: phy_init_data
+
endif # CONFIG_ESP32_PHY_INIT_DATA_IN_PARTITION
menu "Partition Table"
choice
- prompt "Partition Table"
- default PARTITION_TABLE_SINGLE_APP
- help
- The partition table to flash to the ESP32. The partition table
- determines where apps, data and other resources are expected to
- be found.
+ prompt "Partition Table"
+ default PARTITION_TABLE_SINGLE_APP
+ help
+ The partition table to flash to the ESP32. The partition table
+ determines where apps, data and other resources are expected to
+ be found.
- The predefined partition table CSV descriptions can be found
- in the components/partition_table directory. Otherwise it's
- possible to create a new custom partition CSV for your application.
+ The predefined partition table CSV descriptions can be found
+ in the components/partition_table directory. Otherwise it's
+ possible to create a new custom partition CSV for your application.
config PARTITION_TABLE_SINGLE_APP
- bool "Single factory app, no OTA"
+ bool "Single factory app, no OTA"
config PARTITION_TABLE_TWO_OTA
- bool "Factory app, two OTA definitions"
+ bool "Factory app, two OTA definitions"
config PARTITION_TABLE_CUSTOM
- bool "Custom partition table CSV"
+ bool "Custom partition table CSV"
endchoice
config PARTITION_TABLE_CUSTOM_FILENAME
- string "Custom partition CSV file" if PARTITION_TABLE_CUSTOM
- default partitions.csv
- help
- Name of the custom partition CSV filename. This path is evaluated
- relative to the project root directory.
+ string "Custom partition CSV file" if PARTITION_TABLE_CUSTOM
+ default partitions.csv
+ help
+ Name of the custom partition CSV filename. This path is evaluated
+ relative to the project root directory.
config PARTITION_TABLE_CUSTOM_APP_BIN_OFFSET
- hex "App offset in flash" if PARTITION_TABLE_CUSTOM
- default 0x10000
- help
- If using a custom partition table, specify the offset in the flash
- where 'make flash' should write the built app.
+ hex "Factory app partition offset" if PARTITION_TABLE_CUSTOM
+ default 0x10000
+ help
+ If using a custom partition table, specify the offset in the flash
+ where 'make flash' should write the built app.
+
+config PARTITION_TABLE_CUSTOM_PHY_DATA_OFFSET
+ hex "PHY data partition offset" if PARTITION_TABLE_CUSTOM
+ depends on ESP32_PHY_INIT_DATA_IN_PARTITION
+ default 0xf000
+ help
+ If using a custom partition table, specify the offset in the flash
+ where 'make flash' should write the initial PHY data file.
+
config PARTITION_TABLE_FILENAME
- string
- default partitions_singleapp.csv if PARTITION_TABLE_SINGLE_APP
- default partitions_two_ota.csv if PARTITION_TABLE_TWO_OTA
- default PARTITION_TABLE_CUSTOM_FILENAME if PARTITION_TABLE_CUSTOM
+ string
+ default partitions_singleapp.csv if PARTITION_TABLE_SINGLE_APP
+ default partitions_two_ota.csv if PARTITION_TABLE_TWO_OTA
+ default PARTITION_TABLE_CUSTOM_FILENAME if PARTITION_TABLE_CUSTOM
config APP_OFFSET
- hex
- default PARTITION_TABLE_CUSTOM_APP_BIN_OFFSET if PARTITION_TABLE_CUSTOM
- default 0x10000 # this is the factory app offset used by the default tables
+ hex
+ default PARTITION_TABLE_CUSTOM_APP_BIN_OFFSET if PARTITION_TABLE_CUSTOM
+ default 0x10000 # this is the factory app offset used by the default tables
+
+config PHY_DATA_OFFSET
+ hex
+ default PARTITION_TABLE_CUSTOM_PHY_DATA_OFFSET if PARTITION_TABLE_CUSTOM
+ default 0xf000 # this is the factory app offset used by the default tables
endmenu