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

ROM Tables on PIC184550

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



Joined: 28 Feb 2009
Posts: 5
Location: Taunton Ma

View user's profile Send private message Visit poster's website

ROM Tables on PIC184550
PostPosted: Sun Mar 01, 2009 4:20 pm     Reply with quote

Hello,
I am trying to develope a program that needs to use a group of tables of 200 characters per table. i want to store these in ROM due to ram limitations. When I compile only the first three out of six loaded. the remainder are ignored with NO ERROR MESSAGE.

the code looks like
Code:
const int redLinear[]=
{
   0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00.....
}
const int greenLinear[]=
{
   0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00.....
}

and so on for 6 tables.
Only the first three are usable but the compiler ignores the last 3.
Any Ideas would be greatly appreciated

Dave
_________________
Micro-guy
PCM programmer



Joined: 06 Sep 2003
Posts: 21708

View user's profile Send private message

PostPosted: Sun Mar 01, 2009 5:20 pm     Reply with quote

Three things about 'const' arrays:

1. The compiler examines the arrays and if they have identical elements,
only the data for one array will be stored in ROM. One set of data will be
used for both arrays.

2. If an array is not referenced in your code, the compiler will not insert
the data into ROM.

3. If the array is accessed with constant values for the array indexes
(instead of a variable), the compiler may use MOVLW statements to
to load the array values, instead of putting the array into a table in ROM.

This is all done as part of optimizing (reducing) the ROM usage.
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