I'm currently trying to upgrade the DDRAM externally addressed by a SAM9G15 processor from a 2Meg part to a 4Meg part. The code is being developed on a Keil uVision IDE (vesion 5.14.0.0) and I have been trying to get the development system to recognize that there is additional DDRAM available. The options menu, under "Target", has an option to adjust the RAM1 size, which I changed from 0x200000 to 0x400000. With this change I continue to get error messages about exceeding memory limits. I also tweeked the scatter file (CG_SAM9.sct) to reflect different memory allocation without success. Is there anything else I may need to do to support increased memory availabliity?
Perhaps determine what is being used currently, and where it is being allocated from?
Usually it will say how much it is being exceeded by, and by what. Perhaps increase the limits to match that, and then review the .MAP file to understand what is eating the memory. Structures using RAM that needs initialization will need to take it from somewhere. For things that don't need initialization consider marking as NOINIT and corralling via scatter file and attributes.
First I need to know exactly how to increase the limits. I can compile without errors, as long as the allocated memory is kept below the designated limit. The problem is that even if I increase that limit, as described in my original post, I stil get an error if I allocate memory just above the original limit that was set. The IDE doesn't seem to respond to the new limits that I set. Is increasing the external RAM limit done with in the Target menu, or is there something else that I have missed?
Without seeing the specific error message/log, super hard to tell from here..