I am using
pyocd to program a MAX32660 using a MAX32660-EVSYS via SWD.
pyocd is reporting a bit rate that is less than 1/5 of the clock frequency I chose.
pyocd flash build/test_debug.elf --target max32660 --frequency 10000 [====================] 100% 0037168:INFO:loader:Erased 0 bytes (0 sectors), programmed 0 bytes (0 pages), skipped 8192 bytes (8 pages) at 0.23 kB/s
This result is surprising because the SWD protocol itself appears to have less than 2X overhead. In this example the flash is not actually programmed because there is no change in the data, and in any case the flash is much faster than the time this programming takes.
This becomes a major issue if I want to use SWD wiring that is more than 3 inches long, as apparently there is a very weak driver in either the MAX32660 or MAX32660-EVSYS, requiring the frequency to be set extremely low.
What can explain this very slow operation?