Configuration of user trim moved to targets.json

pull/3290/head
Radhika 2016-11-08 17:29:32 +05:30 committed by Anna Bridge
parent b531cb948c
commit 09134cd2b0
2 changed files with 51 additions and 17 deletions

View File

@ -2364,6 +2364,32 @@
"inherits": ["Target"],
"core": "Cortex-M3",
"extra_labels": ["ONSEMI"],
"config": {
"mac-addr-low": {
"help": "Lower 32 bits of the MAC extended address",
"value": "0x12345678"
},
"mac-addr-high": {
"help": "Higher 32 bits of the MAC extended address",
"value": "0xACDE4800"
},
"32KHz-clk-trim": {
"help": "32KHz clock trim",
"value": "0x3A"
},
"32MHz-clk-trim": {
"help": "32MHz clock trim",
"value": "0x16"
},
"rssi-trim": {
"help": "RSSI trim",
"value": "0x3D"
},
"txtune-trim": {
"help": "TX tune trim",
"value": "0x12"
}
},
"post_binary_hook": {"function": "NCS36510TargetCode.ncs36510_addfib"},
"macros": ["CM3", "CPU_NCS36510", "TARGET_NCS36510", "LOAD_ADDRESS=0x3000"],
"supported_toolchains": ["GCC_ARM", "ARM", "IAR"],

View File

@ -15,8 +15,7 @@ from __future__ import print_function
import itertools
import binascii
import intelhex
import json
from tools.config import Config
FIB_BASE = 0x2000
FLASH_BASE = 0x3000
@ -155,15 +154,24 @@ def add_fib_at_start(arginput):
for i in range(fib_start + dummy_fib_size + fib_size, trim_area_start):
output_hex_file[i] = 0xFF
# add trim data from json
with open('./mbed-os/targets/TARGET_ONSEMI/TARGET_NCS36510/ncs36510_user_trim.json') as json_data:
trimdata = json.load(json_data)
mac_addr_low = int(trimdata["mac-addr-low"], 16)
mac_addr_high = int(trimdata["mac-addr-high"], 16)
clk_32k_trim = int(trimdata["32KHz-clk-trim"], 16)
clk_32m_trim = int(trimdata["32MHz-clk-trim"], 16)
rssi_trim = int(trimdata["rssi-trim"], 16)
txtune = int(trimdata["txtune-trim"], 16)
# Read in configuration data from the config parameter in targets.json
configData = Config('NCS36510')
paramData = configData.get_target_config_data()
for v in paramData.values():
if (v.name == "target.mac-addr-high"):
mac_addr_high = int(v.value, 16)
elif (v.name == "target.mac-addr-low"):
mac_addr_low = int(v.value,16)
elif (v.name == "target.32KHz-clk-trim"):
clk_32k_trim = int(v.value,16)
elif (v.name == "target.32MHz-clk-trim"):
clk_32m_trim = int(v.value,16)
elif (v.name == "target.rssi-trim"):
rssi = int(v.value,16)
elif (v.name == "target.txtune-trim"):
txtune = int(v.value,16)
else:
print("Not a valid param")
output_hex_file[trim_area_start + 0] = mac_addr_low & 0xFF
output_hex_file[trim_area_start + 1] = (mac_addr_low >> 8) & 0xFF
@ -185,10 +193,10 @@ def add_fib_at_start(arginput):
output_hex_file[trim_area_start + 14] = (clk_32m_trim >> 16) & 0xFF
output_hex_file[trim_area_start + 15] = (clk_32m_trim >> 24) & 0xFF
output_hex_file[trim_area_start + 16] = rssi_trim & 0xFF
output_hex_file[trim_area_start + 17] = (rssi_trim >> 8) & 0xFF
output_hex_file[trim_area_start + 18] = (rssi_trim >> 16) & 0xFF
output_hex_file[trim_area_start + 19] = (rssi_trim >> 24) & 0xFF
output_hex_file[trim_area_start + 16] = rssi & 0xFF
output_hex_file[trim_area_start + 17] = (rssi >> 8) & 0xFF
output_hex_file[trim_area_start + 18] = (rssi >> 16) & 0xFF
output_hex_file[trim_area_start + 19] = (rssi >> 24) & 0xFF
output_hex_file[trim_area_start + 20] = txtune & 0xFF
output_hex_file[trim_area_start + 21] = (txtune >> 8) & 0xFF