Post History
This is senseless. They state these things because they expect you to run SWD at extreme speeds. While some flavours of SWD may allow up to 50MHz something, there is no reason why you would ever w...
#3: Post edited
This is senseless.- While some flavours of SWD may allow up to 50MHz something, there is no reason why you would ever want to run it that fast. There isn't nearly enough data present in the MCU that needs to be transferred at those speeds during debugging. As for production programming... how can programming a whole 256kib MCU in at most a few seconds be too slow? Equally senseless.
- A couple of (2-3) MHz is just fine and then you need no matching or shielding at all, and you can keep the rectangular header/socket connectors. Just make sure to not use very long cables between your ICD adapter and the target. Some subjective rule of thumb is < 300mm.
- That being said, the SWD connector should preferably be placed close to the MCU and the signal traces kept as straight as possible. EMI during programming/debugging does happen and you don't want that (for example crosstalk from SWD into some analog signal or whatever).
- I've used many different Cortex M with SWD from all manner of manufacturers including a bunch of STM32. SWD signal layout was never an issue.
- ---
- Other issues:
- What might be an issue is that it is often stupid to expose these signals directly to an external connector where someone's fat fingers _will_ cause ESD. The MCU may or may not have sufficient ESD protection, but you might not want to rely on that. If you aren't running SWD too fast then you can easily do some cheap fix like putting series resistors on all signals. The reset pin might be extra sensitive and might need external pull-up.
- The major issue with the SWD standard otherwise is mechanical - the 1.27mm double row headers with ribbon cable connecting to it is _pure trash_, completely unsuitable for a debugging interface and even less so for production purposes. These aren't made to endure repeated connects, so the ribbon cable and everything else will break in no time, all the time. At least look at versions with mechanical strain relief ([example](https://www.harwin.com/products/M55-8001242-0150A)) as a compromise.
- This is senseless. They state these things because they expect you to run SWD at extreme speeds.
- While some flavours of SWD may allow up to 50MHz something, there is no reason why you would ever want to run it that fast. There isn't nearly enough data present in the MCU that needs to be transferred at those speeds during debugging. As for production programming... how can programming a whole 256kib MCU in at most a few seconds be too slow? Equally senseless.
- A couple of (2-3) MHz is just fine and then you need no matching or shielding at all, and you can keep the rectangular header/socket connectors. Just make sure to not use very long cables between your ICD adapter and the target. Some subjective rule of thumb is < 300mm.
- That being said, the SWD connector should preferably be placed close to the MCU and the signal traces kept as straight as possible. EMI during programming/debugging does happen and you don't want that (for example crosstalk from SWD into some analog signal or whatever).
- I've used many different Cortex M with SWD from all manner of manufacturers including a bunch of STM32. SWD signal layout was never an issue.
- ---
- Other issues:
- What might be an issue is that it is often stupid to expose these signals directly to an external connector where someone's fat fingers _will_ cause ESD. The MCU may or may not have sufficient ESD protection, but you might not want to rely on that. If you aren't running SWD too fast then you can easily do some cheap fix like putting series resistors on all signals. The reset pin might be extra sensitive and might need external pull-up.
- The major issue with the SWD standard otherwise is mechanical - the 1.27mm double row headers with ribbon cable connecting to it is _pure trash_, completely unsuitable for a debugging interface and even less so for production purposes. These aren't made to endure repeated connects, so the ribbon cable and everything else will break in no time, all the time. At least look at versions with mechanical strain relief ([example](https://www.harwin.com/products/M55-8001242-0150A)) as a compromise.
#2: Post edited
- This is senseless.
- While some flavours of SWD may allow up to 50MHz something, there is no reason why you would ever want to run it that fast. There isn't nearly enough data present in the MCU that needs to be transferred at those speeds during debugging. As for production programming... how can programming a whole 256kib MCU in at most a few seconds be too slow? Equally senseless.
- A couple of (2-3) MHz is just fine and then you need no matching or shielding at all, and you can keep the rectangular header/socket connectors. Just make sure to not use very long cables between your ICD adapter and the target. Some subjective rule of thumb is < 300mm.
- That being said, the SWD connector should preferably be placed close to the MCU and the signal traces kept as straight as possible. EMI during programming/debugging does happen and you don't want that (for example crosstalk from SWD into some analog signal or whatever).
I've used many different Cortex M with SWD from all manner of manufacturers including a bunch of STM32. This was never an issue.- ---
- Other issues:
- What might be an issue is that it is often stupid to expose these signals directly to an external connector where someone's fat fingers _will_ cause ESD. The MCU may or may not have sufficient ESD protection, but you might not want to rely on that. If you aren't running SWD too fast then you can easily do some cheap fix like putting series resistors on all signals. The reset pin might be extra sensitive and might need external pull-up.
- The major issue with the SWD standard otherwise is mechanical - the 1.27mm double row headers with ribbon cable connecting to it is _pure trash_, completely unsuitable for a debugging interface and even less so for production purposes. These aren't made to endure repeated connects, so the ribbon cable and everything else will break in no time, all the time. At least look at versions with mechanical strain relief ([example](https://www.harwin.com/products/M55-8001242-0150A)) as a compromise.
- This is senseless.
- While some flavours of SWD may allow up to 50MHz something, there is no reason why you would ever want to run it that fast. There isn't nearly enough data present in the MCU that needs to be transferred at those speeds during debugging. As for production programming... how can programming a whole 256kib MCU in at most a few seconds be too slow? Equally senseless.
- A couple of (2-3) MHz is just fine and then you need no matching or shielding at all, and you can keep the rectangular header/socket connectors. Just make sure to not use very long cables between your ICD adapter and the target. Some subjective rule of thumb is < 300mm.
- That being said, the SWD connector should preferably be placed close to the MCU and the signal traces kept as straight as possible. EMI during programming/debugging does happen and you don't want that (for example crosstalk from SWD into some analog signal or whatever).
- I've used many different Cortex M with SWD from all manner of manufacturers including a bunch of STM32. SWD signal layout was never an issue.
- ---
- Other issues:
- What might be an issue is that it is often stupid to expose these signals directly to an external connector where someone's fat fingers _will_ cause ESD. The MCU may or may not have sufficient ESD protection, but you might not want to rely on that. If you aren't running SWD too fast then you can easily do some cheap fix like putting series resistors on all signals. The reset pin might be extra sensitive and might need external pull-up.
- The major issue with the SWD standard otherwise is mechanical - the 1.27mm double row headers with ribbon cable connecting to it is _pure trash_, completely unsuitable for a debugging interface and even less so for production purposes. These aren't made to endure repeated connects, so the ribbon cable and everything else will break in no time, all the time. At least look at versions with mechanical strain relief ([example](https://www.harwin.com/products/M55-8001242-0150A)) as a compromise.
#1: Initial revision
This is senseless. While some flavours of SWD may allow up to 50MHz something, there is no reason why you would ever want to run it that fast. There isn't nearly enough data present in the MCU that needs to be transferred at those speeds during debugging. As for production programming... how can programming a whole 256kib MCU in at most a few seconds be too slow? Equally senseless. A couple of (2-3) MHz is just fine and then you need no matching or shielding at all, and you can keep the rectangular header/socket connectors. Just make sure to not use very long cables between your ICD adapter and the target. Some subjective rule of thumb is < 300mm. That being said, the SWD connector should preferably be placed close to the MCU and the signal traces kept as straight as possible. EMI during programming/debugging does happen and you don't want that (for example crosstalk from SWD into some analog signal or whatever). I've used many different Cortex M with SWD from all manner of manufacturers including a bunch of STM32. This was never an issue. --- Other issues: What might be an issue is that it is often stupid to expose these signals directly to an external connector where someone's fat fingers _will_ cause ESD. The MCU may or may not have sufficient ESD protection, but you might not want to rely on that. If you aren't running SWD too fast then you can easily do some cheap fix like putting series resistors on all signals. The reset pin might be extra sensitive and might need external pull-up. The major issue with the SWD standard otherwise is mechanical - the 1.27mm double row headers with ribbon cable connecting to it is _pure trash_, completely unsuitable for a debugging interface and even less so for production purposes. These aren't made to endure repeated connects, so the ribbon cable and everything else will break in no time, all the time. At least look at versions with mechanical strain relief ([example](https://www.harwin.com/products/M55-8001242-0150A)) as a compromise.
