This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Code composer jumps to random memory addresses

Other Parts Discussed in Thread: MSP430F5637

I'm developing some USB code and everything seemed to work fine until I got to about 13.5k program size and now when I use some small functions to toggle I/O pins to control some signals like write enable, chip enable etc...code composer gives me this error.

It looks like there are some assembly instructions at 0x00000 but I don't know why.  I haven't reached the 16k on my code limited license yet.  This problem seems to be either intermitten or dependent on which pins I toggle first.  I have no problem running any of the USB code, or any code for that matter, until I get to these simple void functions that toggle 3 or 4 pins that are set to digital I/O outputs.  Has anyone else had this problem?  Any advice on how to investigate this?  

I'm using an MSP430F5637 with CCS version 5.4.  I'm running at ~20Mhz

Thanks,

Rob

  • Robbie Valentine said:
    It looks like there are some assembly instructions at 0x00000 but I don't know why.

    That is a sign that the processor has "crashed" and set the program counter to the invalid value of zero.

    Robbie Valentine said:
    I'm running at ~20Mhz

    According to Figure 2. Frequency vs Supply Voltage in the MSP430F5637 datasheet to run at 20MHz you need to have:
    - A Supply Voltage in the range 2.4V to 3.6V
    - PMMCOREVx set to 3

    Failure to meet these conditions can lead to intermittent crashes.

    Also, if you are using a custom hardware design check that there is the recommended 470nF capacitor on VCORE, as failure to do that can also cause intermittent operation.

    Assuming the Supply Voltage, PMMCOREVx setting, VCORE capacitor are OK there might be a software cause such as either:
    - A stack overflow
    - An unhandled interrupt (meaning an interrupt is generated for which there is no handler)

  • I'm programming and debugging with SBW using a launchpad.  Could that be creating problems for me?  Maybe the launchpad just can't handle debugging such a large chip?

    My Vcc is 3.5V and my PMMCOREVx is 3, 0b11.  I know this is a bit of an ambiguous question.  I'm just looking for some ideas.  

    I also have a problem with breakpoints.  For some reason CCS just doesn't acknowledge them at times or in functions.  It will run to them and not break.  When I push the pause button it shows the current instruction/arrow sitting there right where my breakpoint is.  I've double checked the break point properties to ensure that it is set to halt the program.  This is another reason I was thinking it may be the launchpad/SWB link.  Do I really need TI's JTAG programmer/debugger to develop like this?