View previous topic :: View next topic |
Author |
Message |
vortexe9000
Joined: 07 Jun 2010 Posts: 50 Location: Banned - spammer
|
df |
Posted: Fri Aug 26, 2011 11:42 am |
|
|
sdfzzezze _________________ Banned for spamming his own posts
Last edited by vortexe9000 on Sun Feb 19, 2012 7:40 am; edited 1 time in total |
|
![](templates/subSilver/images/spacer.gif) |
PCM programmer
Joined: 06 Sep 2003 Posts: 21708
|
|
Posted: Fri Aug 26, 2011 1:18 pm |
|
|
Are you using a demo version ? Older demo versions had a ROM
limitiation of only 2K. This is 1/4 of the normal ROM space. That could
explain your problem. |
|
![](templates/subSilver/images/spacer.gif) |
andrewg
Joined: 17 Aug 2005 Posts: 316 Location: Perth, Western Australia
|
|
Posted: Sat Aug 27, 2011 12:18 am |
|
|
Maybe 200 lines of output_c, output_b and delay_ms have created a function bigger than a segment (800h). Maybe splitting a big function into multiple smaller ones will help? _________________ Andrew |
|
![](templates/subSilver/images/spacer.gif) |
vortexe9000
Joined: 07 Jun 2010 Posts: 50 Location: Banned - spammer
|
|
Posted: Sun Aug 28, 2011 4:41 am |
|
|
sdfgessss _________________ Banned for spamming his own posts
Last edited by vortexe9000 on Sun Feb 19, 2012 7:39 am; edited 1 time in total |
|
![](templates/subSilver/images/spacer.gif) |
SherpaDoug
Joined: 07 Sep 2003 Posts: 1640 Location: Cape Cod Mass USA
|
|
Posted: Sun Aug 28, 2011 8:09 am |
|
|
"Please what is meant by seg 00004 - 07E8 Left, need 07F1 for example. "
This means that the compiler needs 0X07F1 for a particular block of code (function).
The biggest available block it can find is in segment (or page) 4 and it is only 0X07E8 in size, so the compiler can't fit it in ROM
What you need to do is break up that 07F1 piece of code into smaller pieces so the compiler can better fit them into the pages of ROM.
No single function can bridge two pages, but many small functions can fit on a single page.
Check out the "separate" directive. Sometimes if a function is only called once the compiler optimizer will put the function inline
and it can no longer go on a separate ROM page from the calling function. _________________ The search for better is endless. Instead simply find very good and get the job done. |
|
![](templates/subSilver/images/spacer.gif) |
dyeatman
Joined: 06 Sep 2003 Posts: 1924 Location: Norman, OK
|
|
Posted: Sun Aug 28, 2011 8:40 am |
|
|
The 16F series has the issue with memory pages that don't exist in the 18F
series. That's the reason the 18F compiled successfully. That's also why I
switched to all 18F PICs in my projects. Take a look at the datasheets under
memory organization... _________________ Google and Forum Search are some of your best tools!!!! |
|
![](templates/subSilver/images/spacer.gif) |
vortexe9000
Joined: 07 Jun 2010 Posts: 50 Location: Banned - spammer
|
|
Posted: Mon Aug 29, 2011 4:21 am |
|
|
Please how to break it a small example my friend. _________________ Banned for spamming his own posts |
|
![](templates/subSilver/images/spacer.gif) |
PCM programmer
Joined: 06 Sep 2003 Posts: 21708
|
|
![](templates/subSilver/images/spacer.gif) |
vortexe9000
Joined: 07 Jun 2010 Posts: 50 Location: Banned - spammer
|
|
Posted: Sun Sep 04, 2011 8:52 am |
|
|
thanks for all your help friends........... _________________ Banned for spamming his own posts |
|
![](templates/subSilver/images/spacer.gif) |
|