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.

TMS320F280049: Clarify interrupt usage for C28x ISR and CLA task/background

Part Number: TMS320F280049

Dear Champs,

I am asking this for our customer.

In 6.9.15 The INTERRUPT Pragma of the compiler doc (https://www.ti.com/lit/ug/spru514w/spru514w.pdf?ts=1630324430532&ref_url=https%253A%252F%252Fwww.ti.com%252Ftool%252FC2000-CGT), I want clarify usages.

1) For interrupt C28x ISR and CLA task,

If #pragma INTERRUPT is used, does it matter with or without interrupt?

That is, are below a) b) c) the same?

a) interrupt void Cla1Task1()

b) 

#pragma INTERRUPT (Cla1Task1)

interrupt void Cla1Task1()

c) 

#pragma INTERRUPT (Cla1Task1)

void Cla1Task1()

2) Likewise, for CLA background, are below the same?

a) 

#pragma INTERRUPT(Cla1Task8_background, "BACKGROUND");
interrupt void Cla1Task8_background()

b) 

#pragma INTERRUPT(Cla1Task8_background, "BACKGROUND");
void Cla1Task8_background()

I tried to build both the above and did not find anything different, but I still want to confirm again.

3) In the example shown on the page 123, there is a ";" on the end of #pragma INTERRUPT. Does it matter if ";" is used or not? I don't see a ";" with other #pragma usages. 

#pragma INTERRUPT(task_name, "BACKGROUND");

void task_name(void) {...}

4) If I define

#pragma INTERRUPT(Cla1Task8_background, "BACKGROUND");
interrupt void Cla1Task8_background()

in the .h file, I only need to use extern without #pragma statement, is it right?

extern interrupt void Cla1Task8_background();

Wayne Huang