I have two PCBs. One has a dsPIC30F6012a, the other a dsPIC30F6015. Both are being programmed from separate standalone HEX projects in MPLAB X, using a PICkit 3. Both firmwares have been applied to dozens of units prior to this point without difficulty. Presently, the firmware is operating correctly when programmed from all PCs but one. On that one PC, starting yesterday, both firmwares program without obvious error, but execute at approximately 1/20 normal speed. Prior to yesterday, that PC also programmed these boards without problem.
Splash screens take two minutes instead of five seconds, lights blink very slowly, and yet besides this everything operates correctly. It's almost as if the oscillator configuration bits have been altered, but I'm not aware of anywhere in MPLAB X that can be done to a standalone project.
So two different firmwares, on two different chips, on multiple instances of the same PCB design, running at different speeds depending only on the PC being used to program them. Reprogramming a slow board on a "good" PC fixes the problem; re-reprogramming that same board on the "bad" PC brings it back. All I can figure is that on that one PC someone hit the "make it go slowly" button, but I can't find anything labeled that. (Our techs are pretty creative, though.) I'm presently uninstalling MPLAB X, wiping the user settings, and reinstalling a more recent version. (Going from 1.3 to 1.6.) But even if that fixes it, I'm still not happy not knowing what's going on. Does anyone have any insight into this problem?