Part Number: J721S2XSOMXEVM
HI
when c7 dsp funcA use Streaming Engine, then a interrupt coming, interrupt func also use Streaming Engine, when interrupt return, funcA will error ?
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.
Part Number: J721S2XSOMXEVM
HI
when c7 dsp funcA use Streaming Engine, then a interrupt coming, interrupt func also use Streaming Engine, when interrupt return, funcA will error ?
Hi,
Part of the behavior depends on the ISR and what behavior you would want after returning to the ISR. However in general, under the assumption that you are interested in using SE with the following behavior -
Then the general steps would be the following:
Essentially, if the same streaming engine will be used by the ISR, steps 2 and 4 will need to be included by the ISR so that the SE state is properly preserved by state 5.
Without those steps, the behavior SE would show would be determined by what the ISR actually does with streaming engine. I'd imagine you would see unexpected behavior such as reading from the wrong memory region.
Best,
Asha
thank you, when c7 use freertos, if taskA use SE0, taskB also use SE0; when taskA using SE0 then c7 start taskB ,when taskB ok return,and taskA run continue, it will ok ? when taskA start use SE0, it need off irq to prevent taskB ?
Hi,
The C7x streaming engine was designed to handle context switching and would follow a similar process to what I defined in the early answer. I would recommend taking a look at the User’s Guide C71x DSP CPU, Instruction Set, and Matrix Multiply Accelerator document and the sections 3.22.4.2 Stream States, 3.22.4.2.3 Context Switching: Saving and Restoring Streams, and 3.18.4.12 Saving and Restoring Streams: SESAVE / SERSTR.
Best,
Asha