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.

CCS/TMS320F28377S: ILLEGAL_ISR due to DELAY_US

Part Number: TMS320F28377S


Tool/software: Code Composer Studio

When debugging a project using some of the code from ADC examples, I am tripping the ILLEGAL_ISR interrupt at DELAY_US(1000) in the ConfigureADC() function call.  I have already successfully run the ADC example as an imported project.

More Details: I am starting a new project with most of the example files copied locally to the project.  I can compile without any warnings.  I am using the linker file generated when launching a new project in CCS with the TMS320F28377S part in addition to the "F2837xS_Headers_nonBIOS.cmd" file.

Reading one other thread makes me think I need to correct the project settings or the linker command file.

Thanks for the help in advance!

  • Figures. Within a minute of posting, the idea came to me. In the "F2837xS_SysCtrl.c" file there is a section that copies all ramfuncs from flash to ram that is compiled only if "_FLASH" is defined.

    Normally, where does one define this "_FLASH" macro?
  • Hi Eric,

    I'm guessing the delay function (which is in ramfuncs) isn't being copied into RAM properly before it gets called. InitSysCtrl() should do this for you if you have _FLASH in your predefined symbols. Can you check your CCS project settings to make sure it's there?

    Edit: Oops, looks like you spotted it. But like I said, predefined symbols is usually the best place.


    Thanks,
    Whitney