Page 2 of 2

Re: OSVars and very large projects

PostPosted: Fri Aug 19, 2005 10:02 am
by tyski
I'm working on a fairly large project (PIC18 and mcc18) where I have numerous tasks and event blocks. I finally ran into a problem that led me to believe that the mcc18 compiler could not fit all of Salvo's global objects in a single udata section. I'm looking for a way to solve this problem without modifying the mem.c file.

Thus far, my solution was to modify this part of the mem.c file as follows (towards top of file):

#if ( (OSCOMPILER == OSMPLAB_C18)
&& (OSMPLAB_C18_LOC_ALL_NEAR == TRUE) )
#pragma udata access OSVars
#else
#pragma udata OSVars
#endif

and then to create a custom data section in the linker file called OSVars (of an appropriate size)

If the mem.c file does need to be modified (which I suspsect it does), I would reccommed an upgrade to the file and appropriate config options.

Tyrel

------------------
Tyrel Newton
Electrical Engineer

Tethers Unlimited, Inc.
11807 North Creek Parkway South, Suite B-102
Bothell, WA 98011-8804, USA
425-486-0100 x836 425-482-9670 FAX
newton@tethers.com
http://www.tethers.com/