mirror of https://github.com/ARMmbed/mbed-os.git
remove NCS36510 specific changes from this branch
parent
f53154a95e
commit
209310c54f
|
|
@ -3,8 +3,6 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
MEMORY {
|
MEMORY {
|
||||||
FIB (rx) : ORIGIN = 0x00002000, LENGTH = 0x00000800
|
|
||||||
TRIM (rx) : ORIGIN = 0x00002800, LENGTH = 0x00000800
|
|
||||||
VECTORS (rx) : ORIGIN = 0x00003000, LENGTH = 0x00000090
|
VECTORS (rx) : ORIGIN = 0x00003000, LENGTH = 0x00000090
|
||||||
FLASH (rx) : ORIGIN = 0x00003090, LENGTH = 320K - 4K - 0x90
|
FLASH (rx) : ORIGIN = 0x00003090, LENGTH = 320K - 4K - 0x90
|
||||||
RAM (rwx) : ORIGIN = 0x3FFF4090, LENGTH = 48K - 0x90 /* 8_byte_aligned(35 vectors * 4 bytes each) = 0x90 */
|
RAM (rwx) : ORIGIN = 0x3FFF4090, LENGTH = 48K - 0x90 /* 8_byte_aligned(35 vectors * 4 bytes each) = 0x90 */
|
||||||
|
|
@ -39,16 +37,6 @@ MEMORY {
|
||||||
ENTRY(Reset_Handler)
|
ENTRY(Reset_Handler)
|
||||||
|
|
||||||
SECTIONS {
|
SECTIONS {
|
||||||
.fib :
|
|
||||||
{
|
|
||||||
KEEP(*(.fib))
|
|
||||||
} > FIB
|
|
||||||
|
|
||||||
.trim :
|
|
||||||
{
|
|
||||||
KEEP(*(.trim))
|
|
||||||
} > TRIM
|
|
||||||
|
|
||||||
.isr_vector :
|
.isr_vector :
|
||||||
{
|
{
|
||||||
__vector_table = .;
|
__vector_table = .;
|
||||||
|
|
|
||||||
|
|
@ -147,13 +147,13 @@ void fClockInit()
|
||||||
for(Timer = 0; Timer < 10; Timer++);
|
for(Timer = 0; Timer < 10; Timer++);
|
||||||
|
|
||||||
/** - Enable calibration */
|
/** - Enable calibration */
|
||||||
//CLOCKREG->CCR.BITS.CAL32M = True;
|
CLOCKREG->CCR.BITS.CAL32M = True;
|
||||||
|
|
||||||
/** - Wait calibration to be completed */
|
/** - Wait calibration to be completed */
|
||||||
//while(CLOCKREG->CSR.BITS.CAL32MDONE == False); /* If you stuck here, issue with internal 32M calibration */
|
while(CLOCKREG->CSR.BITS.CAL32MDONE == False); /* If you stuck here, issue with internal 32M calibration */
|
||||||
|
|
||||||
/** - Check calibration status */
|
/** - Check calibration status */
|
||||||
//while(CLOCKREG->CSR.BITS.CAL32MFAIL == True); /* If you stuck here, issue with internal 32M calibration */
|
while(CLOCKREG->CSR.BITS.CAL32MFAIL == True); /* If you stuck here, issue with internal 32M calibration */
|
||||||
|
|
||||||
/** - Power down internal 32MHz osc */
|
/** - Power down internal 32MHz osc */
|
||||||
PMUREG->CONTROL.BITS.INT32M = 1;
|
PMUREG->CONTROL.BITS.INT32M = 1;
|
||||||
|
|
|
||||||
|
|
@ -78,11 +78,6 @@ class CodeBlocks(GccArm):
|
||||||
not x.startswith('obj'))];
|
not x.startswith('obj'))];
|
||||||
|
|
||||||
c_sources = [self.filter_dot(s) for s in self.resources.c_sources]
|
c_sources = [self.filter_dot(s) for s in self.resources.c_sources]
|
||||||
ncs36510fib = (hasattr(self.toolchain.target, 'post_binary_hook') and
|
|
||||||
self.toolchain.target.post_binary_hook['function'] == 'NCS36510TargetCode.ncs36510_addfib')
|
|
||||||
if ncs36510fib:
|
|
||||||
c_sources.append('ncs36510fib.c')
|
|
||||||
c_sources.append('ncs36510trim.c')
|
|
||||||
|
|
||||||
ctx = {
|
ctx = {
|
||||||
'project_name': self.project_name,
|
'project_name': self.project_name,
|
||||||
|
|
@ -96,7 +91,6 @@ class CodeBlocks(GccArm):
|
||||||
'include_paths': inc_dirs,
|
'include_paths': inc_dirs,
|
||||||
'linker_script': self.filter_dot(self.resources.linker_script),
|
'linker_script': self.filter_dot(self.resources.linker_script),
|
||||||
'libraries': self.resources.libraries,
|
'libraries': self.resources.libraries,
|
||||||
'ncs36510addfib': ncs36510fib,
|
|
||||||
'openocdboard': ''
|
'openocdboard': ''
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -123,28 +117,6 @@ class CodeBlocks(GccArm):
|
||||||
|
|
||||||
self.gen_file('codeblocks/cbp.tmpl', ctx, "%s.%s" % (self.project_name, 'cbp'))
|
self.gen_file('codeblocks/cbp.tmpl', ctx, "%s.%s" % (self.project_name, 'cbp'))
|
||||||
|
|
||||||
if ncs36510fib:
|
|
||||||
ctx = {
|
|
||||||
'mac_addr_low': 0xFFFFFFFF,
|
|
||||||
'mac_addr_high': 0xFFFFFFFF,
|
|
||||||
'clk_32k_trim': 0x39,
|
|
||||||
'clk_32m_trim': 0x17,
|
|
||||||
'rssi': 0x3D,
|
|
||||||
'txtune': 0xFFFFFFFF
|
|
||||||
}
|
|
||||||
if hasattr(self.toolchain.target, 'config'):
|
|
||||||
for an, cn in [ ['mac-addr-low', 'mac_addr_low'],
|
|
||||||
['mac-addr-high', 'mac_addr_high'],
|
|
||||||
['32KHz-clk-trim', 'clk_32k_trim'],
|
|
||||||
['32MHz-clk-trim', 'clk_32m_trim'],
|
|
||||||
['rssi-trim', 'rssi'],
|
|
||||||
['txtune-trim', 'txtune'] ]:
|
|
||||||
if an in self.toolchain.target.config:
|
|
||||||
if 'value' in self.toolchain.target.config[an]:
|
|
||||||
ctx[cn] = int(self.toolchain.target.config[an]['value'], 0)
|
|
||||||
for f in [ 'ncs36510fib.c', 'ncs36510trim.c' ]:
|
|
||||||
self.gen_file("codeblocks/%s" % f, ctx, f)
|
|
||||||
|
|
||||||
# finally, generate the project file
|
# finally, generate the project file
|
||||||
super(CodeBlocks, self).generate()
|
super(CodeBlocks, self).generate()
|
||||||
|
|
||||||
|
|
@ -152,7 +124,7 @@ class CodeBlocks(GccArm):
|
||||||
def clean(project_name):
|
def clean(project_name):
|
||||||
for ext in ['cbp', 'depend', 'layout']:
|
for ext in ['cbp', 'depend', 'layout']:
|
||||||
remove("%s.%s" % (project_name, ext))
|
remove("%s.%s" % (project_name, ext))
|
||||||
for f in ['openocd.log', 'ncs36510fib.c', 'ncs36510trim.c']:
|
for f in ['openocd.log']:
|
||||||
remove(f)
|
remove(f)
|
||||||
for d in ['bin', 'obj']:
|
for d in ['bin', 'obj']:
|
||||||
rmtree(d, ignore_errors=True)
|
rmtree(d, ignore_errors=True)
|
||||||
|
|
|
||||||
|
|
@ -20,14 +20,6 @@
|
||||||
<Linker>
|
<Linker>
|
||||||
<Add option='-Wl,-Map,"bin/Debug/{{project_name}}.map"' />
|
<Add option='-Wl,-Map,"bin/Debug/{{project_name}}.map"' />
|
||||||
</Linker>
|
</Linker>
|
||||||
{% if ncs36510addfib -%}
|
|
||||||
<ExtraCommands>
|
|
||||||
<Add after="arm-none-eabi-objcopy -O ihex -R .fib -R .trim bin/Debug/{{project_name}}.elf bin/Debug/{{project_name}}.hex" />
|
|
||||||
<Add after="mbed-os/tools/export/codeblocks/ncs36510addfib.py bin/Debug/{{project_name}}.hex bin/Debug/{{project_name}}.fib" />
|
|
||||||
<Add after="arm-none-eabi-objcopy --update-section .fib=bin/Debug/{{project_name}}.fib bin/Debug/{{project_name}}.elf" />
|
|
||||||
<Add after="arm-none-eabi-objcopy -O ihex bin/Debug/{{project_name}}.elf bin/Debug/{{project_name}}.hex" />
|
|
||||||
</ExtraCommands>
|
|
||||||
{% endif -%}
|
|
||||||
</Target>
|
</Target>
|
||||||
<Target title="Release">
|
<Target title="Release">
|
||||||
<Option output="bin/Release/{{project_name}}.elf" prefix_auto="1" extension_auto="0" />
|
<Option output="bin/Release/{{project_name}}.elf" prefix_auto="1" extension_auto="0" />
|
||||||
|
|
@ -38,14 +30,6 @@
|
||||||
<Linker>
|
<Linker>
|
||||||
<Add option='-Wl,-Map,"bin/Release/{{project_name}}.map"' />
|
<Add option='-Wl,-Map,"bin/Release/{{project_name}}.map"' />
|
||||||
</Linker>
|
</Linker>
|
||||||
{% if ncs36510addfib -%}
|
|
||||||
<ExtraCommands>
|
|
||||||
<Add after="arm-none-eabi-objcopy -O ihex -R .fib -R .trim bin/Release/{{project_name}}.elf bin/Release/{{project_name}}.hex" />
|
|
||||||
<Add after="mbed-os/tools/export/codeblocks/ncs36510addfib.py bin/Release/{{project_name}}.hex bin/Release/{{project_name}}.fib" />
|
|
||||||
<Add after="arm-none-eabi-objcopy --update-section .fib=bin/Release/{{project_name}}.fib bin/Release/{{project_name}}.elf" />
|
|
||||||
<Add after="arm-none-eabi-objcopy -O ihex bin/Release/{{project_name}}.elf bin/Release/{{project_name}}.hex" />
|
|
||||||
</ExtraCommands>
|
|
||||||
{% endif -%}
|
|
||||||
</Target>
|
</Target>
|
||||||
</Build>
|
</Build>
|
||||||
<Compiler>
|
<Compiler>
|
||||||
|
|
|
||||||
|
|
@ -1,178 +0,0 @@
|
||||||
#!/usr/bin/env python
|
|
||||||
|
|
||||||
"""
|
|
||||||
@copyright (c) 2012-2018 ON Semiconductor. All rights reserved.
|
|
||||||
ON Semiconductor is supplying this software for use with ON Semiconductor
|
|
||||||
processor based microcontrollers only.
|
|
||||||
THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED
|
|
||||||
OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
|
|
||||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.
|
|
||||||
ON SEMICONDUCTOR SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL,
|
|
||||||
INCIDENTAL, OR CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
|
|
||||||
"""
|
|
||||||
|
|
||||||
import sys
|
|
||||||
import itertools
|
|
||||||
import binascii
|
|
||||||
import intelhex
|
|
||||||
|
|
||||||
FIB_BASE = 0x2000
|
|
||||||
TRIM_BASE = 0x2800
|
|
||||||
FLASH_BASE = 0x3000
|
|
||||||
FLASHA_SIZE = 0x52000
|
|
||||||
FLASHB_BASE = 0x00102000
|
|
||||||
FLASHB_SIZE = 0x52000
|
|
||||||
FW_REV = 0x01000100
|
|
||||||
|
|
||||||
def ranges(i):
|
|
||||||
for _, b in itertools.groupby(enumerate(i), lambda x_y: x_y[1] - x_y[0]):
|
|
||||||
b = list(b)
|
|
||||||
yield b[0][1], b[-1][1]
|
|
||||||
|
|
||||||
def add_fib(input_file, output_file):
|
|
||||||
# Read in hex file
|
|
||||||
input_hex_file = intelhex.IntelHex()
|
|
||||||
input_hex_file.loadhex(input_file)
|
|
||||||
#set padding value to be returned when reading from unspecified address
|
|
||||||
input_hex_file.padding = 0xFF
|
|
||||||
# Create new binary data array
|
|
||||||
output_data = bytearray([0xff]*2048)
|
|
||||||
|
|
||||||
# Get the starting and ending address
|
|
||||||
addresses = input_hex_file.addresses()
|
|
||||||
addresses.sort()
|
|
||||||
start_end_pairs = list(ranges(addresses))
|
|
||||||
regions = len(start_end_pairs)
|
|
||||||
|
|
||||||
if regions == 1:
|
|
||||||
#single range indicating fits within first flash block (<320K)
|
|
||||||
start, end = start_end_pairs[0]
|
|
||||||
print("Memory start 0x%08X, end 0x%08X" % (start, end))
|
|
||||||
# Compute checksum over the range (don't include data at location of crc)
|
|
||||||
size = end - start + 1
|
|
||||||
data = input_hex_file.tobinarray(start=start, size=size)
|
|
||||||
crc32 = binascii.crc32(data) & 0xFFFFFFFF
|
|
||||||
else:
|
|
||||||
#multiple ranges indicating requires both flash blocks (>320K)
|
|
||||||
start, end = start_end_pairs[0]
|
|
||||||
start2, end2 = start_end_pairs[1]
|
|
||||||
print("Region 1: memory start 0x%08X, end 0x%08X" % (start, end))
|
|
||||||
print("Region 2: memory start 0x%08X, end 0x%08X" % (start2, end2))
|
|
||||||
# Compute checksum over the range (don't include data at location of crc)
|
|
||||||
# replace end with end of flash block A
|
|
||||||
end = FLASHA_SIZE - 1
|
|
||||||
size = end - start + 1
|
|
||||||
data = input_hex_file.tobinarray(start=start, size=size)
|
|
||||||
|
|
||||||
# replace start2 with base of flash block B
|
|
||||||
start2 = FLASHB_BASE
|
|
||||||
size2 = end2 - start2 + 1
|
|
||||||
data2 = input_hex_file.tobinarray(start=start2, size=size2)
|
|
||||||
|
|
||||||
#concatenate data and data2 arrays together
|
|
||||||
data.extend(data2)
|
|
||||||
crc32 = binascii.crc32(data) & 0xFFFFFFFF
|
|
||||||
|
|
||||||
#replace size with sum of two memory region sizes
|
|
||||||
size = size + size2
|
|
||||||
|
|
||||||
assert start >= FLASH_BASE, ("Error - start 0x%x less than begining of user\
|
|
||||||
flash area" %start)
|
|
||||||
|
|
||||||
assert regions <= 2, ("Error - more than 2 memory regions found")
|
|
||||||
|
|
||||||
fw_rev = FW_REV
|
|
||||||
|
|
||||||
checksum = (start + size + crc32 + fw_rev) & 0xFFFFFFFF
|
|
||||||
|
|
||||||
print("Writing FIB: base 0x%08X, size 0x%08X, crc32 0x%08X, fw rev 0x%08X,\
|
|
||||||
checksum 0x%08X" % (start, size, crc32, fw_rev, checksum))
|
|
||||||
|
|
||||||
#expected initial values used by daplink to validate that it is a valid bin
|
|
||||||
#file added as dummy values in this file because the fib area preceeds the
|
|
||||||
#application area the bootloader will ignore these dummy values
|
|
||||||
# 00 is stack pointer (RAM address)
|
|
||||||
# 04 is Reset vector (FLASH address)
|
|
||||||
# 08 NMI_Handler (FLASH address)
|
|
||||||
# 0C HardFault_Handler(FLASH address)
|
|
||||||
# 10 dummy
|
|
||||||
dummy_sp = 0x3FFFFC00
|
|
||||||
dummy_reset_vector = 0x00003625
|
|
||||||
dummy_nmi_handler = 0x00003761
|
|
||||||
dummy_hardfault_handler = 0x00003691
|
|
||||||
dummy_blank = 0x00000000
|
|
||||||
|
|
||||||
#expected fib structure
|
|
||||||
#typedef struct fib{
|
|
||||||
#uint32_t base; /**< Base offset of firmware, indicating what flash the
|
|
||||||
# firmware is in. (will never be 0x11111111) */
|
|
||||||
#uint32_t size; /**< Size of the firmware */
|
|
||||||
#uint32_t crc; /**< CRC32 for firmware correctness check */
|
|
||||||
#uint32_t rev; /**< Revision number */
|
|
||||||
#uint32_t checksum; /**< Check-sum of information block */
|
|
||||||
#}fib_t, *fib_pt;
|
|
||||||
|
|
||||||
# Write FIB to the file in little endian
|
|
||||||
output_data[0] = (dummy_sp >> 0) & 0xFF
|
|
||||||
output_data[1] = (dummy_sp >> 8) & 0xFF
|
|
||||||
output_data[2] = (dummy_sp >> 16) & 0xFF
|
|
||||||
output_data[3] = (dummy_sp >> 24) & 0xFF
|
|
||||||
|
|
||||||
output_data[4] = (dummy_reset_vector >> 0) & 0xFF
|
|
||||||
output_data[5] = (dummy_reset_vector >> 8) & 0xFF
|
|
||||||
output_data[6] = (dummy_reset_vector >> 16) & 0xFF
|
|
||||||
output_data[7] = (dummy_reset_vector >> 24) & 0xFF
|
|
||||||
|
|
||||||
output_data[8] = (dummy_nmi_handler >> 0) & 0xFF
|
|
||||||
output_data[9] = (dummy_nmi_handler >> 8) & 0xFF
|
|
||||||
output_data[10] = (dummy_nmi_handler >> 16) & 0xFF
|
|
||||||
output_data[11] = (dummy_nmi_handler >> 24) & 0xFF
|
|
||||||
|
|
||||||
output_data[12] = (dummy_hardfault_handler >> 0) & 0xFF
|
|
||||||
output_data[13] = (dummy_hardfault_handler >> 8) & 0xFF
|
|
||||||
output_data[14] = (dummy_hardfault_handler >> 16) & 0xFF
|
|
||||||
output_data[15] = (dummy_hardfault_handler >> 24) & 0xFF
|
|
||||||
|
|
||||||
output_data[16] = (dummy_blank >> 0) & 0xFF
|
|
||||||
output_data[17] = (dummy_blank >> 8) & 0xFF
|
|
||||||
output_data[18] = (dummy_blank >> 16) & 0xFF
|
|
||||||
output_data[19] = (dummy_blank >> 24) & 0xFF
|
|
||||||
|
|
||||||
# Write FIB to the file in little endian
|
|
||||||
output_data[20] = (start >> 0) & 0xFF
|
|
||||||
output_data[21] = (start >> 8) & 0xFF
|
|
||||||
output_data[22] = (start >> 16) & 0xFF
|
|
||||||
output_data[23] = (start >> 24) & 0xFF
|
|
||||||
|
|
||||||
output_data[24] = (size >> 0) & 0xFF
|
|
||||||
output_data[25] = (size >> 8) & 0xFF
|
|
||||||
output_data[26] = (size >> 16) & 0xFF
|
|
||||||
output_data[27] = (size >> 24) & 0xFF
|
|
||||||
|
|
||||||
output_data[28] = (crc32 >> 0) & 0xFF
|
|
||||||
output_data[29] = (crc32 >> 8) & 0xFF
|
|
||||||
output_data[30] = (crc32 >> 16) & 0xFF
|
|
||||||
output_data[31] = (crc32 >> 24) & 0xFF
|
|
||||||
|
|
||||||
output_data[32] = (fw_rev >> 0) & 0xFF
|
|
||||||
output_data[33] = (fw_rev >> 8) & 0xFF
|
|
||||||
output_data[34] = (fw_rev >> 16) & 0xFF
|
|
||||||
output_data[35] = (fw_rev >> 24) & 0xFF
|
|
||||||
|
|
||||||
output_data[36] = (checksum >> 0) & 0xFF
|
|
||||||
output_data[37] = (checksum >> 8) & 0xFF
|
|
||||||
output_data[38] = (checksum >> 16) & 0xFF
|
|
||||||
output_data[39] = (checksum >> 24) & 0xFF
|
|
||||||
|
|
||||||
f = open(output_file, 'wb')
|
|
||||||
f.write(output_data)
|
|
||||||
f.close()
|
|
||||||
|
|
||||||
def main(argv):
|
|
||||||
if len(argv) < 2:
|
|
||||||
sys.stderr.write("usage: ncs36510addfib.py input.hex output.bin\n")
|
|
||||||
sys.exit()
|
|
||||||
add_fib(argv[0], argv[1])
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
main(sys.argv[1:])
|
|
||||||
|
|
@ -1,93 +0,0 @@
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
struct ncs36510fib {
|
|
||||||
uint32_t dummy_sp;
|
|
||||||
uint32_t dummy_reset_vector;
|
|
||||||
uint32_t dummy_nmi_handler;
|
|
||||||
uint32_t dummy_hardfault_handler;
|
|
||||||
uint32_t dummy_blank;
|
|
||||||
uint32_t start;
|
|
||||||
uint32_t size;
|
|
||||||
uint32_t crc32;
|
|
||||||
uint32_t fw_rev;
|
|
||||||
uint32_t checksum;
|
|
||||||
uint32_t fill[502];
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct ncs36510fib __attribute__((section(".fib,\"a\",%progbits@"), unused)) ncs36510fib = {
|
|
||||||
0x3FFFFC00,
|
|
||||||
0x00003625,
|
|
||||||
0x00003761,
|
|
||||||
0x00003691,
|
|
||||||
0x00000000,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
0x01000100,
|
|
||||||
0,
|
|
||||||
{
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
@ -1,86 +0,0 @@
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
struct ncs36510fib {
|
|
||||||
uint32_t mac_addr_low;
|
|
||||||
uint32_t mac_addr_high;
|
|
||||||
uint32_t clk_32k_trim;
|
|
||||||
uint32_t clk_32m_trim;
|
|
||||||
uint32_t rssi;
|
|
||||||
uint32_t txtune;
|
|
||||||
uint32_t fill[506];
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct ncs36510fib __attribute__((section(".trim,\"a\",%progbits@"), unused)) ncs36510fib = {
|
|
||||||
{{"0x{:08x}".format(mac_addr_low)}},
|
|
||||||
{{"0x{:08x}".format(mac_addr_high)}},
|
|
||||||
{{"0x{:08x}".format(clk_32k_trim)}},
|
|
||||||
{{"0x{:08x}".format(clk_32m_trim)}},
|
|
||||||
{{"0x{:08x}".format(rssi)}},
|
|
||||||
{{"0x{:08x}".format(txtune)}},
|
|
||||||
{
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
|
|
||||||
0xffffffff, 0xffffffff
|
|
||||||
}
|
|
||||||
};
|
|
||||||
Loading…
Reference in New Issue