AnsweredAssumed Answered

K22 RESET line: Is a pull-up and a cap required?

Question asked by László Monda on Dec 22, 2016
Latest reply on Dec 25, 2016 by László Monda

Hi there,

 

We're using the MK22FN512VLH12 in our open source keyboard.

 

The last time I checked the schematic of the FRDM-K22F board, I noticed that it uses a 10K pull-up and a 0.1uF bypass cap on the RESET line, so I just copied this aspect of the design, and it worked well.

 

Recently, an EE friend of mine suggested to ditch these components, saying that the MCU should already have an internal pull-up, and the bypass cap doesn't serve a good purpose, so I purposefully not soldered these components to our latest prototype.

 

Lo and behold, after connecting the prototype to USB, KBOOT didn't enumerate as it usually does. On top of that, the MCU was behaving as it was locked upon trying to connect to it with Segger J-Link. This is the output of JLink Commander (JLink.exe):

 

Type "connect" to establish a target connection, '?' for help
J-Link>connect
Please specify device / core. <Default>: MK22FN512XXX12
Type '?' for selection dialog
Device>
Please specify target interface:
J) JTAG (Default)
S) SWD
TIF>s
Specify target interface speed [kHz]. <Default>: 4000 kHz
Speed>
Device "MK22FN512XXX12" selected.

 


Found SWD-DP with ID 0x2BA01477
Protection bytes in flash at addr. 0x400 - 0x40F indicate that readout protection is set.
For debugger connection the device needs to be unsecured.
Device will be unsecured now.
Note: Unsecuring will trigger a mass erase of the internal flash.
Found SWD-DP with ID 0x2BA01477
Protection bytes in flash at addr. 0x400 - 0x40F indicate that readout protection is set.
For debugger connection the device needs to be unsecured.
Device will be unsecured now.
Note: Unsecuring will trigger a mass erase of the internal flash.

 

****** Error: Kinetis (connect): Timeout while unsecuring device. Erase never starts.
Kinetis (connect): Failed to unsecure Kinetis device.

 

Found SWD-DP with ID 0x2BA01477
Protection bytes in flash at addr. 0x400 - 0x40F indicate that readout protection is set.
For debugger connection the device needs to be unsecured.
Device will be unsecured now.
Note: Unsecuring will trigger a mass erase of the internal flash.
Found SWD-DP with ID 0x2BA01477
Protection bytes in flash at addr. 0x400 - 0x40F indicate that readout protection is set.
For debugger connection the device needs to be unsecured.
Device will be unsecured now.
Note: Unsecuring will trigger a mass erase of the internal flash.

 

****** Error: Kinetis (connect): Timeout while unsecuring device. Erase never starts.
Kinetis (connect): Failed to unsecure Kinetis device.

 

Cannot connect to target.

 

My questions are:

 

  1. Was this erratic behavior clearly caused by not having the pull-up and the bypass cap on board?
  2. Can I leave out either of these components without any consequences? If so, which one?
  3. Do I have to use exactly a 10K pull-up? Our design already features 4.7K and 24K resistors, so it'd be nice to use one of these values. Which of them should we use, if any?

 

Thanks in advance for your help!

 

- Laci

Outcomes