We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
actually this is in reference to the thread that i have already created about declaring two dimensional arrays I have configured the the model to Xdata and the change that i have made is only of declaring a character array of a size more than 100 Yes i am going to use it to store strings but that is later isnt it .There is a problem in the declaration itself
Does it work with a smaller array size? If so, how large is the maximum array size?
Yes it works with a arr of [20][20] but any greater it dose not work
which chip ? which external RAM ? Erik
Why do you think it doesn't work? Hint: RAM comes in finite amounts.
RAM comes in finite amounts Erik will never make a PC programmer out of you as long as you insist on thinking like that. A gigabyte here, a gigabyte there, pretty soon you're talking about real memory.
After looking at the hex file, I found the problem! I lost interest in looking at the hex file! Seriously though, your micro has 2048 bytes of xram so your array cannot be much bigger than your 100 * 20. Firstly, where has the linker put your array? What memory model have you selected? Tiny? - that's definitely not going to work. Read up on the linker output, it tells you many things. Secondly, does the 89c51rd2 need a bit set to enable the xram? I know aduc834 does and a 89c668 does. Read the datasheet on your device. Putting the hex file on the forum was a waste of time! If you'd put the linker listing, that would have been much more helpful.