
Dear Queenie Chan,
in message 239A78AC110CD711A1A500D0B7828CD806AD83D7@zhk08exm01.sps.mot.com you wrote:
Now, I encounter another problem. When my program is too large, there is certain part in my program I cannot run, ie. I cannot run certain functions when I call them, and the board hangs. I know I have run out of memory space, so I moved my loadaddr t o somewhere else, say 0x00300000. Then I do "go 300004". Although I can run at this new location, I still have the same problem: the board hangs when I call the same function. If I shorten my program a bit, I can run it.
So my question is, how can I enlarge the program space? I've been searching through the codes but no luck.
I am not aware of any inherent linit on the size of a standalone application. Of course I assume that your application is well-behaviong, i. e. you do check the return codes of all functions that might return error codes (like malloc()), you don't overflow the stack by allocating vast amounts of dynamic data or running into deeply recursive routines, etc.
And one more question, I realize the entry point is always loadaddr + 0x04. Can I change that? If yes, please tell me where to change it.
You will have to modify the link command and/or use a custom linker script.
Best regards,
Wolfgang Denk