I am using a STR912FW44 processor. My program will run if I allow the Keil IDE to automatically reset the chip after loading it to flash. However, if I manually reset the chip by toggling the power on and off the program gets stuck in the startup code. Could the Keil IDE be clearing something that a manual reset does not clear? I cannot imagine that heppening, but it seems like that is what is happening.
I have tried leaving the power off for a couple of minutes and then turning it back on, thinking maybe a capacitor is not draining down fast enough, but that made no difference.
Also I've noticed if I randomly remove a couple of lines of code from my program it seems to startup OK after a manual reset. I've only used about 150K of the 512K available, so unless I am overrunning the RAM I do not see where the size of my code could be causing the problem. Also, the RAM should get cleared on a manual restart anyway.
I appreciate any suggestions anyone can give me.
Cross Module Optimization only means that the linker removes routines that are not used. Still I do not think this caused your original problem. Maybe it is a size issue somewhere (not enought space in ROM or so).