AnsweredAssumed Answered

k22f - no longer connects to SWD

Question asked by mjg8t on Apr 23, 2015
Latest reply on Feb 21, 2020 by mjg8t

Hi There,


I am having a very odd issue with a custom design using the k22f.  I have built a number of 4 prototypes with all having the same behavior.


I can initially connect to the K22F just fine load firmware, debug etc.  The board has an onboard FPGA and flash (flash pins are shared with the FPGA).  After using the FPGA to load the flash with the FPGA configuration memory the K22F can no longer be accessed through SWD, infact the MCU no longer runs at all and seems to be in reset.


On a problematic board I have since removed any possibly conflicting parts (fpga, flash, etc)  and I can still not connect to the MCU.


I have tested:

- removed potential conflicting parts from the board (fpga, flash)

- verified the power supply 3.3V

- checked voltage on all bypass caps

- verified SWD continuity from the JTAG connector to the MCU

- replaced power supply with external bench power to ensure proper power

- monitored the reset pin while the debugger is trying to connect.  Reset @3.3V unless pulled low by debugger

- monitored SWD clk, dio signals are good during connection attempt

- removed the MCU and put on an freedom board and able to connect via SWD (the mcu is fine)

- put brand new MCU on problem PCB and still does not connect


I have a working board where the FPGA flash has not been programmed which is running fine for comparison.  No differences found in critical voltage levels on pins.


All that I can figure is that I have the K22F wired incorrectly on the PCB.  Attached is a schematic for review. I am at a loss and have spent a lot of time trying to debug, but cannot find any direct answers.  Thank you for any feedback you might provide!




- What would failure to access the SWD interface of the MCU indicate about the state of the MCU?

     - The MCU is in reset?

- What pins/conditions(other than reset pin) could be responsible for holding the MCU in reset or keep from booting?