Quantcast
Channel: Forums - Recent Threads
Viewing all articles
Browse latest Browse all 262198

CC1352P: TI 15.4 Stack with osalport: RX stops

$
0
0

Part Number:CC1352P

Hello,

I am struggling with a communication failure using TI 15.4 stack since moving to the NOICALL (and osalport) variant. Here is the environment of the problem:

-          I am using SDK 2.20 for CC1352P.

-          I have a working application that uses TI 15.4 stack communication between 1 device and 1 coordinator, using icall (Library: maclib_nosecure_combo_cc1352.a). Both RX and TX data like in ping-pong fashion.

-          After moving the application to the NOICALL variant of the lib (maclib_secure_noicall_cc1352.a), within 60 minutes, the RX part of the 15.4 device „stops“, which means, the device does not receive any more frames. The coordinator still receives and transmits, the device still transmits.

Via the CCS debugger, by means of breakpoints, I tried to figure out where the RX “stops”. I compared call stacks in state “RX working” with state “RX not working anymore” and detected the following difference:

While RX is working, a breakpoint osal_port.c, line 320 (where the RX event is set) leads to the following call stack:

-          macRxCompleteCallback()

-          rxPayloadIsr()

-          macRxFrameIsr()

-          macRxCbSubG()

-          RF_radioOpDoneCb()

Also, a breakpoint at the beginning of the following functions trigger regularly (I believe those schedule the RF command for RX):

-          macRxOn()

-          macSendReceiveCmdSubG()

As soon as RX is not working anymore, I can still set breakpoints in functions

-          macRxOn()

-          macSendReceiveCmdSubG()

which lets me believe that the RX commands are still scheduled. On the other hand, I can only trigger breakpoints in functions

-          macRxCbSubG()

-          RF_radioOpDoneCb()

and none of other functions that are called, starting with macRxFrameIsr().

Clearly, I don’t have the code of the MAC, but I would hope that you could help me find the cause of the failure by checking what reason there might be that macRxFrameIsr() is not called anymore in macRxCbSubG().

What I have checked or tried to solve or circumvent the problem without success:

-          Checked in my application that transmit and receive functions do still work as expected at this stage.

-          Played with task priorities (MAC Task has Prio 4, application task has prio 3, all others have <=2)

-          Compared my XDC Configuration to the dmm_154sensor_remote_display_cc1352r1lp_app example project. (Just to be clear, I am compiling in the BLE Stack into the same binary, but I do not use it at this stage. I do not use DMM.)

-          I have tried using Library maclib_secure_noicall_combo_cc1352.a instead of maclib_secure_noicall_cc1352.a

-          Compared variables when stopping in both stages (RX working and RX not working) in macRxCbSubG() function – no significant different as far as I can tell (Screenshots attached).

Hopefully there is a way to fix this!

Thank you in advance,

hkr


Viewing all articles
Browse latest Browse all 262198

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>