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.
Tool/software:
Hello,
In our company I am porting our 6TiSCH stack working in 863-870MHz band to CC1312R. The TSCH scheme introduces strict timing requirements therefore the transceiver is managed by a timer.
The particular device configuration overview (simplelink_cc13xx_cc26xx_sdk_7_41_00_17, nortos):
- GPTIMER to run tasks in the system (MAC layer operations are launched in GPTIMER ISR context)
- UART to border router communication
- RF with custom configuration
- AESECB, TRNG, etc.
My problem 1:
Priorities setting:
Timer1.timerInstance.interruptPriority = "6";
RF.interruptPriority = "1";
RF.softwareInterruptPriority = "1";
The thing is that RF_runCmd hangs the MCU in an infinitively when the funcion is called from the GPTIMER ISR context.
My problem 2:
RF.softwareInterruptPriority = "1"; - application starts
RF.softwareInterruptPriority = "2"; - application starts
RF.softwareInterruptPriority = "3"; - application starts
RF.softwareInterruptPriority = "4"; - hard fault exception (call stack indicates the SemaphoreP_Params_init function)
RF.softwareInterruptPriority = "5"; - hard fault exception (call stack indicates the SemaphoreP_Params_init function)
....
Why does it works that way?
Question 1.
How does the RF driver works?
Radio hardware raises interrups, they are processed internally by the driver in ISR context, then a software interrupt is raised from which the radio callbacks are called?
Question 2.
What in syscfg is a software interrupt priority? Is this the priority within some software components within one hardware interrupt trigerred by software?
Question 3.
What priority has the interrupt trigerred by software and why this interrupt priority is not configurable? Eg. if in timer ISR I want a complete execution of radio command the RF ISR and RF software ISR are involved. Therefore, the RF ISR must preemtp the GPTIMER ISR and RF software ISR must preempt the RF ISR. I do not know what RF software ISR can preempt and whan it can preempt not.
Hi Mateusz,
please let us continue the discussion in the other thread that you opened: https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1428539/launchxl-cc1312r1-launchxl-cc1312r1-the-proper-use-scheme-of-rf-api
Kind regards,
Theo