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.

SWI undefined

I converted a CCS3 project to CCS4 that used BIOS 5.  When I attempt to add a SWI task (SWIMcASP), the compiler reports the SWIMcASP at the SWI_post opperation as undefined.  The project is called tsk.  In the file tskcmd.h exists

 

 

 

extern

 

 

The file that posts the interrupt

far SWI_Obj SWIMcASP;

SWI_post(&SWIMcASP);

has a statement

#include "tskcfg.h"

I have tried creating the SWI in both the BIOS configuration tool and in a text editor.  There are 4 other SWI interrupts that compile correctly.

Thanks for any assitance,

  • Hi Mark,

    Could you try adding "extern" to your declaration of the SWI object?

        extern far SWI_Obj SWIMcASP;

    If this does not work, would you be able to provide some more information?

    More specifically,  could you please attach your configuration file (*.cfg file) as well as your C file(s)?

    Thanks,

    Steve

  • I was able get the code to link.  I had another SWI object, SWI3, that I searched for in the project directory.  There was a tskcfg.h file in the \Debug directory that had a SWI3 but no declaration of the SWIMcASP.  Adding the

    extern far SWI_Obj SWIMcASP;

    to the tskcfg.h file resolved the issue. 

    Adding the SWIMcASP SWI to the tsk.tcf file did modify the tskcfg.h file, but apparently not in the correct .h file.

  • ok, great news!

    Steve