<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Prevent GPIO change in bootloader</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/49212/prevent-gpio-change-in-bootloader</link><description>My custom nRF52840 board uses the STmicro STM6601 push-button controller. To keep the nRF powered, the PSHOLD line must be kept high. I have a GPIO set as an output for that. 
 I am trying to incorporate the Open bootloader in my code. 
 Obviously using</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 15 Jul 2019 13:41:56 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/49212/prevent-gpio-change-in-bootloader" /><item><title>RE: Prevent GPIO change in bootloader</title><link>https://devzone.nordicsemi.com/thread/198499?ContentTypeID=1</link><pubDate>Mon, 15 Jul 2019 13:41:56 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:26c5489a-93f6-4696-afa4-5d5741d26576</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;This actually a good trick. I didn&amp;#39;t think of this. Thanks for sharing Damon.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Prevent GPIO change in bootloader</title><link>https://devzone.nordicsemi.com/thread/198302?ContentTypeID=1</link><pubDate>Mon, 15 Jul 2019 05:12:18 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:676c5e14-6b79-4851-bdf0-ea599677c539</guid><dc:creator>DamonKelly</dc:creator><description>&lt;p&gt;I can&amp;#39;t use a pull up resistor, because one function of the STM6601 is to switch the power off after a start up if the MCU doesn&amp;#39;t set PSHOLD within a few seconds. A pull up resistor would defeat that purpose.&lt;/p&gt;
&lt;p&gt;I managed to find a work-around using the &amp;quot;Wake from System OFF mode&amp;quot;, which performs a reset without changing the GPIO state. See this &lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/49525/wake-from-system-off-mode-with-usb-vbus"&gt;question&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Prevent GPIO change in bootloader</title><link>https://devzone.nordicsemi.com/thread/198217?ContentTypeID=1</link><pubDate>Fri, 12 Jul 2019 14:36:35 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a3a83f2b-3bdc-40d9-9b75-75503a504340</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Sorry for a late response, I was on vacation.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;When the pin set to input (the default state after reset), it&amp;#39;s floating so it can be low. Have you tried to connect it to a pull up resistor or a capacitor ?&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The reset pin is not bidirectional. You can check if which reset reason was the last reset by reading&amp;nbsp;RESETREAS register. Please refer to chapter 18 in the nRF52832 product spec.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Prevent GPIO change in bootloader</title><link>https://devzone.nordicsemi.com/thread/196363?ContentTypeID=1</link><pubDate>Thu, 04 Jul 2019 02:55:15 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e72afebe-9970-4354-8014-f94ed19c42da</guid><dc:creator>DamonKelly</dc:creator><description>&lt;p&gt;Is there any way of telling if the device goes through a reset? Is the nRESET pin bi-directional?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Prevent GPIO change in bootloader</title><link>https://devzone.nordicsemi.com/thread/196353?ContentTypeID=1</link><pubDate>Thu, 04 Jul 2019 00:32:26 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b2249fe9-4447-4eeb-a012-32af97690110</guid><dc:creator>DamonKelly</dc:creator><description>&lt;p&gt;Here the signal from the scope.&lt;/p&gt;
&lt;p&gt;Note that the nRF52840 is here powered by the Dev Kit debugger (i.e. SB47 is joined.)&lt;/p&gt;
&lt;p&gt;This is necessary so you can see that the signal does indeed go high after the restart.&lt;/p&gt;
&lt;p&gt;If I step through the code in the debugger, I don&amp;#39;t see anywhere where the output is set low.&lt;img alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/4/Bootloader-Reset-2019_2D00_07_2D00_04-1.png" /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Prevent GPIO change in bootloader</title><link>https://devzone.nordicsemi.com/thread/196156?ContentTypeID=1</link><pubDate>Wed, 03 Jul 2019 07:54:22 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:165853df-d488-44f7-8c5c-8006a67f7423</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Damon,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Could you capture an oscilloscope / logic analyzer of the pin ? I want to see how long the pin goes low. Have you tried to put a capacitor / a pull up resistor?&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Please make sure there is no code in the bootloader that pull the pin low.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Prevent GPIO change in bootloader</title><link>https://devzone.nordicsemi.com/thread/196087?ContentTypeID=1</link><pubDate>Tue, 02 Jul 2019 22:41:14 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:225698b7-8192-4026-ba91-f8f0f593447f</guid><dc:creator>DamonKelly</dc:creator><description>&lt;p&gt;The GPIO is P0.12&lt;/p&gt;
&lt;p&gt;When I step through the process using the debugger (from when the app calls the bootloader to when the bootloader enters its main loop), the GPIO stays high.&lt;/p&gt;
&lt;p&gt;But when I run it &amp;quot;stand-alone&amp;quot;, the output goes low long enough for the system power to go off.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Prevent GPIO change in bootloader</title><link>https://devzone.nordicsemi.com/thread/196049?ContentTypeID=1</link><pubDate>Tue, 02 Jul 2019 14:50:30 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d7167ba4-ebe5-422b-9f62-74540884953c</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Kelly,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Could you tell which GPIO pin you use ?&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Note that after a soft reset, a pin will be&amp;nbsp;configured as input with input buffer disconnected. The level of the pin will be high impedance (floating). It&amp;#39;s not driven low. You can have an external pull up for the pin.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Note that if you implement the GPIO configuration inside the bootloader, there would be a very short period when the pin is float. And because it&amp;#39;s very short (microseconds) you can add a capacitor to keep the pin high during the period if pull up is not an option.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>