X-Git-Url: http://git.rot13.org/?p=goodfet;a=blobdiff_plain;f=firmware%2Fapps%2Fjtag%2Fjtag430x2.c;h=f499de2ce47a7f98dc08faaeb36a53d35460a5b6;hp=ad2801fa10c9c4d0cba46eb4b0379ccd99897619;hb=5c029aa0c4f7573d9fa49beefe6e887dee2b25f9;hpb=49a1632a34edd4744b1b798b152dfa4101bcd393 diff --git a/firmware/apps/jtag/jtag430x2.c b/firmware/apps/jtag/jtag430x2.c index ad2801f..f499de2 100644 --- a/firmware/apps/jtag/jtag430x2.c +++ b/firmware/apps/jtag/jtag430x2.c @@ -209,7 +209,15 @@ void jtag430x2handle(unsigned char app, //MSP430 or MSP430X if(jtagid==MSP430JTAGID){ jtag430mode=MSP430MODE; - drwidth=16; + + /* So the way this works is that a width of 20 does some + backward-compatibility finagling, causing the correct value + to be exchanged for addresses on 16-bit chips as well as the + new MSP430X chips. (This has only been verified on the + MSP430F2xx family. TODO verify for others.) + */ + + drwidth=20; //Perform a reset and disable watchdog. jtag430_por(); @@ -224,6 +232,7 @@ void jtag430x2handle(unsigned char app, jtag430mode=MSP430X2MODE; drwidth=20; }else{ + debugstr("JTAG version unknown."); txdata(app,NOK,1); return; }