2019-05-30 01:48 AM
I would like to read the SPBTLE-1S chip id in order to generate a unique mac/public address.
Can i read a specific area on Flash and get that ID ?
2019-05-31 01:21 AM
The unique serial number in BlueNRG-1 can be what you need.
The BlueNRG-1 device has a unique six-byte serial number stored at address 0x100007F4.
It is stored as two words (8 bytes) at addresses 0x100007F4 and 0x100007F8 with unique serial number padded with 0xAA55.
Please in mesh_cfg_usr.h, define INTERNAL_UNIQUE_NUMBER_MAC instead of GENERATE_STATIC_RANDOM_MAC.
The MAC address will be generated in Appli_GetMACfromUniqueNumber()
By default the address will be static device address.
If public address is needed, usually it means you've got a bunch of addresses in hand, and you need to flash them in the devices.
In this case, EXTERNAL_MAC_ADDR_MGMT shall be used instead.
2019-05-31 01:48 AM
I am using the internal MCU of module.
Using the:
uint32_t byte_1 = FLASH_ReadWord(0x100007F4);
uint32_t byte_2 = FLASH_ReadWord(0x100007F8);
I am reading for byte_1 values like (1A700BE5, 1A1FF81E) but the byte_2 remains 0x00000000 on each module i tried.
SOLVED:
That was just an optimization issue on code
2019-05-31 08:44 PM
Hello SProg,
Please share which toolchain and optimization level posed the issue ?
2019-06-02 07:25 PM
The ID is not in the flash.
Please issue memory readings to get it.
Please refer to Appli_GetMACfromUniqueNumber() in the SDK.