This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC2340R5: How to set BD address

Part Number: CC2340R5
Other Parts Discussed in Thread: UNIFLASH, SYSCONFIG

Hi TI members,

Below is my building environment:

Software

Version

Code Composer Studio

12.3.0.00005 

SimpleLink SDK

7.10.00.35

XDCtools

3.62.1.16_core

We used example project host_test to conduct some HCI commands for testing.

But during the test, we found that the RX of HCI_ReadBdAddr showed as follow:

The BD address was 00:00:00:00:00:00.

Our RF engineer thought this was weird since he had tested another CC2340R5 development kit (the two pieces looked identical) flashed with the same FW, and he didn't see "00:00:00:00:00:00" while testing with the same command.

How can we set this address and is this address related to MAC?

Thanks.

BR,

  • Hi YW,

    My test can get BD address. Besides, after BTool initializing, it can show BD address on the left window.

  • Hi Jerry,

    My question was "How can we set this address and is this address related to MAC?".

    We have to figure out what shall we modify to control this.

    Thanks.

    BR,

  • Hello,

    This address correspond to the MAC ID address directly burned on the Silicon, you can not change it. 

    What's more in your case that's a bit weird to have only 0, are you using a PG1.0 device (pre-release one)?

    Regards,

  • Hi, 

    Thanks for the information.

    How can we check if we are using PG1.0 or other versions?

    Thanks.

    BR,

  • Hello,

    On PG1.0, the value contained in 0x4E0003AF should be 0xFF, 0xFE or 0xFD.

    On PG2.0, the value contained in 0x4E0003AF should be 0x02, 0x03 or 0x04.

    You can easily read this value using Uniflash:

    Regards,

  • Hi,

    I supposed we are using PG2.0.

    But how can we check its MAC address in UniFlash or even in command line?

    Thanks.

    BR,

  • Hi,

    As I mentioned previously you have to select your board on Uniflash, check the memory section and  compare with the table above.

    Otherwise, Is it possible to flash a basic_ble example on your device and check the UART serial port, you'll see normally both addresses your ID one (the one you suppose to get after the HCI_RdBdAddr()) and the RP one.

    Can you show me what is the value in your case?

    Also on Btool did you flash your device with Host-test and then send only the HCI_RdBdAddr() command?

    regards,

  • Hi,

    TI: As I mentioned previously you have to select your board on Uniflash, check the memory section and  compare with the table above.

    --> Our 0x4E0003AF looked like 0x06?

    Is it PG1.0 or PG2.0?

    TI: Also on Btool did you flash your device with Host-test and then send only the HCI_RdBdAddr() command?

    --> Our result of HCI_RdBdAddr() after flashing our device with host_test:

    TI: Otherwise, Is it possible to flash a basic_ble example on your device and check the UART serial port, you'll see normally both addresses your ID one (the one you suppose to get after the HCI_RdBdAddr()) and the RP one.

    --> Below is the result of our UART serial port:

    1. But I wonder what's the difference between ID address and RP address?

    2. Under this condition, how can we read its MAC address in UniFlash or even in command line(using dslite)?

    Thanks.

    BR,

  • Hello, 

    Ok so your device BLE address is definitely 0xA434F1AED56C, it's the BD address or as also known as the ID address, this address is directly burned in the silicon, each chip has its own BD address, mandatory according to the Bluetooth specs. 

    The RP address, is the address uses on the Bluetooth Low Energy protocol, it can be generated automatically or define in sysconfig, for more information about addresses please have a look at the user's guide in BLE5-Stack > Privacy section.

    If you reset the basic BLE example and keep the default settings you should be able to see the RP address changes for each reset. However, the ID address has still the same value. 

    You can have also a look at all the HCI commands located in the user's guide in the API References chapter, here you should be able to find all the commands to read addresses you want. All the HCI commands could be implemented directly in the code if don't want to use Btool.

    regards,

  • Hi Guillaume,

    Please instruct for item 2. Under this condition, how can we read its MAC address in UniFlash or even in command line(using dslite)?

    Thank you.

  • Hello all,

    You can find all this information in the CC2340 TRM. The bleAddress start at the address 0x4E000058 and it's 6 bytes long.

    regards,

  • Hi,

    What we would also like to know is "how to  read its MAC address with UniFlash in command line(using dslite)"?

    Please answer this directly.

    Thanks.

    BR,

  • Hi,

    Please refer to https://software-dl.ti.com/ccs/esd/uniflash/docs/v7_0/uniflash_quick_start_guide.html#memory-mode

    dslite can be used in memory mode to read a specific range of memory. Selecting the proper memory range (0x4E000058 to 0x4E00005E) you should get the MAC address exported to the file you want.

    I hope this will help,

    Best regards,