Hi all, i am working on am small project using 89s52. can anybody please help me with the error in keil.. while compiling i am getting an error in keil...
*** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT SYMBOL: REEAD SEGMENT: ?DT?SAS_WITH_RTC Program Size: data=136.1 xdata=0 code=4953 Target not created
what does this error mean. how can i get out of this...
what can i do in such cases.... i am not getting exactly146 what i have to do...
what can i do in such cases.... i am not getting exactly what i have to do...
it gives an error
is this error something related to RAM..
Having zero compilation errors/warnings and zero linking errors/warnings doesn't mean you have a well-working application.
well, first WHAT is the error, second what are you making, third what exact chip,
i am using 89s52 microontroller... i am trying to make an elecronic locker using 20x4 character LCD, using GSM module... but when i try to compile it... it gives me and error
*** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT SYMBOL: REEAD SEGMENT: ?DT?SAS_WITH_RTC Program Size: data=134.1 xdata=0 code=4944 Target not created
i dont understand what this error means.... and how can i come out of it....
as i am adding a addition string like unsigned char xx[1]... it works... but when i increase the array from 1 to 2... unsigned char xx[2] it gives an erray....
"i dont understand what this error means...."
And maybe you could tell us your process to solve problems if you do not understand what an error means? Does it involve Google or manuals?
"but when i increase the array from 1 to 2... unsigned char xx[2] it gives an erray...."
So what was your conclusion from this? Remember that you have already received an answer you should have considered.
How much RAM does your processor have? How much have you consumed? Is it expected that you should be able to add more variables?
my processor has 256b of ram... and how can i check the memory which i consumed. i selected DEBUG -> start/stop debug session. i got a memory window at the bottom of the page... but how can i check there... what should i type in address
i am sorry... but i have did something which i was not familiar with... after getting into start/stop debug session.. i entered DEBUG --> MEMORY MAP in the memory map window it displayed something like 001: 1:0x00 - 1:0x00 read write. 002: C:0x0000 - C:0x1358 exec code. 003: X:0x000000 - X:0x00FFFF read write. and then i had a KILL SELECTED RANGE command button. i selected 002 and 003 option and killed the selected range.. so now its working... i dont know what it was... was it something i had to do earlier or have done something weird...
its not working again... please help me out of this...
How are you helping yourself?
Have you spent time with the map file?
Have you considered what memory model you have - which controls where data variables are stored?
Have you considered how much RAM your processor has?
If using external XDATA RAM - have you considered if it is directly available?
Have you read any documentation to learn the different memory ranges of a 8051 processor?
Where have you posted how much variables you have, and why _you_ think there should be room for these variables?
You realize you need to do something yourself too? And not just "trial by error" but spending some time doing things that makes you learn and know more about the processor, your program, your situation, the meaning of the different error messages and what functionality the tools have to help you solve these issues.
You are the developer in charge here. And development involves reading and analyzing too. Testing/debugging are important parts of developing. "Writing a program" doesn't end after you have written a number of source code lines.
now its giving me an error Build target 'Target 1' compiling SAS With RTC.c... SAS WITH RTC.C(1922): error C249: 'DATA': SEGMENT TOO LARGE Target not created what's wrong now...
what are this map files... how can i refer to it.. memory is 256b RAM i am not using any external RAM
Yes - isn't it strange. I also wonder what "'DATA': SEGMENT TOO LARGE" might mean.
Because it can't just be that the DATA segment happens to be too large, now can it???
what can be done now.... i tried changing the memory model from small to large... it complies but cant stimulate in proteus... can you help me out of this
"what are this map files..."
Maybe Google would know what map files are?
Maybe Keil documentation would know what map files are?
"i am not using any external RAM"
The same moment you did switch to large memory model you started to use external memory - you did read up on the meaning on large memory model? You have read up on the different memory areas of the 8051 architecture?
Don't you find it hard to write programs for a tiny microcontroller chip if you don't first spend some time to learn the capabilities of the microcontroller? At least I would not know how to use a new processor without first spending time with datasheets, user manuals and maybe additional architecture documents.
Very good point indeed!