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.

CC2340R5: Segger RTT support in BLE stack

Part Number: CC2340R5

My customer is testing Segger RTT on CC2340R5 using J-Link. After integrating the RTT demo from Segger to CC2340 empty example, the RTT worked fine. However, after integrating the same code into the basic_ble example, nothing was printed out in the RTT viewer.

Is RTT tested with our BLE stack? Any additional setting needed in the BLE stack to make RTT work?

Best regards,

Shuyang

  • Hi Shuyang,

    I am not aware of any Segger RTT support with a SimpleLink SDK.  The customer would have to provide further details concerning their prior RTT demo integration and further BLE5-Stack Debugging.

    Regards,
    Ryan

  • Hi Ryan,

    Please find the projects as below:

    empty example with RTT:

    https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/538/empty_5F00_LP_5F00_EM_5F00_CC2340R5_5F00_freertos_5F00_ticlang_5F00_RTT.7z

    basic_ble example with RTT:

    https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/538/basic_5F00_ble_5F00_LP_5F00_EM_5F00_CC2340R5_5F00_freertos_5F00_ticlang.7z

    The implementation of RTT in both projects are the same, but the basic_ble does not have any output in RTT viewer.

    Best regards,

    Shuyang

  • Hi Shuyang,

    Got it. Can you clarify the SDK version as well as the CCS version you are using as part of your evaluation?

    Best Regards,

    Jan

  • Hi Jan,

    I was using SDK 7.10 and CCS12.4 to test it. I can try with the latest SDK if needed and get back to you with the result later.

    Best regards,

    Shuyang

  • Hi Shuyang,

    Please keep us updated of the results with the newest SDK version.

    In parallel, for information, I have opened an internal thread with the Tools team to get more insights.

    Best regards,

  • Hi again,

    I got some feedback from the Tools team.

    There is no restriction in using Segger RTT. It can be used with RTT logger tool. If they have the right firmware and flash the application with RTT enabled logs in our device, then customer can use that.

    Being said that if they are able to use it with empty project, they should be able to use with ble example as well. I am assuming the customer is using LP, so that all the debug lines are connected. One more thing that we could think is memory. RTT might demand 1kB or 2kB memory for buffering. The device should have enough memory but will be good to make sure customer is seeing Segger control block initialization success.

    Here are a few resources you may want to reference:
    https://www.segger.com/products/debug-probes/j-link/technology/about-real-time-transfer/
    https://wiki.segger.com/RTT

    Please keep us updated!

    Best regards,

  • Hi Clement,

    I tried SDK7.20 and it did not work either.

    Do you have a J-Link to reproduce the issue? I'm out of idea to debug this. The basic_ble should has more than 2KB memory for buffering, right?

    Best regards,

    Shuyang

  • Hi Shuyang,

    I am afraid I do not have the right hardware at the moment.

    For sanity, I would recommend testing  whether you manage to get RTT to work when disabling Power Savings in the basic_ble example.

    In general, I would recommend to double check whether an error is returned by any of the RTT functions. To do so, try to step in the code starting in SEGGER_RTT_WriteString() function.
    Then you can check whether the string is added to the down buffer.

    Regards,