I am programming in Keil C51 and targeted device is AT89C52. After compiling and linking are done, I got the following message:
Program Size: data=9.0 xdata=250 code=19767
Does it mean I am using 9 bytes of internal RAM and 250 bytes of external RAM? Code size is 19767 bytes?
If this is the case, then it looks like that AT89C52 might be too small. What would be the similar device that has big enough RAM and ROM? Do I need external RAM and/or external EEPROM?
How much of memory do I need? That's exactly the question I would like to find answer. I have the C code, and I am building the hardware on which the program will run. How do I find out what is the size of RAM or ROM I will need?
first you need to design the hardware and then start with software... you can choosecontroller as per your requirement... but how much of memory is required is the question??? tomorrow if you enhance the feature then you should have extra momory to support your application.
Well, I have the C code which implements the algorithm. I need to design the appropriate hardware to run the code. If the program uses too many RAM bytes, and I can't find big enough device, I'll use external RAM. Similarly, if on chip flash memory is not enough, I'll add external EEPROM. The decision whether to add external RAM/ROM needs to be made now before hardware design starts.
you are going reverse way.. its always the hardware design first and then you do software design and try to optimise the code to fit into your controller memory...
you should be a good programmer to optimize the code so that it fits into the controller you have selected, or do an analysis of the requirement and come to a design conclusion on what type of controller to choose....