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...
Thanks... But have also checked the code completely.... there are no functions or strings or any code which are left uncalled..
i have tried writing the code like.. unsigned char chanuser[1] instead of unsigned char chanuser[11]... its working... is this error something related to RAM..
"Works perfectly" doesn't change the fact that the linker may complain that you have code you don't need in your project. And the linker did write a symbol name "REEAD" in the message.
Next thing - running out of RAM will get you into troubles. If the solution is to make the buffer smaller is obviously something only you can answer - but I would find it strange if a one-element array is enough if you originally write the code with an 11-element array. Note that programs may seem to work, even when writing outside of the allocated buffer size.
Having zero compilation errors/warnings and zero linking errors/warnings doesn't mean you have a well-working application.
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..
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???