Skip to content

Commit 779e1a3

Browse files
committed
[nrf toup] Fix non-PM building of factory data
Fixes this feature to put files in the correct place and run with the correct configuration Signed-off-by: Jamie McCrae <[email protected]>
1 parent f1ce020 commit 779e1a3

File tree

2 files changed

+16
-8
lines changed

2 files changed

+16
-8
lines changed

config/nrfconnect/chip-module/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -290,7 +290,7 @@ endif()
290290
# Define 'factory_data' target for generating a factory data partition
291291
# ==============================================================================
292292

293-
if(CONFIG_CHIP_FACTORY_DATA_BUILD AND (NOT SYSBUILD OR NOT CONFIG_PARTITION_MANAGER_ENABLED))
293+
if(CONFIG_CHIP_FACTORY_DATA_BUILD AND CONFIG_PARTITION_MANAGER_ENABLED)
294294
nrfconnect_generate_factory_data()
295295
endif()
296296

config/nrfconnect/chip-module/generate_factory_data.cmake

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -140,9 +140,9 @@ if(CONFIG_PARTITION_MANAGER_ENABLED)
140140
string(APPEND script_args "--offset $<TARGET_PROPERTY:partition_manager,PM_FACTORY_DATA_ADDRESS>\n")
141141
string(APPEND script_args "--size $<TARGET_PROPERTY:partition_manager,PM_FACTORY_DATA_OFFSET>\n")
142142
else()
143-
dt_nodelabel(factory_data_partition_path NODELABEL "factory_data_partition" REQUIRED)
144-
dt_reg_addr(factory_data_addr PATH ${factory_data_partition_path})
145-
dt_reg_size(factory_data_size PATH ${factory_data_partition_path})
143+
dt_nodelabel(factory_data_partition_path TARGET ${DEFAULT_IMAGE} NODELABEL "factory_data_partition" REQUIRED)
144+
dt_reg_addr(factory_data_addr TARGET ${DEFAULT_IMAGE} PATH ${factory_data_partition_path})
145+
dt_reg_size(factory_data_size TARGET ${DEFAULT_IMAGE} PATH ${factory_data_partition_path})
146146
string(APPEND script_args "--offset ${factory_data_addr}\n")
147147
string(APPEND script_args "--size ${factory_data_size}\n")
148148
endif()
@@ -173,6 +173,10 @@ function(nrfconnect_generate_factory_data)
173173
find_package(Python3 REQUIRED)
174174

175175
# CHIP_ROOT must be provided as a reference set all localization of scripts
176+
if(NOT CHIP_ROOT AND ZEPHYR_CONNECTEDHOMEIP_MODULE_DIR)
177+
set(CHIP_ROOT ${ZEPHYR_CONNECTEDHOMEIP_MODULE_DIR})
178+
endif()
179+
176180
if(NOT CHIP_ROOT)
177181
message(FATAL_ERROR "CHIP_ROOT variable is not set, please add it to CMakeLists.txt file")
178182
endif()
@@ -181,7 +185,14 @@ endif()
181185
set(FACTORY_DATA_SCRIPT_PATH ${CHIP_ROOT}/scripts/tools/nrfconnect/generate_nrfconnect_chip_factory_data.py)
182186
set(GENERATE_CBOR_SCRIPT_PATH ${CHIP_ROOT}/scripts/tools/nrfconnect/nrfconnect_generate_partition.py)
183187
set(FACTORY_DATA_SCHEMA_PATH ${CHIP_ROOT}/scripts/tools/nrfconnect/nrfconnect_factory_data.schema)
184-
set(OUTPUT_FILE_PATH ${APPLICATION_BINARY_DIR}/zephyr)
188+
189+
if(CONFIG_PARTITION_MANAGER_ENABLED)
190+
set(OUTPUT_FILE_PATH ${APPLICATION_BINARY_DIR}/zephyr)
191+
else()
192+
set(OUTPUT_FILE_PATH ${APPLICATION_BINARY_DIR})
193+
194+
import_kconfig("CONFIG" ${CMAKE_BINARY_DIR}/${DEFAULT_IMAGE}/zephyr/.config)
195+
endif()
185196

186197
# create a .hex file with factory data in CBOR format based on the JSON file created previously
187198
nrfconnect_create_factory_data(factory_data
@@ -194,9 +205,6 @@ if(CONFIG_CHIP_FACTORY_DATA_MERGE_WITH_FIRMWARE)
194205
# set custom target for merging factory_data hex file
195206
set_property(GLOBAL PROPERTY factory_data_PM_HEX_FILE ${OUTPUT_FILE_PATH}/factory_data.hex)
196207
set_property(GLOBAL PROPERTY factory_data_PM_TARGET factory_data)
197-
else()
198-
set_property(GLOBAL APPEND PROPERTY HEX_FILES_TO_MERGE ${OUTPUT_FILE_PATH}/factory_data.hex ${OUTPUT_FILE_PATH}/zephyr.hex)
199-
set_property(TARGET runners_yaml_props_target PROPERTY hex_file ${OUTPUT_FILE_PATH}/merged.hex)
200208
endif()
201209
endif()
202210

0 commit comments

Comments
 (0)