Log in

View Full Version : Non Overlay and absolute? Help.


Tridelvior
11-02-2004, 15:17
I keep getting this message when I try to build the project

Error - section '_entry_scn' type is non-overlay and absolute but occurs in more than one input file.
Errors : 1

BUILD FAILED: Wed Feb 11 14:01:32 2004

Mark McLeod
11-02-2004, 15:57
That's an interesting one.
That's declared in ifi_startup.c and is the RESET_VECTOR

The error occurs if:

#pragma code _entry_scn=RESET_VECTOR

occurs more than once.

Did you by any chance #include "ifi_startup.c" anywhere?

Tridelvior
11-02-2004, 16:41
Hmm..thats interesting.

Now I've got the same error but different place.

Error - section 'InterruptVectorLow' type is non-overlay and absolute but occurs in more than one input file.


Its now within the user_routines_fast.c (Thats the only place where "#pragma code InterruptVectorLow" is.)


#pragma code InterruptVectorLow = LOW_INT_VECTOR
void InterruptVectorLow (void)
{
_asm
goto InterruptHandlerLow /*jump to interrupt routine*/
_endasm
}

This probably has an obvious answer..but what does it mean?

Mark McLeod
11-02-2004, 16:56
Hmm..thats interesting.

Now I've got the same error but different place.




Its now within the user_routines_fast.c (Thats the only place where "#pragma code InterruptVectorLow" is.)




This probably has an obvious answer..but what does it mean?Don't #include any of your .c files.
Now you have #include "user_routines_fast.c" somewhere...

The real answer is to #include .h files only.
.h files usually only reference things that will be defined elsewhere and the names won't conflict if they are mentioned in more than one file. It just lets the different files know they are talking about the same "thing."

.c files on the other hand actually create "things" and if you try creating the same thing twice (by including the .c file) the compiler won't know which of two routine "x"'s you really wanted it to execute.

Tridelvior
11-02-2004, 17:23
Thanks that helped but now I'm getting:

C:\ARGH\user_routines.c:189:Warning [2058] call of function without prototype
C:\ARGH\user_routines.c:191:Error [1203] too few arguments in function call

and the error seems to be within the user_routines.c

pGenerate_Pwmsrintf("Port1 Y %3d, X %3d, Fire %d, Top %d\n",(int)p1_y,(int)p1_x,(int)p1_sw_trig,(int)p1_sw_to p); /* printf EXAMPLE */

Generate_Pwms(pwm13,pwm14,pwm15,pwm16);

aww jeez

Tridelvior
11-02-2004, 17:47
After a fun round of re-downloading the default code i have finally gotten it to work. Thank you very much for your help. I know who to contact if I have any more difficulties. :D

Mark McLeod
12-02-2004, 09:52
After a fun round of re-downloading the default code i have finally gotten it to work. Thank you very much for your help. I know who to contact if I have any more difficulties. :D
It's always more fun to debug someone else's code.;)
It's always your own code that drives you nuts!

Good Luck!