I am creating a radio receiver using a Tiva-C device interfaced to a CC1101 radio. When the CC1101 has received a packet, it triggers a hardware interrupt that posts a Swi. The Swi then goes and reads the packet from the CC1101's FIFO.
After I read the packet, I am trying to post it to a mailbox from the Swi so a lower-level task can process it later. However, I am getting an error: "ti.sysbios.knl.Semaphore: line 289: assertion failure: A_badContext: bad calling context. Must be called from a Task."
So my question is, if I can't post to a mailbox from a Swi, what is the best way to go about achieving this same functionality in a time-sensitive manner? Should I use a high priority task in the place of the Swi? Or is there a better approach that I'm overlooking?