Programming MSP432P401R on a custom PCB
See the schematic in the data sheet for the MSP432 Launchpad



And Section 2.3.4. Jumper Header J103 (unpopulated, on the left hand side) is used for external targets. Set the S101 switch to external, remove the Isolation Block jumpers. Only SWD is used, so the debugger needs to be set to that. Since the UART is only required for user defined communication, not debug, all you really need is SWDIO, SWCLK, Reset, and Ground. The 3.3V VCC Target if you want it to power the target otherwise you have to provide your own power to your target board. That's it.


  2.3.4
  The XDS110-ET emulator on the LaunchPad can interface to most ARM derivative devices, not just the on-board MSP432P401R target device.
  This is not a common use case, but for users who want this functionality, there is a way to enable it. Connector J103 was added to expose all the necessary programming and power signals. J103 is a 50 mil spaced 7-pin header. By default it is not populated, so the user will have to populate a connector or directly solder in wires.
  When using the XDS110-ET with a different target, the jumpers in the isolation block should be removed, and switch S101 moved to the external debug position. This will disconnect the XDS110-ET from the MSP432P401R target and enable debug of an external device. Because only the SWD signals are exposed, the user needs to set the debugger settings to SWD (without SWO) in the IDE. See the IDE specific MSP432 user's guides for more details on this setting.
  To debug other external devices, there are many options in the ARM debugging ecosystem including the XDS100v2/3 and XDS200 from Texas Instruments. There are many other options including IAR I-jet, Keil ULINK, and Segger J-Link.