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.

locating GAP GATT attribute table in memory

Hi,

I would like to better understand the creation and population of the GAP GATT attribute table. I realize this is part of the BLE stack and source code is not included, just wanting to view the contents of the relevant memory while debugging.

Short background. Using the SimpleBLEPeripheral project running on CC2540DK-MINI as the platform. I find in the source files arrays for the application-level services:

simpleProfileAttrTbl

simplekeysAttrTbl

devInfoAttriTbl

Using the Symbols window in debugger I locate the address of these variables and then using Symbolic Memory window I watch the contents of these attribute tables while stepping through execution.

I have not been able to locate a similar table/symbol for GAP GATT service, also the GATT basic service. Just wanting to be able to find the memory location and view the contents. Would also appreciate any pointers to additional information on population of these two services, e.g. how is the value of appearance characteristic chosen and where are these set in the code, how are the values of peripheral preferred connection parameters characteristic chosen and where are these set in the code.

Thanks,

Scott

  • One method is to set a breakpoint on call to 

    GGS_SetParameter( GGS_DEVICE_NAME_ATT, GAP_DEVICE_NAME_LEN, attDeviceName );

    and trace from there. Works but requires following understanding the assembly code.

    It seems that the BLE stack sets all GAP GATT characteristics to default values, although I haven't stumbled upon when this happens during initialization. User calls to GGS_SetParameter (as above) re-write with the user's desired parameters.