Skip to content

Tiva TM4C129  #1412

@froloffw7

Description

@froloffw7

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    BugConfirmed bugHwIssue MitigationSolving or mitigating a Hardware issue in SoftwareRegressionBug caused by a regression

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions