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.

Bluetopia causes hard fault

Hi

I'm having a crash with the Bluetopia SDK. I've successfully ported the communication and kernel layers to my OS, everything seems to be ok since I can see a lot of valid HCI data being exchanged on the UART lines. However, the end of the BSC_Initialize function crashes.

Here is the information gathered with the debugger:

- crashes with a bus fault error at address 0x400FE000 (register BFSR = b10000010, BFAR = 0x400FE000)

- PC register points somewhere in a GetAccess function, called by BSC_Initialize

It's hard to get more information since I don't have the source code of the Bluetopia libraries.

Here is my environment:

- Bluetopia SDK v1.1 (4.0.1.3)

- STM32F407 (Cortex M4) microcontroller

- PAN1323 bluetooth chipset (TI CC2564B) on a PAN1323ETU board

- GCC compiler (Yagarto toolchain)

- ChibiOS/RT real-time OS

Thanks.

  • Hi,

    Please confirm if you have defined "__SUPPORT_CC256XB_PATCH__" - this is required to be used with CC256xB devices.

    Regards,
    Gigi Joseph.

  • Hi Joseph

    Yes, I have correctly defined __SUPPORT_CC256XB_PATCH__.

  • Hi,

    I hope you have include #define __SUPPORT_CC256XB_PATCH__ before the #ifndef __SUPPORT_CC256XB_PATCH__ statement.

    Also keep in mind that the software(Tiva C Bluetopia SDK v1.1) supports NoOS only.

  • Hi

    I have defined __SUPPORT_CC256XB_PATCH__  in my compile flags so there's no problem with that, I can tell you for sure that the patch is correctly included.

    What is "NoOS"? Is it an actual OS? I've never heard about it, I thought that the code under the NoOS folder was for people who don't use any particular embedded OS.

     

    But that shouldn't be a problem either, I correctly ported the kernel and HCI transport layers to my OS (ChibiOS/RT), and it works fine for most of the initialization phase because I can see a lot of HCI messages being exchanged before the crash.

     

    Actually what would help would be to have access to the source code to see where it is crashing. But I don't think it is possible, is it?

     

    Also, I wonder if it's not an incompatibility between the compiled libraries and my application. I don't know which options were used to compile them, maybe my GCC isn't configured the same way, thus producing binary incompatibilities. Is there a way to know how the libraries were compiled? Are they known to work fine with Yagarto?

  • Hi,

    Your understand of the NoOS is correct.

    Only code provide in the SDK is available. If you wanted to check the stack code It is not available.

    If you can provide the error you are seeing, I will see if someone from Stone Street One can help.

  • Everything that I know about the error is described in my first post.

  • Hi,

    It will be good if you can provide the Terminal(Tera term) output. As BSC_Initialize can fail because of many reasons(errors)

  • I don't get any output. Which doesn't surprise me, because it's a crash, not a higher-level error that the API would be able to catch.

  • Hi,

    Sorry to say this now. But what I understand from Stone Street One is that, You are facing this issue because you are using a non TI part MCU. Only TI TIVA parts are supported on Bluetopia V1.1 release presently. 

  • Well, I don't think it should be a problem. My MCU is a Cortex-M3, just like TI Tiva MCUs. And anyway, since the hardware part is abtracted from the stack and implemented by myself, I don't see how the MCU could be "incompatible". The stack is just standard C.

    This answer doesn't sound very professional from a team that supposedly ships a commercial-grade API with an abstraction layer.

    I think I'll just switch to another product. I won't get relevant support here.

    Thanks for your time.

  • Hi,

    If you want to use the Stone Street One Bluetopia stack provided royalty free by TI, you need to buy a TI MCU.

    If you are using any different MCU you need to contact Stone Street One at sales@stonestreetone.com for the software(stack).

  • As far as I know you only have to buy a TI bluetooth chipset (in my case, the CC2564b) to be able to use the Bluetopia SDK. Why would I have to contact the SSO team, since I already have the software stack? Is there a secret version that they keep hidden until you ask them?

    Anyway, I understand that you just want me to give up and stop bothering you, and you'll be happy to know that I will. I've found another bluetooth chipset, the CSR8000, which is cheaper, has better support and a much smaller stack (I recently realized that the Bluetopia stack wouldn't even fit in my 128 KB of flash).

    Thank you TI and Bluetopia for this great support.