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.

how to map interrupt routines to interrupt vectors?

Hello,

 

I'm using the EVMDM365 board with CCS 4 and the XDS510USB PLUS. I want to mix C-code with assembler code to map the interrupt service routines to the interrupt vectors, but the assembler code doesn'n exist in the output file. I use the SPNU151E / SPNU118H documentations, there is a file "intvecs.asm" which should be work, but it doesn't. No branches at the ARM interrupt vectors are created when loading the output file. No "intvecs" section is created. Are there some additional settings necessary for the linker or assembler? What should I use, the interrupt keyword or the INTERRUPT pragma directive?

 

Regards.

  • Brummer,

    this sounds more like a CCS compiler related issue, i'm moving your post to the CCS compiler forum for the right audience to look at it.  If after the compiler/linker has been straighten out you still have dm365 interrupt specific issues then they will move it back to the dm36x silicon/hardware forum.

    thanks for your patience,

    miguel

  • Brummer,

    Do your build settings in CCS4 have the --abi=eabi option enabled? This option would be under Properties->C/C++ Build->Compiler->Runtime Model Options). Under EABI the linker aggressively finds and removes sections which are not directly referenced.  You would have to use the --retain linker option to force the linker to not remove your interrupt vector section. The option is documented in SPNU118H, section 7.4.29.

    Or you could change the abi to ti_arm9_abi, and the --retain would not be needed. Note that any libraries linked into the project would also need to be of the same ABI.

  • Aarti,

     

    that was exactly what i was looking for! Now I'm using the --retain option with the linker and the .intvecs section is linked into the output file. Thank you!