I believe the project will run with the smaller RAM but if this is a processor bug the problem might not exist in a KV10. I know that a processor bug is unlikely but I have uncovered them before. I don’t think an uninitialized variable could be the cause for several reasons:
1. The only code executing up to the fault is generated by Processor Expert.
2. I traced the problem to the execution of a single machine instruction and the only use of variables (actually registers) by that instruction is that they are being pushed onto the stack, therefore the value of the variables shouldn’t have any effect on the generation of a fault.
3. All RAM is cleared when the processor is power cycled.
4. When the problem temporarily went away, I trapped on the same instruction that was causing the fault and the conditions were identical with those found at that instruction when the fault was occurring.
At the lowest level I’d like to know what could cause a hard fault when executing a push instruction with the MSP pointing to a valid long word address in RAM that exists. As far as I can tell, according to the NXP and ARM documentation that should not happen.
-lance