I am porting a CW4 project to CW10.2. I created a new project from the project wizzard in 10.2 and have added all the source files and removed almost all of the errors. This one has me stumped.
In the CW4 project, there is a declaration in file.c:
volatile uint8 OS_Task = MAX_TASK_NUMBER
Then the file mcf5282_lo.s has the following:
.extern _OS_Task
c_switch:
_c_switch:
.
.
.
move.b d1,_OS_Task
Now, in the CW10.2 project I have eliminated the mcf5282_lo.s in favor of the generated startcf.c.
file.c still has the same declaration noted above.
In startcf.c, the c_switch has been changed to:
asm __declspec(register_abi) void c_switch(void)
{
.
.
.
move.b d1,_OS_Task // This line gives me error "illegal addressing mode"
} // This line gives me error "undefined label '_OS_Task'
So how and where can I tell the assembly routine c_switch that OS_Task is defined in file.c????
i.e. how can add .extern OS_Task in the c file???
Regretfully, i've randomly tried every thing I could thing of before coming here.
Thanks,
Steve