@@ -129,9 +129,21 @@ set(factory_data_output_path ${output_path}/${factory_data_target})
129
129
string (APPEND script_args "-o \" ${factory_data_output_path} \"\n " )
130
130
string (APPEND script_args "-s \" ${schema_path} \"\n " )
131
131
132
- # Add optional offset and size arguments to generate both .hex and .json files.
133
- string (APPEND script_args "--offset $<TARGET_PROPERTY:partition_manager,PM_FACTORY_DATA_ADDRESS>\n " )
134
- string (APPEND script_args "--size $<TARGET_PROPERTY:partition_manager,PM_FACTORY_DATA_OFFSET>\n " )
132
+ # Add optional offset and size arguments to generate .hex file as well as .json.
133
+ if (CONFIG_PARTITION_MANAGER_ENABLED)
134
+ string (APPEND script_args "--offset $<TARGET_PROPERTY:partition_manager,PM_FACTORY_DATA_ADDRESS>\n " )
135
+ string (APPEND script_args "--size $<TARGET_PROPERTY:partition_manager,PM_FACTORY_DATA_OFFSET>\n " )
136
+ else ()
137
+ dt_alias(factory_data_alias PROPERTY "factory-data" )
138
+ dt_node_exists(factory_data_exists PATH "${factory_data_alias} " )
139
+ if (NOT ${factory_data_exists} )
140
+ message (FATAL_ERROR "factory-data alias does not exist in DTS" )
141
+ endif ()
142
+ dt_reg_addr(factory_data_addr PATH ${factory_data_alias} )
143
+ dt_reg_size(factory_data_size PATH ${factory_data_alias} )
144
+ string (APPEND script_args "--offset ${factory_data_addr} \n " )
145
+ string (APPEND script_args "--size ${factory_data_size} \n " )
146
+ endif ()
135
147
136
148
# execute first script to create a JSON file
137
149
separate_arguments (separated_script_args NATIVE_COMMAND ${script_args} )
@@ -175,10 +187,15 @@ nrfconnect_create_factory_data(factory_data
175
187
${FACTORY_DATA_SCHEMA_PATH}
176
188
${OUTPUT_FILE_PATH} )
177
189
178
- if (CONFIG_CHIP_FACTORY_DATA_MERGE_WITH_FIRMWARE)
179
- # set custom target for merging factory_data hex file
180
- set_property (GLOBAL PROPERTY factory_data_PM_HEX_FILE ${OUTPUT_FILE_PATH} /factory_data.hex)
181
- set_property (GLOBAL PROPERTY factory_data_PM_TARGET factory_data)
190
+ if (CONFIG_CHIP_FACTORY_DATA_MERGE_WITH_FIRMWARE)
191
+ if (CONFIG_PARTITION_MANAGER_ENABLED)
192
+ # set custom target for merging factory_data hex file
193
+ set_property (GLOBAL PROPERTY factory_data_PM_HEX_FILE ${OUTPUT_FILE_PATH} /factory_data.hex)
194
+ set_property (GLOBAL PROPERTY factory_data_PM_TARGET factory_data)
195
+ else ()
196
+ set_property (GLOBAL APPEND PROPERTY HEX_FILES_TO_MERGE ${OUTPUT_FILE_PATH} /factory_data.hex ${OUTPUT_FILE_PATH} /zephyr.hex)
197
+ set_property (TARGET runners_yaml_props_target PROPERTY hex_file ${OUTPUT_FILE_PATH} /merged.hex)
198
+ endif ()
182
199
endif ()
183
200
184
201
0 commit comments