cancel
Showing results for 
Search instead for 
Did you mean: 

SPBTLE-1S and Chip ID. Is there any way to read the Chip ID from SPBTLE-1S?

SProg
Associate III

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 ?

This discussion has been locked for participation. If you have a question, please start a new topic in order to ask your question
4 REPLIES 4
Winfred LU
ST Employee

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.

SProg
Associate III

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

alok
Senior

Hello SProg,

Please share which toolchain and optimization level posed the issue ?

The ID is not in the flash.

Please issue memory readings to get it.

Please refer to Appli_GetMACfromUniqueNumber() in the SDK.