Quote:
|
Originally Posted by Larry Barello
I have a generalized buffered serial I/O module. The problem is that the linker barfs if I declare more than ~200 bytes of memory in the module.
Looking at the linker map output, I see that the particular module data is loaded after the stack (0x700) which indeed leaves about 200 bytes free. The weird thing is that all the rest of ram stops before 0x300, so there is a 0x300 byte hole in my memory.
Any hints as to why and how I can move my module lower so I can declare my buffers?
Side question: any reason why I couldn't move the stack to 0x700? It makes it a tad smaller... Final question: given the tools we have is there anyway to determine how much stack is being used? I know printf uses at least 50 bytes.
|
I'm not well-versed in the way of the stack, so I can't help you there...
but I do believe MPLAB has a tool to view the stack/memory. Check the Help File for where it's at.