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.

LP-CC2652RB: Where is CCFG of CC2652RB

Part Number: LP-CC2652RB

Hi Ti, 

I want to get the secondary BLE MAC addr in my project. 

I know that I need to read CCFG area to get the BLE MAC addr, but I am confused to the CCFG's addr.

In smart flash programmer 2, I see the addr is 0x00057FD0( I can get the correct result form this addr by NVS_read() ):

But when I get the BLE MAC by the hw_ccfg.h, I can see the define:

// in hw_ccfg.h
#define CCFG_BASE               0x50003000 // CCFG

// IEEE BLE Address 0
#define CCFG_O_IEEE_BLE_0                                           0x00001FD0


// in main.c
memcpy(MAC_addr, (uint8_t *)(CCFG_BASE + CCFG_O_IEEE_BLE_0), 6);

That's mean the addr of BLE MAC is 0x50004FD0(I can get correct result form this addr by memcpy() ), yes?

Actually, I can get the correct result form the 2 different addr, I don't know why, Could you help me?

Thanks very much, have a good day!

  • Hi,

    Thank you for reaching out.

    The CCFG configuration stored in the last Flash page (stored at address 0x56000) is mapped to the CCFG registers (stored at address 0x50003000). As a consequence, it is expected for you to have the same value when accessing the data by either of the approaches.

    Memory mapping is used to share resources between the two Arm Cortex Processors (radio M0 and main M4F). As a developer your only concern is the application and thus you should modify the CCFG as stored in the last page of flash (0x56000). 

    If needed, I would recommend to review the content of <SDK>\source\ti\devices\cc13x2_cc26x2\inc\hw_ccfg_simple_struct.h for additional details on this memory mapping.

    I hope this will help,

    Best regards,

  • Thank you for your help, I got it now!