EmbeddedRelated.com
Forums

saving values from Keil 8051 compiler

Started by Unknown November 25, 2004
Hello list,
           Thank you for bothering to read the post here on
comp.arch.embedded.
      I am facing a problem halfway through a developmenmt process. I
am using Keil 8051 compiler for writing an application with the
AT89s8252 as the target device. The code is being written in "Embedded
C". At this point i am using a 50x50 array in the program whose values
i want to retrieve and keep for later use and analysis. This is so
because i need to perform some statistical analysis on the results
which is in no way possible through Keil.
       How can i have the array results saved to some external file ?
Or how even can I extract the results or array values for later use
and analysis ?
       One more problem that I am facing is that even if i declared a
2500 cell array, after the program is over, the Keil compiler Watch
window doesn't show the variable values upto 2500[it is typically upto
~106]. Is this a bug in the program, or device doesn't support this
much of memory, or is it the compiler ???

waiting for a reply and lastly thank you for reading the post.
On 25 Nov 2004 09:25:43 -0800, the renowned gkumarrahul@yahoo.com
wrote:

>Hello list, > Thank you for bothering to read the post here on >comp.arch.embedded. > I am facing a problem halfway through a developmenmt process. I >am using Keil 8051 compiler for writing an application with the >AT89s8252 as the target device. The code is being written in "Embedded >C". At this point i am using a 50x50 array in the program whose values >i want to retrieve and keep for later use and analysis. This is so >because i need to perform some statistical analysis on the results >which is in no way possible through Keil. > How can i have the array results saved to some external file ? >Or how even can I extract the results or array values for later use >and analysis ? > One more problem that I am facing is that even if i declared a >2500 cell array, after the program is over, the Keil compiler Watch >window doesn't show the variable values upto 2500[it is typically upto >~106]. Is this a bug in the program, or device doesn't support this >much of memory, or is it the compiler ??? > >waiting for a reply and lastly thank you for reading the post.
The AT89S8252 has 256 bytes of RAM internally. Not all of those will be available for variable storage. Where are you planning on storing 2500 objects of whatever size it is that you ar using? An external RAM? If so, see the compiler manual on how to use that. External RAM is accessed differently from internal RAM in the 8051. Best regards, Spehro Pefhany -- "it's the network..." "The Journey is the reward" speff@interlog.com Info for manufacturers: http://www.trexon.com Embedded software/hardware/analog Info for designers: http://www.speff.com
<gkumarrahul@yahoo.com> wrote in message
news:2d4df3b6.0411250925.4fcffa1f@posting.google.com...
> Hello list, > Thank you for bothering to read the post here on > comp.arch.embedded. > I am facing a problem halfway through a developmenmt process. I > am using Keil 8051 compiler for writing an application with the > AT89s8252 as the target device. The code is being written in "Embedded > C". At this point i am using a 50x50 array in the program whose values > i want to retrieve and keep for later use and analysis. This is so > because i need to perform some statistical analysis on the results > which is in no way possible through Keil. > How can i have the array results saved to some external file ? > Or how even can I extract the results or array values for later use > and analysis ? > One more problem that I am facing is that even if i declared a > 2500 cell array, after the program is over, the Keil compiler Watch > window doesn't show the variable values upto 2500[it is typically upto > ~106]. Is this a bug in the program, or device doesn't support this > much of memory, or is it the compiler ??? > > waiting for a reply and lastly thank you for reading the post.
In uVision help, look for debugger SAVE command. If your array is a simple one (not array of structures), you can look at your data in the memory window by typing the array name in the address field and selecting propper data representation (char, int float etc.) regards Dejan
<gkumarrahul@yahoo.com> wrote in message
news:2d4df3b6.0411250925.4fcffa1f@posting.google.com...
> Hello list, > Thank you for bothering to read the post here on > comp.arch.embedded. > I am facing a problem halfway through a developmenmt process. I > am using Keil 8051 compiler for writing an application with the > AT89s8252 as the target device. The code is being written in "Embedded > C". At this point i am using a 50x50 array in the program whose values > i want to retrieve and keep for later use and analysis. This is so > because i need to perform some statistical analysis on the results > which is in no way possible through Keil. > How can i have the array results saved to some external file ? > Or how even can I extract the results or array values for later use > and analysis ? > One more problem that I am facing is that even if i declared a > 2500 cell array, after the program is over, the Keil compiler Watch > window doesn't show the variable values upto 2500[it is typically upto > ~106]. Is this a bug in the program, or device doesn't support this > much of memory, or is it the compiler ??? > > waiting for a reply and lastly thank you for reading the post.
Maybe you could dump all the variables over the serial port? With a terminal program you can write the data to a file and analyse it. Jeroen
I don't fully understand the problem, but if generating a file on the fly,
and sending it to a terminal program through the serial port is a possible
solution, then maybe this will help.

http://members.iinet.net.au/~vanluynm/Down/Xmodem.zip

Regards,
Murray R. Van Luyn.

Maybe some day someone will implement the protocol timeouts and send me a
copy?


<gkumarrahul@yahoo.com> wrote in message
news:2d4df3b6.0411250925.4fcffa1f@posting.google.com...
> Hello list, > Thank you for bothering to read the post here on > comp.arch.embedded. > I am facing a problem halfway through a developmenmt process. I > am using Keil 8051 compiler for writing an application with the > AT89s8252 as the target device. The code is being written in "Embedded > C". At this point i am using a 50x50 array in the program whose values > i want to retrieve and keep for later use and analysis. This is so > because i need to perform some statistical analysis on the results > which is in no way possible through Keil. > How can i have the array results saved to some external file ? > Or how even can I extract the results or array values for later use > and analysis ? > One more problem that I am facing is that even if i declared a > 2500 cell array, after the program is over, the Keil compiler Watch > window doesn't show the variable values upto 2500[it is typically upto > ~106]. Is this a bug in the program, or device doesn't support this > much of memory, or is it the compiler ??? > > waiting for a reply and lastly thank you for reading the post.