-
-
Notifications
You must be signed in to change notification settings - Fork 842
Description
I found some issues with TI MSP432P401R, while attempting to reflash TM4C1294NCPDT firmware implementing builtin XDS 110 JTAG programmer, which was broken during the update and doesn't enter DFU mode.
TI suggest to use JTAG (seems this is the only possible way). As I don't have any TI XDS JTAG programmer, I'm trying to do the same with some other JTAG hardware.
I didn't achieve any success with Altera Byte Blaster neither with DirtyJtag+openocd(patched). It can detect the CPU, but then failed during initialization.
I managed to do so after making some changes of the blackmagic sources.
- Tiva C123 and C129 have different DID0 codes, file src/target/lmi.c:
defines:
#define DID0_CLASS_STELLARIS_FURY 0x00010000U
#define DID0_CLASS_STELLARIS_DUST 0x00030000U
> #define DID0_CLASS_TIVA 0x00050000U
< #define DID0_CLASS_TIVA_C123 0x00050000U
< #define DID0_CLASS_TIVA_C129 0x000a0000U
#define DID1_LM3S3748 0x1049U
#define DID1_LM3S5732 0x1096U
lmi_probe() function:
return lm3s_probe(t, did1);
> case DID0_CLASS_TIVA:
< case DID0_CLASS_TIVA_C123:
< case DID0_CLASS_TIVA_C129:
return tm4c_probe(t, did1);b
- function adiv5_dp_init(), file src/target/adiv5.c can't detect APs on DP correctly.
It call many times, until the memory exhausted, adiv5_new_ap(), which every time return the same AP despite of different apsel. I'm not familiar with this JTAG internals but if I remove the APs probe loop, calling adiv5_new_ap() only once, everything start working and I can connect to the target with GDB.