Changing BD_ADDR from the application

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
user_2112781
Level 4
Level 4
10 likes received 10 likes given 5 likes given

Hello,

I would like to change the BLE address  of the device but directly from the device running itself.

I know that the address is stored in the EEPROM in the DS1 at offset 0xFF000015 to 0xFF00001b and I can change it directly via bleappfwu_writeMem and when I reboot I indeed get the desired address.

But is there a better way to change the value of the BLE address stored in the EEPROM ? I found blecm_set_static_random_bd_addr but once again, the address must be set to 0xffffffffffff in the EEPROM before calling it.

0 Likes
1 Solution

You shall not change device bdaddr on every reboot.  And you should not change address by writing into a hardcoded memory address.  You can use blecm_set_static_random_bd_addr function.  As you correctly noticed this generates a random address and saves it in the NVRAM.  But in addition to that, device type is changed from public to private.  The address should not be changed for the lifetime of the device.  Otherwise you will be violating Bluetooth SIG policy.

View solution in original post

0 Likes
11 Replies