What are some good choices for JTAG manufacturing use programmers? Production PCB not yet designed, so JTAG connector advice also welcome.
Most PCB manufacturer and any factory test will come from a test enclosure which has a "bed of needles" kind of connection to the board via test pads. For consumer devices with space restrictions (such as highly embedded, mobile or tablet) this is much preferred by most designers as they can put the JTAG pinout anywhere on the board they have space or relaxed routing or placement. If this is where you're going then it doesn't matter which connector you use, only that the people designing your test enclosure know the physical locations of the test pads where the signals are routed to. There is always a consideration that hardware designers will make which is whether using certain pitches of connector or numbers of pins routed will inadvertently or adversely impact the number of board layers or difficulty of routing other signals, so it isn't usually just "pick a connector and run with it," unfortunately.
For best support of ARM debuggers, though, the standard JTAG 20 is where it is at right now. You could be guaranteed to find many debuggers from ARM partners and also all ARM's own debug hardware (DSTREAM and ULink) will support this, but it is quite a large pitch and takes up a lot of PCB space.
For this reason, there are two or three other connectors you might use. The CoreSight 10 and CoreSight 20 connector types (described in the DSTREAM manual here, which might be a more canonical reference than Allen's referred appnote) are much finer pitch and allow JTAG debugging, or JTAG debugging with a limited TPIU trace capability, respectively. They are fairly unintrusive and if you need to put it in a test enclosure, you can still get a needle probe at the connections from the soldered fingers on the connector.
If you can spare more space and have a real need to separate out SWD/SWO vs. JTAG pin connections on the connector for some reason, or have separate JTAG and trace voltage domains, then MIPI 34 is the way to go, although it lives at a connector pitch between the two CoreSight and the original ARM JTAG 20 and obviously it's a much larger footprint.
Personally, I would go for CoreSight 10 - if all you need is JTAG/SWD and are trying to preserve space, the adapters from this to ARM JTAG 20 are relatively abundant (and very easy to build), but I am not really in a position to recommend anything.
Ta,
Matt