Update data in/out pin swap on MCU #4

Open
opened 2026-03-17 21:30:24 +00:00 by allspice-carah · 0 comments

Component J4, pins 6, 8: TDO and TDI signals are swapped. Pin 6 (TDO/SWO) is incorrectly connected to the microcontroller's TDI pin (PB29), and pin 8 (TDI) is incorrectly connected to the microcontroller's TDO pin (PB30). This will prevent JTAG debugging from functioning.

  • Pin 6 is connected to the TDO/SWO net (from schematic)
  • Pin 8 is connected to the TDI net (from schematic)
  • The TDO/SWO net connects to U11A pin 29 which is labeled PB29/TDI (from schematic)
  • The TDI net connects to U11A pin 30 which is labeled PB30/TDO/TRACESWO (from schematic)
  • ARM Cortex Debug Connector standard specifies pin 6 as TDO/SWO (Test Data Out / Serial Wire Output) and pin 8 as TDI (Test Data In) (reasoning)
  • In JTAG operation, TDO is an output from the target device and TDI is an input to the target device (reasoning)
  • The microcontroller pin 29 (PB29) is the TDI function (input to MCU) and pin 30 (PB30) is the TDO function (output from MCU) per standard ARM Cortex-M3 implementations (reasoning)
  • The connections are swapped: J4 pin 6 should connect to MCU TDO (pin 30) but connects to MCU TDI (pin 29), and J4 pin 8 should connect to MCU TDI (pin 29) but connects to MCU TDO (pin 30) (reasoning)
  • The presence of pull-up resistor R37 on the net labeled TDI (which actually connects to MCU TDO) is unusual, as TDI typically doesn't require a pull-up while TDO might benefit from one, further suggesting the swap (reasoning)
  • To correct this error, the TDO/SWO net should be connected to U11A pin 30 (PB30/TDO/TRACESWO) and the TDI net should be connected to U11A pin 29 (PB29/TDI) (reasoning)
All affected pins
Component U11A, pins `29, 30`: JTAG data pins TDI and TDO are swapped. Pin 29 (TDI) connects to TDO/SWO net, and pin 30 (TDO) connects to TDI net.
  • Pin 29 is PB29/TDI (Test Data In) (from schematic)
  • Pin 29 is connected to net TDO/SWO (from schematic)
  • Pin 30 is PB30/TDO/TRACESWO (Test Data Out) (from schematic)
  • Pin 30 is connected to net TDI (from schematic)
  • PB29 should function as TDI (Test Data In) per datasheet (from datasheet ATSAM3X8EA-AU, page 8)
  • PB30 should function as TDO/TRACESWO (Test Data Out) per datasheet (from datasheet ATSAM3X8EA-AU, page 8)
  • JTAG connector J4 pin 6 connects to net TDO/SWO, which should go to pin 30 (TDO) (from schematic)
  • JTAG connector J4 pin 8 connects to net TDI, which should go to pin 29 (TDI) (from schematic)
  • The TDI and TDO pins are swapped, preventing proper JTAG debugging (reasoning)
  • Pin 29 should connect to net TDI, and pin 30 should connect to net TDO/SWO (reasoning)
Component J4, pins `6, 8`: TDO and TDI signals are swapped. Pin 6 (TDO/SWO) is incorrectly connected to the microcontroller's TDI pin (PB29), and pin 8 (TDI) is incorrectly connected to the microcontroller's TDO pin (PB30). This will prevent JTAG debugging from functioning.
  • Pin 6 is connected to the TDO/SWO net (from schematic)
  • Pin 8 is connected to the TDI net (from schematic)
  • The TDO/SWO net connects to U11A pin 29 which is labeled PB29/TDI (from schematic)
  • The TDI net connects to U11A pin 30 which is labeled PB30/TDO/TRACESWO (from schematic)
  • ARM Cortex Debug Connector standard specifies pin 6 as TDO/SWO (Test Data Out / Serial Wire Output) and pin 8 as TDI (Test Data In) (reasoning)
  • In JTAG operation, TDO is an output from the target device and TDI is an input to the target device (reasoning)
  • The microcontroller pin 29 (PB29) is the TDI function (input to MCU) and pin 30 (PB30) is the TDO function (output from MCU) per standard ARM Cortex-M3 implementations (reasoning)
  • The connections are swapped: J4 pin 6 should connect to MCU TDO (pin 30) but connects to MCU TDI (pin 29), and J4 pin 8 should connect to MCU TDI (pin 29) but connects to MCU TDO (pin 30) (reasoning)
  • The presence of pull-up resistor R37 on the net labeled TDI (which actually connects to MCU TDO) is unusual, as TDI typically doesn't require a pull-up while TDO might benefit from one, further suggesting the swap (reasoning)
  • To correct this error, the TDO/SWO net should be connected to U11A pin 30 (PB30/TDO/TRACESWO) and the TDI net should be connected to U11A pin 29 (PB29/TDI) (reasoning)

Datasheets: 📄 J4 📄 U11A

Replace a datasheet: 📤 J4 📤 U11A

Originally posted by @DRCY in https://hub.allspice.io/AllSpice-Demos/Archimajor-DRCY-Demo/pulls/2/files#diff-a1cf5d09dc90c04322d148737a149dcd67c7492b-issuecomment-44849

**Component `J4`, pins `6, 8`: TDO and TDI signals are swapped. Pin 6 (TDO/SWO) is incorrectly connected to the microcontroller's TDI pin (PB29), and pin 8 (TDI) is incorrectly connected to the microcontroller's TDO pin (PB30). This will prevent JTAG debugging from functioning.** !thumbnail[](Microcontroller.SchDoc){ diff="AllSpice-Demos/Archimajor-DRCY-Demo:26590581be02618ce3f47deedb643c2d47d4182d...b09435216bda90650e7fdf6b009674871e52ddc7" pr="2" diff-visibility="full" variant="default" view-coords="39.19,70.36,46.69,78.76" aspect-ratio="1.55" } - Pin 6 is connected to the TDO/SWO net *(from schematic)* - Pin 8 is connected to the TDI net *(from schematic)* - The TDO/SWO net connects to U11A pin 29 which is labeled PB29/TDI *(from schematic)* - The TDI net connects to U11A pin 30 which is labeled PB30/TDO/TRACESWO *(from schematic)* - ARM Cortex Debug Connector standard specifies pin 6 as TDO/SWO (Test Data Out / Serial Wire Output) and pin 8 as TDI (Test Data In) *(reasoning)* - In JTAG operation, TDO is an output from the target device and TDI is an input to the target device *(reasoning)* - The microcontroller pin 29 (PB29) is the TDI function (input to MCU) and pin 30 (PB30) is the TDO function (output from MCU) per standard ARM Cortex-M3 implementations *(reasoning)* - The connections are swapped: J4 pin 6 should connect to MCU TDO (pin 30) but connects to MCU TDI (pin 29), and J4 pin 8 should connect to MCU TDI (pin 29) but connects to MCU TDO (pin 30) *(reasoning)* - The presence of pull-up resistor R37 on the net labeled TDI (which actually connects to MCU TDO) is unusual, as TDI typically doesn&#x27;t require a pull-up while TDO might benefit from one, further suggesting the swap *(reasoning)* - To correct this error, the TDO/SWO net should be connected to U11A pin 30 (PB30/TDO/TRACESWO) and the TDI net should be connected to U11A pin 29 (PB29/TDI) *(reasoning)* <details> <summary>All affected pins</summary> <details> <summary>Component <code>U11A</code>, pins `29, 30`: JTAG data pins TDI and TDO are swapped. Pin 29 (TDI) connects to TDO/SWO net, and pin 30 (TDO) connects to TDI net.</summary> - Pin 29 is PB29/TDI (Test Data In) *(from schematic)* - Pin 29 is connected to net TDO/SWO *(from schematic)* - Pin 30 is PB30/TDO/TRACESWO (Test Data Out) *(from schematic)* - Pin 30 is connected to net TDI *(from schematic)* - PB29 should function as TDI (Test Data In) per datasheet *(from datasheet [ATSAM3X8EA-AU](<https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-11057-32-bit-Cortex-M3-Microcontroller-SAM3X-SAM3A_Datasheet.pdf#page=8>), page 8)* - PB30 should function as TDO/TRACESWO (Test Data Out) per datasheet *(from datasheet [ATSAM3X8EA-AU](<https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-11057-32-bit-Cortex-M3-Microcontroller-SAM3X-SAM3A_Datasheet.pdf#page=8>), page 8)* - JTAG connector J4 pin 6 connects to net TDO/SWO, which should go to pin 30 (TDO) *(from schematic)* - JTAG connector J4 pin 8 connects to net TDI, which should go to pin 29 (TDI) *(from schematic)* - The TDI and TDO pins are swapped, preventing proper JTAG debugging *(reasoning)* - Pin 29 should connect to net TDI, and pin 30 should connect to net TDO/SWO *(reasoning)* </details> <details> <summary>Component <code>J4</code>, pins `6, 8`: TDO and TDI signals are swapped. Pin 6 (TDO/SWO) is incorrectly connected to the microcontroller's TDI pin (PB29), and pin 8 (TDI) is incorrectly connected to the microcontroller's TDO pin (PB30). This will prevent JTAG debugging from functioning.</summary> - Pin 6 is connected to the TDO/SWO net *(from schematic)* - Pin 8 is connected to the TDI net *(from schematic)* - The TDO/SWO net connects to U11A pin 29 which is labeled PB29/TDI *(from schematic)* - The TDI net connects to U11A pin 30 which is labeled PB30/TDO/TRACESWO *(from schematic)* - ARM Cortex Debug Connector standard specifies pin 6 as TDO/SWO (Test Data Out / Serial Wire Output) and pin 8 as TDI (Test Data In) *(reasoning)* - In JTAG operation, TDO is an output from the target device and TDI is an input to the target device *(reasoning)* - The microcontroller pin 29 (PB29) is the TDI function (input to MCU) and pin 30 (PB30) is the TDO function (output from MCU) per standard ARM Cortex-M3 implementations *(reasoning)* - The connections are swapped: J4 pin 6 should connect to MCU TDO (pin 30) but connects to MCU TDI (pin 29), and J4 pin 8 should connect to MCU TDI (pin 29) but connects to MCU TDO (pin 30) *(reasoning)* - The presence of pull-up resistor R37 on the net labeled TDI (which actually connects to MCU TDO) is unusual, as TDI typically doesn&#x27;t require a pull-up while TDO might benefit from one, further suggesting the swap *(reasoning)* - To correct this error, the TDO/SWO net should be connected to U11A pin 30 (PB30/TDO/TRACESWO) and the TDI net should be connected to U11A pin 29 (PB29/TDI) *(reasoning)* </details> </details> Datasheets: [📄 J4](https://cdn.amphenol-cs.com/media/wysiwyg/files/documentation/datasheet/boardwiretoboard/bwb_minitek127_btb.pdf) [📄 U11A](https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-11057-32-bit-Cortex-M3-Microcontroller-SAM3X-SAM3A_Datasheet.pdf) <sub>Replace a datasheet: [📤 J4](https://hub.allspice.io/AllSpice-Demos/Archimajor-DRCY-Demo/_upload/develop/.allspice/datasheets/20021121-00010C4LF) [📤 U11A](https://hub.allspice.io/AllSpice-Demos/Archimajor-DRCY-Demo/_upload/develop/.allspice/datasheets/ATSAM3X8EA-AU)</sub> _Originally posted by @DRCY in https://hub.allspice.io/AllSpice-Demos/Archimajor-DRCY-Demo/pulls/2/files#diff-a1cf5d09dc90c04322d148737a149dcd67c7492b-issuecomment-44849_
allspice-carah added the
priority/4 - high
label 2026-03-17 21:30:42 +00:00
AllSpiceAlice was assigned by allspice-carah 2026-03-17 21:30:47 +00:00
allspice-carah added this to the V3 milestone 2026-03-17 22:11:53 +00:00
Sign in to join this conversation.
No description provided.