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.

CCS/CC2652R: ICall_taskEntry asserts when bluetooth disconnects abruptly

Part Number: CC2652R
Other Parts Discussed in Thread: SYSBIOS, BLE-STACK

Tool/software: Code Composer Studio

Using the CC2652R part connecting bluetooth. When a device disconnects the ICall code asserts and goes into the HAL_ASSERT_SPINLOCK handler. I'm trying to figure out why this happens and how to fix it. 

The ROV tasks look like this which leads me to believe it's the ICall_taskEntry task which is causing the problem:

  

I also attempted to look at the original code, but the symbols are not defined. This is for the RTOS ROM (according to the 0x1001xxxx address). I added symbols from:  ./kernel/tirtos/packages/ti/sysbios/rom/cortexm/cc26xx/r2/golden/CC26xx/rtos_rom.xem3   following the guide here: http://dev.ti.com/tirex/explore/content/simplelink_cc13x2_26x2_sdk_3_20_00_68/docs/ble5stack/ble_user_guide/html/ble-stack-5.x-guide/debugging-index.html#external-resources 

but the debugger still shows no symbols are defined. 

So my questions are:

1. Is there a way to see what the root cause of the HAL_STACK_ASSERT is?

2. Is there anything else I need to do to get the symbols (0x1001308C) defined?

  • Hi Daniel,

    Assigning an expert to help you.

  • Hi Daniel,

    What version of the SimpleLink CC13x2/CC26x2 SDK are you using? And what example project have you based your application on?

    You should be able to set a breakpoint in main() to figure out more about the HAL assert. You can find out more information in the BLE-Stack User's Guide:

     

  • Hi Marie,

    I started with the Simple_Peripheral example. I set a breakpoint in main at the stack assert code. I get there, but I can't see anything beyond that. That's what the second image I posted in the question shows. I can't see the disassembled code for the address even though I believe I added the TIRTOS symbols. 

    I'm using the SDK version 3.10.01.11

    Thanks,

    Dan

  • Some updates.

    I went back to the stock simple_peripheral_app on the CC2642R1 launchpad. 

    Connecting over bluetooth using Android app "BLE Scanner". I connect to the Simple Peripheral device. Then I force close the android app (just swipe it away). On the UART console for the App I get "STACK ASSERT". I also just tested pressing "Disconnect" on the Android app and I get the same behavior. 

  • Hi Daniel,

    I just tested with Simple Peripheral from SimpleLink CC13x2/CC26x2 3.10 SDK and a Samsung Galaxy 8+ and I am not able to reproduce. If I press the disconnect button for force close the BLE scanner app while in a connection with simple peripheral, simple peripheral displays Disconnected! and re-starts advertising.

    Are you sure you didn't make any code changes to linked files? 

  • Hi Marie,

    Thanks so much for checking. I re-started from the basic Simple_Peripheral code and you're right, it does work. I'm not sure what I changed but obviously it was something! 

    Thanks for your support!

    Dan