I am using the MSP430f5438, and when I increase the clock rate to:
DCORSEL = 7, DCO = 0
Then the execution will get lost in memory. If I am using the debugger, and pause it after it gets lost, it reports either 0x0 or 0xFFFE.
I turned the clock rate down to
DCORSEL = 0, DCO = 0
And it worked fine. So I ramped it up, and hit the edge at
DCORSEL = 6, DCO = 20
At this rate, the code will execute, and not get lost, but will skip chunks of code. For instance, I basically have in main:
main() {
init_clocks();
turn_on_led();
set_flag();
while(1) {
if (flag) {
foo...
}
}
And the code will skip the set flag and turn on LED, but I can hit break points at the if statement. I turned the sped down to:
DCORSEL = 6, DCO = 16
And it is acting just fine. This setting is supposably around 10-20mhz, and it works fine. However, the original setting that started breaking the system is also 10-20mhz. So, it seems it not a pure MCLK / CPU issue.