mirror of https://github.com/ARMmbed/mbed-os.git
Configuration of user trim moved to targets.json
parent
b531cb948c
commit
09134cd2b0
|
@ -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"],
|
||||
|
|
|
@ -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,21 +154,30 @@ 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
|
||||
output_hex_file[trim_area_start + 2] = (mac_addr_low >> 16) & 0xFF
|
||||
output_hex_file[trim_area_start + 3] = (mac_addr_low >> 24) & 0xFF
|
||||
|
||||
|
||||
output_hex_file[trim_area_start + 4] = mac_addr_high & 0xFF
|
||||
output_hex_file[trim_area_start + 5] = (mac_addr_high >> 8) & 0xFF
|
||||
output_hex_file[trim_area_start + 6] = (mac_addr_high >> 16) & 0xFF
|
||||
|
@ -185,16 +193,16 @@ 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
|
||||
output_hex_file[trim_area_start + 22] = (txtune >> 16) & 0xFF
|
||||
output_hex_file[trim_area_start + 23] = (txtune >> 24) & 0xFF
|
||||
|
||||
|
||||
# pad the rest of the area with 0xFF
|
||||
for i in range(trim_area_start + trim_size, user_code_start):
|
||||
output_hex_file[i] = 0xFF
|
||||
|
|
Loading…
Reference in New Issue