Other Parts Discussed in Thread: MSP430F6638, MSP-FET,
I recently changed from the MSP430F6638 to the MSP430F6659. The board is identical with the exception of the processor used and some additional capacitance on the 3.3V supply line. I plug the new hardware into the PC and it does not appear to invoke the bootloader on power up. I've tried using a 100 ohm resistor between VUSB and PUR to manually invoke the bootloader (per SLAA457A) and managed to invoke the bootloader on power up once but failed many times. Next, I connected the MSP-FET to the JTAG to verify that the reset vector (0xFFFE) was blank and it was. Next, I erased the flash memory (0x8000 to 0x87FFF) and the MSP430 will immediately invoke the bootloader upon completion. Further testing revealed that it does not matter what memory, or how much memory, I erased in flash as erasing 0x12345 would invoke the bootloader upon completion (with PUR going high). It was then that I stumbled upon the simplest solution, jumpering the reset to ground after power up to invoke the bootloader with 100% success.
Has there been a change in how the bootloader is being invoked on power-up?
I don't use VUSB to power the processor but use an external power circuit instead (which is powered by VBUS when no batteries are installed). Is the lag between VBUS being applied and Vcc rising to an appropriate level causing an issue?
FYI: Reset is controlled by 47.5K pull-up tied to Vcc with a 2200pF capacitor tied to ground. PUR is tied to D+ through 1.4K. Changes we've made due to previous discussions.