CCS C Software and Maintenance Offers
FAQFAQ   FAQForum Help   FAQOfficial CCS Support   SearchSearch  RegisterRegister 

ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

CCS does not monitor this forum on a regular basis.

Please do not post bug reports on this forum. Send them to CCS Technical Support

problems when compiling old code

 
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion
View previous topic :: View next topic  
Author Message
paxel



Joined: 17 Feb 2005
Posts: 1

View user's profile Send private message

problems when compiling old code
PostPosted: Thu Feb 17, 2005 7:10 am     Reply with quote

Hi all,

We're trying to do some changes to an old project built around a PIC12C672 but when we take the code, open it up in PCW and then try to compile we get the error stated below:


Quote:
@const156
Seg 007B2-007B5, 0004 left, need 0007
0000
Seg 007B6-007BC, 0000 left, need 0007
0000
Seg 007BD-007D0, 0000 left, need 0007
0000
Seg 007D1-007E4, 0000 left, need 0007
0000
Seg 007E5-007EC, 0000 left, need 0007
0000
Seg 007ED-007F2, 0000 left, need 0007
0000
Seg 007F3-007FB, 0000 left, need 0007
0000
Seg 007FC-007FE, 0003 left, need 0007
0000
Seg 007FF-007FF, 0001 left, need 0007
0000
Seg 00000-00003, 0000 left, need 0007
0000
Seg 00004-00021, 001E left, need 0007
0000

Error[71] C:\projects\Attendo\radioButton\Software\PAT\PATAPP.C 967 : Out of ROM, A segment or the program is too large


From what i understand from other post this has to do with the program code being to big to fit in the segments but this is code that has (supposedly) worked before.
Before we start changing code i'd like to now if the error can be contributed to different versions of compiler and/or IDE (or new/changed settings?).
The source code was last changed in April 2003 and we're using PCW IDE 3.219 and PCM 3.219

with regards,

Per

NNNN
Mark



Joined: 07 Sep 2003
Posts: 2838
Location: Atlanta, GA

View user's profile Send private message Send e-mail

Re: problems when compiling old code
PostPosted: Thu Feb 17, 2005 10:01 am     Reply with quote

paxel wrote:
Before we start changing code i'd like to now if the error can be contributed to different versions of compiler and/or IDE (or new/changed settings?).
The source code was last changed in April 2003 and we're using PCW IDE 3.219 and PCM 3.219


Sure, if the compiler doesn't compile the code the same! Always keep your compiler with your source. Using a newer compiler is a sure fire way to lose some of you hair.
PCM programmer



Joined: 06 Sep 2003
Posts: 21708

View user's profile Send private message

PostPosted: Thu Feb 17, 2005 12:34 pm     Reply with quote

Quote:
The source code was last changed in April 2003 and we're using
PCW IDE 3.219 and PCM 3.219


Based on my records, the versions available in April 2003 would be
approximately 3.150 to 3.156. So that's the highest version you
could possibly be using at that time. You might have bought the
compiler months before that and it could be a lower version.
Ttelmah
Guest







PostPosted: Thu Feb 17, 2005 3:06 pm     Reply with quote

One thing you could try before using an older version, would be to change the optimisation setting of the compiler (#opt).

Best Wishes
win_nie
Guest







PostPosted: Tue Mar 08, 2005 1:57 pm     Reply with quote

Is there already a solution available?
I have the same problem with 3.218.
What i found out:
The problem is a function which returns a long (16 bit).
If i change it to int (8 bit) the code can be compiled without problems, but of course without the right functionality.
Mark



Joined: 07 Sep 2003
Posts: 2838
Location: Atlanta, GA

View user's profile Send private message Send e-mail

PostPosted: Tue Mar 08, 2005 2:01 pm     Reply with quote

Yeah, make the code smaller so that it will fit. Big functions can be broken down into smaller ones so that it is easier to fit within pages. Try using #separate before each function to force the compiler not to try and "inline" it in the event that it is only called once.
win_nie
Guest







PostPosted: Tue Mar 08, 2005 2:49 pm     Reply with quote

Hi Mark,
the code (stored in several *.c and *.h files) can be compiled with an old version (3.137) without problems. The function which causes the trouble is really small. I already tried #separate before the function and before the other functions in the same code file. Still the same problem.
Do you have an idea why it works, if i just change the return value of the function from long to int?
Thank you for your help.
Mark



Joined: 07 Sep 2003
Posts: 2838
Location: Atlanta, GA

View user's profile Send private message Send e-mail

PostPosted: Tue Mar 08, 2005 2:53 pm     Reply with quote

Comment out some lines in the function and see what happens. If it compiles, then start adding back lines until it doesn't. Go back one step and compile it again. Take a look at how much room is left in that page. If you are not getting what I am saying, then email me the files and I will take a look at it.
win_nie
Guest







PostPosted: Thu Mar 10, 2005 1:57 pm     Reply with quote

It seems that the old compiler generated more compact code. If i leave away some lines of code, it is possible to compile with the new compiler.
Display posts from previous:   
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group