Other Parts Discussed in Thread: CC1310
Hello,
I am debugging a TIDA-00484 clone board. Here is the situation and my questions. Any help is appreciated. Let me give full details (apologize for long posting with all details)
TIDA-00484 board is connected to SmartRF06 evaluation board via 10-pin ARM Cortex Debug Connector and I can see the board detects CC1310 on target TIDA-00484 board. I have compiled all the code (clean build) and flashed the HEX file in via flash programmer thru SmartRF06 evaluation board. I can also single step code via Code Composer Studio V6 and have set break points and single stepped the full FW (most of it). I am using CC1111 USB EVM Kit 868/915 MHz is used to “sniff” packets using the SmartRF™ Protocol Packet Sniffer software as suggested in the design guide. I am also using the PRS file from the downloaded directory. I also see during single stepping that Temp sensor data is OK and 6 byte RF packet (04h, 54h, 63h,78h,6ah, 94h) being formed in memory (as packet buffer) and I can display those in watch window and memory window. All dandy so far.
Now the questions
Problem 1: Not seeing any captured packets on sniffer (except for noise packets with FCS error) if I dont apply filter and if I do apply filter nothing.
When I single step - after the packer buffer is formed, I see the code issue
rfHandle = RF_open(&rfObject, &RF_prop, (RF_RadioSetup*)&RF_cmdPropRadioDivSetup, &rfParams);
(This call completes but, I have not checked all status - but as you know, FW code does not test for any return status) - But I see rfHandle etc getting populated)
and then set frequency call
RF_postCmd(rfHandle, (RF_Op*)&RF_cmdFs, RF_PriorityNormal, NULL, NULL);
(This call also completes but, I have not checked all status - but as you know, FW code does not test for any return status) - I see 0x393 (915Mhz) getting into variable etc.. getting populated)
Then it issues:
RF_Event result = RF_runCmd(rfHandle, (RF_Op*)&RF_cmdPropTx, RF_PriorityNormal, NULL, NULL);
if (result != RF_EventCmdDone)
This call hangs - and of course no packets are sniffed by sniffer. Now.. I also did single step this call and here are my observations:
#1. I see that RF.C file code moves on to: RF_CmdHandle RF_postCmd(RF_Handle h, RF_Op* pOp, RF_Priority ePri, RF_Callback pCb, RF_EventMask bmEvent)
and tries to post this command (as if the previous ones are not complete for whatever reason) and eventually the code moves to:
// Command has still not finished, override callback with one that posts to semaphore and will go to:
// Wait for semaphore
Semaphore_pend(Semaphore_handle(&h->state.semSync), BIOS_WAIT_FOREVER);
And will NOT come back from here...
Observation1: Seems to me that, Radio processor is not processing commands anymore and the queue gets filled (I also see ch number getting from 0 up to 2 during single stepping / break point debug). I have both 32khz and 24Mhz crystals mounted but have NOT checked radio. I checked VDDR abd it measures 1.682 volts which is pretty close to 1.7 min that CC1310 data sheet evangelizes.
Observation2: I tried to use RF studio to command the TIDA target board to operate radio (via XDS 100v3 and 10 pin ribbon cable path) and I see commands line TXMIT, FS etc.. printing IDLE as status except for Abort command that prints status OK. So, seems radio is not working
Any help is appreciated. Thanks in advance.
Sham Datta.