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.

Compiler/TMS320F28377D: #pragma INTERRUPT problem

Part Number: TMS320F28377D


Tool/software: TI C/C++ Compiler

I am using CCS  Version: 7.1.0.00016 

I am getting following error:

>> Compilation failure

subdir_rules.mk:16: recipe for target 'Control.obj' failed

INTERNAL ERROR: C:\ti\ccsv7\tools\compiler\ti-cgt-c2000_16.9.1.LTS\bin\cg2000.exe experienced a segmentation fault
while processing function _USER1_ISR

This is caused by a defect in the compiler itself. TI Customer
Support may be able to suggest a workaround to avoid this.

Upgrading to the newest version of the compiler may fix this problem.

Contact TI in the E2E support forums at http://e2e.ti.com under
"Development Tools", "TI C/C++ Compiler". See the link titled
"Submitting an issue". Include this ENTIRE error message and a
copy of the .pp file created when option --preproc_with_comment
(-ppc) is used.

The problem is #pragma INTERRUPT:

#pragma CODE_SECTION(USER1_ISR, ".TI.ramfunc");
#pragma INTERRUPT(USER1_ISR, HPI);
void USER1_ISR(void)
{

// some code is here

}

If change to following, the project compiles without error:

#pragma CODE_SECTION(USER1_ISR, ".TI.ramfunc");
//#pragma INTERRUPT(USER1_ISR, HPI);
interrupt void USER1_ISR(void)
{

// some code here

}

I tried adding both interrupt keywords:

#pragma CODE_SECTION(USER1_ISR, ".TI.ramfunc");
#pragma INTERRUPT(USER1_ISR, HPI);
interrupt void USER1_ISR(void)
{

// some code here

}

It created the same error.

However, I do want to use fast switching that I do not get without the #pragma . How do I fix this problem?

Thank you.

Gasha

  • Unfortunately, I am unable to reproduce ...

    Slobodan Gataric said:
    INTERNAL ERROR: C:\ti\ccsv7\tools\compiler\ti-cgt-c2000_16.9.1.LTS\bin\cg2000.exe experienced a segmentation fault
    while processing function _USER1_ISR

    Please follow these steps to submit a test case.

    1. Preprocess the source file which contains the function _USER1_ISR
    2. Attach that to your next post
    3. Show all the build options exactly as the compiler sees them

    Thanks and regards,

    -George

  • I received a test case through other channels.  Thank you.

    I can reproduce the problem.  But the failure does not occur with every build.  It fails about 60% of the time.

    I'm pretty sure this bug is the same as one already reported, with a bug ID of CODEGEN-1709.  You are welcome to look it up with the SDOWP link below in my signature.

    I upgraded the compiler to version 16.9.3.LTS, which is the most recent version 16.9.x.LTS compiler.  Now I get a successful build every time.  Please see the wiki article Compiler Releases for details on obtaining the new version.

    Thanks and regards,

    -George

  • George, 

    It worked. Thx.

    I have a suggestion regarding the upgrades over the network. At the office, the company has a firewall. We have to type user name and password to access external world. I am Matlab/Simulnk modeling/simulation engineer too. so when I install Mathworks installer pops up a window asking for proxy server setting, user name, and password. It runs short test and then it start downloading. No problems. with TI product, it fails every time because its attempt to access external world gets rejected by proxy-server. I can upgrade by downloading the whole image every time and installing it from local drive. However, TI does not create the whole new image every time compiler is upgraded so I do not get these little upgrades at all.

    It is something to think about.

    Gasha

  • Never mind. I found place to set up proxy server. Update works now.