@@ -48,17 +48,17 @@ def add_hw_counters(provision_data, num_counter_slots_version, mcuboot_counters_
4848 assert num_counter_slots_version % 2 == 0 , "--num-counters-slots-version must be an even number"
4949 assert mcuboot_counters_slots % 2 == 0 , "--mcuboot-counters-slots must be an even number"
5050
51- provision_data += struct .pack ('H' , BL_COLLECTION_TYPE_MONOTONIC_COUNTERS )
52- provision_data += struct .pack ('H' , num_counters ) # Could be 0, 1, or 2
51+ provision_data += struct .pack ('< H' , BL_COLLECTION_TYPE_MONOTONIC_COUNTERS )
52+ provision_data += struct .pack ('< H' , num_counters ) # Could be 0, 1, or 2
5353
5454 if num_counter_slots_version > 0 :
55- provision_data += struct .pack ('H' , BL_MONOTONIC_COUNTERS_DESC_NSIB )
56- provision_data += struct .pack ('H' , num_counter_slots_version )
55+ provision_data += struct .pack ('< H' , BL_MONOTONIC_COUNTERS_DESC_NSIB )
56+ provision_data += struct .pack ('< H' , num_counter_slots_version )
5757 provision_data += bytes (otp_write_width * num_counter_slots_version * [0xFF ])
5858
5959 if mcuboot_counters_slots > 0 :
60- provision_data += struct .pack ('H' , BL_MONOTONIC_COUNTERS_DESC_MCUBOOT_ID0 )
61- provision_data += struct .pack ('H' , mcuboot_counters_slots )
60+ provision_data += struct .pack ('< H' , BL_MONOTONIC_COUNTERS_DESC_MCUBOOT_ID0 )
61+ provision_data += struct .pack ('< H' , mcuboot_counters_slots )
6262 provision_data += bytes (otp_write_width * mcuboot_counters_slots * [0xFF ])
6363
6464 return provision_data
@@ -106,12 +106,12 @@ def generate_provision_hex_file(s0_address, s1_address, hashes, provision_addres
106106 num_counter_slots_version , mcuboot_counters_slots , otp_write_width ,
107107 variable_data ):
108108
109- provision_data = struct .pack ('III' , s0_address , s1_address ,
109+ provision_data = struct .pack ('< III' , s0_address , s1_address ,
110110 len (hashes ))
111111
112112 idx = 0
113113 for mhash in hashes :
114- provision_data += struct .pack ('I' , 0x50FAFFFF | (idx << 24 )) # Invalidation token
114+ provision_data += struct .pack ('< I' , 0x50FAFFFF | (idx << 24 )) # Invalidation token
115115 provision_data += mhash
116116 idx += 1
117117
@@ -201,8 +201,8 @@ def add_variable_data(variable_data_type, data):
201201 nonlocal variable_data
202202 nonlocal variable_data_count
203203
204- variable_data += struct .pack ('B' , variable_data_type )
205- variable_data += struct .pack ('B' , len (data ))
204+ variable_data += struct .pack ('< B' , variable_data_type )
205+ variable_data += struct .pack ('< B' , len (data ))
206206 variable_data += data .encode ('ascii' )
207207 variable_data_count += 1
208208
@@ -213,8 +213,8 @@ def add_variable_data(variable_data_type, data):
213213
214214 if variable_data_count :
215215 # Add the variable data header at the beginning of the variable data.
216- variable_data = struct .pack ('H' , BL_COLLECTION_TYPE_VARIABLE_DATA ) + \
217- struct .pack ('H' , variable_data_count ) + \
216+ variable_data = struct .pack ('< H' , BL_COLLECTION_TYPE_VARIABLE_DATA ) + \
217+ struct .pack ('< H' , variable_data_count ) + \
218218 variable_data
219219
220220 # Padding to align to 4 bytes.
0 commit comments