I've been working on a project in KEIL uVision3 for some time now, and recently noticed that when compiled, my program size is displayed as follows:
Program Size: Data=164.0 xdata=589 code=8279
I remember reading that the data memory type can only have a maximum of 128 bytes. So my question is, what units are the above values in? Is that 164.0 bits or bytes? I am getting no compiler warnings and my program DOES run fine when loaded onto the processor, but I'm wondering if there might be an underlying issue that perhaps just hasn't manifested yet.
I've looked around for the answer to this and haven't been successful, so sorry if this is a dumb/stupid question.
Thanks!
Angelo;
Here are the links to the so called 8051 'Bible'. You will find there are two data areas, one called IDATA and the other called DATA. Each are 128 bytes in the typical 80C51 devices. These areas are further sub-diviede into SFR, REGS, BDATA. The Keil tools often refer to these as the data area (lower case).
I won't talk about the stack area since it's a special case for reentrant code. Look up the memory areas in the links.
Bradford
here are the links to "the bible" Chapter 1 www.semiconductors.philips.com/.../80C51_FAM_ARCH_1.pdf
chapter 2 www.semiconductors.philips.com/.../80C51_FAM_PROG_GUIDE_1.pdf
chapter 3 www.semiconductors.philips.com/.../80C51_FAM_HARDWARE_1.pdf