NINA-B50 series - Hardware integration manual
UBX-22021116 - R02
Open CPU software
Page 33 of 57
C1-Public
Alternatively, the
is an integrated suite of configuration tools that help
guide users to quickly build a custom SDK and leverage pins, clocks and peripherals to generate
initialization C code or register values for custom board support, the tool is available as a standalone
for MAC OS, Linux and Windows, as well as a web based version.
For the EVK-NINA-B5 there are some basic pinmux files available in the u-blox open CPU GitHub
repository
☞
If using the MCUXpresso IDE, no additional download of Config Tools is required.
4.2
Bluetooth device (MAC) address and other production data
During the production of the NINA-B50 module the information in
flash memory.
Parameter
Size (bytes)
Remark
Identification word
10
“PROD_DATA:”
Bluetooth address
6
Unique, public Bluetooth device (MAC) address that
can be used by the customer application.
IEEE 802.15.4 address
8
MAC address
32 MHz crystal trim value
1
Module internal crystal, trim value set by u-blox
32 kHz crystal capacitance
value
1
☞
Needs to be set by customer if using external 32
kHz crystal.
u-blox type number
16
u-blox serial number
8
Table 8: Production parameters stored on NINA-B50
The parameters are stored in the PROD_DATA_BASE_ADDR register.
Example code for reading the parameters stored in u-blox production can be found on the u-blox open
CPU GitHub repository
and a C language representation for the parameters can be found in
typedef
PACKED_STRUCT hardwareParameters_tag
{
uint8_t
identificationWord
[10];
/* internal usage only: valid data present */
uint8_t
bluetooth_address
[6];
/*!< Bluetooth address */
uint8_t
ieee_802_15_4_address
[8];
/*!< IEEE 802.15.4 MAC address - K32W1 only */
uint8_t
xtalTrim
;
/*!< XTAL Trim value */
uint8_t
xtalCap32K
;
/*!< XTAL 32k capacitance value */
/* For forward compatibility additional fields may be added here
Existing data in flash will not be compatible after modifying the
hardwareParameters_t typedef*/
uint8_t
type_number
[16];
/* u-blox Type number */
uint8_t
serial_number
[8];
/* u-blox Serial number */
uint8_t
reserved
[39];
/*!< reserved for adding field to the structure without
changing the Crc field adress location*/
uint16_t
hardwareParamsCrc
;
/* internal usage only: crc for data between start
of reserved area and start of
hardwareParamsCrc field (not included). */
}
hardwareParameters_t;
Figure 14: C language representation of production data
The API call
NV_ReadHWParameters()
(SDK 2.12.5) is used to read these parameters.