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.

An error while initializing TI Bluetooth Stack: BSC_Initialize(HCI_DriverInformation, 0) == -4

Other Parts Discussed in Thread: MSP430F5229, CC256XQFNEM, CC2564, MSP430F5438
Hi!
Need your help!
There is an error while running SPPLE Demo code on the MSP430F5229 MCU with CC2564YFV-based circuit (see [CC2564YFV_Debug2_RF_config.pdf])

The function BSC_Initialize returns error -4 instead of 0 in

static int OpenStack(HCI_DriverInformation_t *HCI_DriverInformation, BTPS_Initialization_t *BTPS_Initialization)
{
<...>
Result = BSC_Initialize(HCI_DriverInformation, 0);
<...>
}

The Altium Designer project with Gerber production files attached [CC2564YFV_Debug2.zip].
There is no error (Result == 0) while running the code on MSP430F5229+CC2564BRVM (QFN package) circuit with similar schematic.

<BSC_Initialize_Result=-4.png><CC2564YFV_Debug2_RF_config.pdf>

  • Hi,

    It looks like the UART is not configured correctly, Please check your hardware porting once again as per the document (v1.5 R2\Documentation\Hardware Porting Guidelines.pdf) provided in the Bluetooth stack SDK.

    Mind that the default SPPLE demo provided will not work directly with MSP430F5229 MCU, you need to port it using Hardware Porting Guidelines.pdf
  • Hi! thank you for your reply! I'll try to explain.
    The TI Bluetooth stack is already ported to MSP430F5229 MCU. There is no error (Result == 0) while running the code on MSP430F5229+CC2564BRVM (QFN-packaged) circuit with similar schematic. The problem appears only with CC2564YFV (DSBGA-packaged) IC.
  • Hi,

    Ok. QFN is working and CC2564YFV is not working, But the error looks like the UART is not configured correctly,

    can you check if CC2564YFV is CC256x or CC256xB?

    QFN is CC256xB, I am not sure if CC2564YFV is CC256xB or CC256xA, Could you please read the local version information, to check the LMP subversion.
    LMP subversion for CC256xB is 0x1B90(instead of 0x1B0F for CC256xA).
  • Hi!
    Thank you for your reply!

    CC2564 QFN = CC2564B on the CC256xQFNEM and on the our prototype's board.

    CC2564 YFV = CC2564 (without letter B, see photo) on the our debugging board.

    There is no more initializing error with MSP430F5438+CC2564YFV (see http://youtu.be/7AN4aO-ciII). It was fixed by removing the #define __SUPPORT_CC256XB_PATCH__ line from our firmware source code.
    But now there is another error appears while compiling the firmware ported on MSP430F5229 without #define __SUPPORT_CC256XB_PATCH__:

    Error[e16]: Segment DATA20_C (size: 0x4763 align: 0) is too long for segment definition. At least 0x18d7 more bytes  
    needed. The problem occurred while processing the segment placement command  
    "-Z(CONST)DATA20_C,DATA20_ID=4400-FF7F,10000-243FF", where at the moment of placement the available memory  
    ranges were "CODE:d0f4-ff7f,CODE:22a3e-243ff" 
       Reserved ranges relevant to this placement: 
       4400-442f            CSTART 
       4430-4583            ISR_CODE 
       4584-56f9            DATA16_C 
       56fa-5a99            DATA16_ID 
       5a9a-d0f3            CODE 
       d0f4-ff7f            DATA20_C 
       10000-22a3d          CODE 
       22a3e-243ff          DATA20_C 
    Error while running Linker 
     
    Total number of errors: 1 
    Total number of warnings: 1 

    The firmware source code with #define __SUPPORT_CC256XB_PATCH__ directive present compiles normally.

    Do you have any suggestions to solve this problem?
    here is demo video 

  • Hi,

    Try to reduce the coded size (example by removing few Display() function)