Reset pin recommendations for Kinetis devices

cancel
Showing results for 
Search instead for 
Did you mean: 

Reset pin recommendations for Kinetis devices

Reset pin recommendations for Kinetis devices

Hey there Kinetis lovers!  We in the Systems Engineering team for Kinetis Microcontrollers see all kinds of situations that customers get into, and none can be particularly troubling like how the reset pin is handled.  The purpose of this document is to provide a list of Frequency Asked Questions (FAQ) that we get here in the Kinetis Systems Engineering department.  This is intended to be a living list and as such, may in no way be complete.  However we hope that you will find the below questions and answers useful.  

Q:  Do I need to connect the reset signal to be able to debug a Kinetis device?

 

This is a commonly asked question. Strictly speaking, you do not need to connect the device reset line of a Kinetis device to the debug connector to be able to debug. The debug port MDM-AP register allows the processor to be held in reset by means of setting the System Reset Request bit using just the SWD_CLK and SWD_DIO lines.

 

However, before deciding to omit the reset line from your debug connector you should give some careful thought to how this may impact the ability to program and debug the device in certain scenarios.

  1. Does the debugger/flash programmer or external debug pod require the reset pin? It may be that the specific tool you are using only supports resetting the device by means of the reset line and does not offer the ability to reset the device by means of the MDM-AP.
  2. Have you changed the default function of the debug signals? You may need to use the SWD_CLK and/or the SWD_DIO signals for some other function in your application. This is especially true in low pin count packages. Once the function is changed (by means of the PORTx_PCRy registers) you will no longer have access to the MDM-AP via those signals. If you do not have access to the reset signal then you have no way of preventing the core from executing the code that will disable the SWD function of the pins. So you will not be able to re-program the device. In order to prevent this type of situation you need to either:
    1. Setup your code to change the function of the SWD pins several seconds after reset is released so that the debugger can halt the core before this happens.
    2. Put some kind of “backdoor” mechanism in your code that does not re-program the SWD function, or re-enables the SWD function, on these pins. For example, a specific character sequence sent via a UART or SPI interface.

 

Some Kinetis devices allow the reset function of the reset pin to be disabled. In this case you can only use the SWD signals as a means of resetting the device via the MDM-AP. If you change the SWD pin function in addition to disabling the reset pin then you must provide a backdoor means of re-enabling the SWD function if you want to be able to reprogram the device.

Comments

Hi Chris

If I do not use the RESET pin in my application, can I left it floating? If so, must I need to disable it?

I took this from the KL02 RM:

6.2.2.1 External pin reset (RESET_b)
This pin is open drain and has an internal pullup device. Asserting RESET_b wakes the device from any mode.
The RESET_b pin can be disabled by programming RESET_PIN_CFG option bit to 0. When this option is selected, there could be a short period of contention during a POR
ramp where the device drives the pin-out low prior to establishing the setting of this option and releasing the reset function on the pin.

Do you know how long this contention takes? Can this contention  be problem for a coin battery application?

Thank you

Andre VB

Hi Andre,

The RESET pin will drive low during powerup when VDD is between the VPOR voltage (around 1V) and VLVR (around 2.6V). So, the time is determined by the ramp time of the power supply. The internal pullup resistor value is higher at low voltages, so it will be closer to the high end of the spec during this period, perhaps 50k ohms. Unless RESET is disabled in code, it will also drive low for any fault that asserts reset. Probably the best thing to do in your case is: do not use an external pullup or capacitor, disable the RESET function on the GPIO pin, and change the MUX value in the PCR register to 0 during initialization. The result is a floating GPIO pin, which is recommended for unused pins.

Regards,

John

Version history
Revision #:
1 of 1
Last update:
‎05-25-2017 01:29 PM
Updated by: