| Details | Message |
|---|
Read-Only Author Rucha Jewlikar Posted 23-Feb-2007 09:06 GMT Toolset C51 |  Compiler Error Rucha Jewlikar Hello, I am using the keil compiler evaluation version, my program was compiling without any errors and i was also able to debug my program, but as i was expanding the program, one error has started "DATA : segment too LARGE". Is this error becauae of the limitation of the compiler my code is nearly 500 lines now. Please help regards Rucha |
|
Read-Only Author Andy Neil Posted 23-Feb-2007 10:17 GMT Toolset C51 |  The message says it all Andy Neil Read the message - it tells you exactly what is "too large" Do you understand the 8051's different memory areas - CODE, DATA, XDATA, etc? |
|
Read-Only Author Rucha Jewlikar Posted 23-Feb-2007 10:34 GMT Toolset C51 |  RE: The message says it all Rucha Jewlikar Extremely sorry, I should have realised that before posting the question. sorry for the trouble |
|
Read-Only Author Christoph Franck Posted 23-Feb-2007 10:18 GMT Toolset C51 |  RE: Compiler Error Christoph Franck Is this error becauae of the limitation of the compiler my code is nearly 500 lines now.<p> Are you using the evaluation version ? That aside, I do not think that running out of DATA memory has anything to do with CODE size. It is more likely that you are using too much data memory in your program. Either find a way to reduce the memory footprint by using more efficient implementations, or, if that is not possible, use other memory types (idata or xdata), if available on your chip. |
|
Read-Only Author Rucha Jewlikar Posted 23-Feb-2007 10:57 GMT Toolset C51 |  RE: Compiler Error Rucha Jewlikar i think it be fair enough if i declare the variables specifying the data memory area. |
|
Read-Only Author Andy Neil Posted 23-Feb-2007 11:31 GMT Toolset C51 |  Think more carefully... Andy Neil "i think it be fair enough if i declare the variables specifying the data memory area." No - think again: the message is telling you that the DATA area is full, isn't it? As Christoph said, you need to reduce your memory usage and/or move some of it to areas other than DATA. Again, you do understand that the message is referring to a specific 8051 memory space - DATA - as distinct from the other spaces XDATA, IDATA, PDATA, etc...? |
|
Read-Only Author Rucha Jewlikar Posted 26-Feb-2007 06:41 GMT Toolset C51 |  RE: Think more carefully... Rucha Jewlikar Hello, Thanks for the help, i have also read a similar thread on 8052.com http://www.8052.com/forum/read.phtml?id=89756 Trying to implement all the suggestions in the keil manual like placing arrays in xdata memory and many more.. it seems to be working fine, will implement the other optimising techniques also. thanks for the help |
|
Read-Only Author Patrick Noonan Posted 23-Feb-2007 12:02 GMT Toolset C51 |  RE: Compiler Error Patrick Noonan Rucha, You should have a read in your Keil manual about compiler memory models and the implications for variables that don't specify an memory qualifier. |
|
Read-Only Author erik malund Posted 23-Feb-2007 13:45 GMT Toolset C51 |  RE: Compiler Error erik malund one thing that caught me "with me britches down" is that, if you do not specify optimize 2 or higher there is no data overlaying. Erik |
|
Read-Only Author Andy Neil Posted 23-Feb-2007 14:03 GMT Toolset C51 |  RTFM! Andy Neil http://www.keil.com/support/man/docs/c51/c51_optimize.htm "The OPTIMIZE directive sets the optimization level and emphasis the Cx51 Compiler uses when generating object code ... 2 = Data Overlaying" " |
|
Read-Only Author erik malund Posted 23-Feb-2007 16:31 GMT Toolset C51 |  RE: RTFM! erik malund I know, but at the release previous to the one where I got cought whatever level enabled overlaying was the default. And when you try the new release, the message is "data overflow" NOT "overlaying not enabled" Erik |
|