Hi.
The documentation describes that TCK may be sensitive to unintended noise (datasheet p.4.4 + reference manual p.5.4).
Also, the reference manual declares:
If it is not possible to guarantee that such activity does not happen, it is recommended that a strong external pullup is used, or even shorting the pin to the supply voltage through a zero-ohm resistor. The size of the pullup or whether the pin is shorted to the supply voltage, will be a tradeoff between robustness against unintentional external activity and the need for an accessible debug port. If the TCK pin is disabled by shorting it to the supply voltage, flash programming must be done using the bootloader.
But the other paragraph, p.8.1.1 of the reference manual, says that the bootloader isn't secure enough to be used in the production:
The ROM bootloader supports commands that can read the flash image. Due to this read capability, a secure measure for disabling the bootloader has been implemented. If the bootloader is disabled using the CCFG BOOTLOADER_ENABLE parameter, the bootloader is unable to execute any commands, which prevents attackers from using the bootloader if the Cortex® -M3 program counter (PC) is forced to execute from the bootloader code.
One of our prototypes has this kind of issue with a picked noise, but more severe than described in the datasheet. In our case:
1) the DUT picks a noise from a powerful mains load switching (a few kW)
2) POR occurs
3) Due to the present noise during POR, it gets stuck in the POR state and never reaches the firmware
We've come up with a few workarounds:
1) 120 pF from TCKC to GND
2) 1k from TCKC to +VDDS
3) 1k + 120 pF from TCKC to +VDDS (120 pF to pass the high-frequency noise better than the 1k)
4) 1+2 combined
We've tested the first one already, and it mitigates the issue. Other options are under evaluation.
In summary, we would like to ask you for a proper approach to mitigate such trouble in the design. From the bootloader, the description seems like it isn't ok for the production stage, so eventually, we're dealing with a tradeoff between DUT's noise immunity and being able to program it.