15
15
import itertools
16
16
import binascii
17
17
import intelhex
18
- import json
19
-
18
+ from tools .config import Config
20
19
21
20
FIB_BASE = 0x2000
22
21
FLASH_BASE = 0x3000
@@ -155,21 +154,30 @@ def add_fib_at_start(arginput):
155
154
for i in range (fib_start + dummy_fib_size + fib_size , trim_area_start ):
156
155
output_hex_file [i ] = 0xFF
157
156
158
- # add trim data from json
159
- with open ('./mbed-os/targets/TARGET_ONSEMI/TARGET_NCS36510/ncs36510_user_trim.json' ) as json_data :
160
- trimdata = json .load (json_data )
161
- mac_addr_low = int (trimdata ["mac-addr-low" ], 16 )
162
- mac_addr_high = int (trimdata ["mac-addr-high" ], 16 )
163
- clk_32k_trim = int (trimdata ["32KHz-clk-trim" ], 16 )
164
- clk_32m_trim = int (trimdata ["32MHz-clk-trim" ], 16 )
165
- rssi_trim = int (trimdata ["rssi-trim" ], 16 )
166
- txtune = int (trimdata ["txtune-trim" ], 16 )
157
+ # Read in configuration data from the config parameter in targets.json
158
+ configData = Config ('NCS36510' )
159
+ paramData = configData .get_target_config_data ()
160
+ for v in paramData .values ():
161
+ if (v .name == "target.mac-addr-high" ):
162
+ mac_addr_high = int (v .value , 16 )
163
+ elif (v .name == "target.mac-addr-low" ):
164
+ mac_addr_low = int (v .value ,16 )
165
+ elif (v .name == "target.32KHz-clk-trim" ):
166
+ clk_32k_trim = int (v .value ,16 )
167
+ elif (v .name == "target.32MHz-clk-trim" ):
168
+ clk_32m_trim = int (v .value ,16 )
169
+ elif (v .name == "target.rssi-trim" ):
170
+ rssi = int (v .value ,16 )
171
+ elif (v .name == "target.txtune-trim" ):
172
+ txtune = int (v .value ,16 )
173
+ else :
174
+ print ("Not a valid param" )
167
175
168
176
output_hex_file [trim_area_start + 0 ] = mac_addr_low & 0xFF
169
177
output_hex_file [trim_area_start + 1 ] = (mac_addr_low >> 8 ) & 0xFF
170
178
output_hex_file [trim_area_start + 2 ] = (mac_addr_low >> 16 ) & 0xFF
171
179
output_hex_file [trim_area_start + 3 ] = (mac_addr_low >> 24 ) & 0xFF
172
-
180
+
173
181
output_hex_file [trim_area_start + 4 ] = mac_addr_high & 0xFF
174
182
output_hex_file [trim_area_start + 5 ] = (mac_addr_high >> 8 ) & 0xFF
175
183
output_hex_file [trim_area_start + 6 ] = (mac_addr_high >> 16 ) & 0xFF
@@ -185,16 +193,16 @@ def add_fib_at_start(arginput):
185
193
output_hex_file [trim_area_start + 14 ] = (clk_32m_trim >> 16 ) & 0xFF
186
194
output_hex_file [trim_area_start + 15 ] = (clk_32m_trim >> 24 ) & 0xFF
187
195
188
- output_hex_file [trim_area_start + 16 ] = rssi_trim & 0xFF
189
- output_hex_file [trim_area_start + 17 ] = (rssi_trim >> 8 ) & 0xFF
190
- output_hex_file [trim_area_start + 18 ] = (rssi_trim >> 16 ) & 0xFF
191
- output_hex_file [trim_area_start + 19 ] = (rssi_trim >> 24 ) & 0xFF
196
+ output_hex_file [trim_area_start + 16 ] = rssi & 0xFF
197
+ output_hex_file [trim_area_start + 17 ] = (rssi >> 8 ) & 0xFF
198
+ output_hex_file [trim_area_start + 18 ] = (rssi >> 16 ) & 0xFF
199
+ output_hex_file [trim_area_start + 19 ] = (rssi >> 24 ) & 0xFF
192
200
193
201
output_hex_file [trim_area_start + 20 ] = txtune & 0xFF
194
202
output_hex_file [trim_area_start + 21 ] = (txtune >> 8 ) & 0xFF
195
203
output_hex_file [trim_area_start + 22 ] = (txtune >> 16 ) & 0xFF
196
204
output_hex_file [trim_area_start + 23 ] = (txtune >> 24 ) & 0xFF
197
-
205
+
198
206
# pad the rest of the area with 0xFF
199
207
for i in range (trim_area_start + trim_size , user_code_start ):
200
208
output_hex_file [i ] = 0xFF
0 commit comments