<?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>How to put Application in Bootloader mode without using a Softreset?</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/15779/how-to-put-application-in-bootloader-mode-without-using-a-softreset</link><description>I am trying the ANT-OTA DFU Update using an ANT Stick and the nr51422 pca 10028 board.Using the OTA Tester (s210), I am currently doing an OTA Update with the s210 dual bank bootloader. But the application goes into bootloader mode using a NVIC soft reset</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 17 Aug 2016 15:40:50 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/15779/how-to-put-application-in-bootloader-mode-without-using-a-softreset" /><item><title>RE: How to put Application in Bootloader mode without using a Softreset?</title><link>https://devzone.nordicsemi.com/thread/60205?ContentTypeID=1</link><pubDate>Wed, 17 Aug 2016 15:40:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1f3880c4-2032-4152-a858-82be5060975d</guid><dc:creator>Roshan007007</dc:creator><description>&lt;p&gt;Yes, that makes complete sense. Now, I just have to figure out, even when there is DFU code present, I want the program counter to directly go to Application mode, or stay for a minimal time in the &amp;quot;bootloader&amp;quot; mode and go to Application.
Also , would have to do some research in terms of graceful shutdown. Because in every SDK Example, NVIC Softreset() is used to go to &amp;quot;bootloader&amp;quot; mode, regardless of single or dual bank.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to put Application in Bootloader mode without using a Softreset?</title><link>https://devzone.nordicsemi.com/thread/60204?ContentTypeID=1</link><pubDate>Wed, 17 Aug 2016 15:33:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f59695aa-c067-4a41-b5e7-5e7512d9b2fe</guid><dc:creator>AmbystomaLabs</dc:creator><description>&lt;p&gt;Well the term &amp;quot;bootloader&amp;quot; gets used a little loosely here.  Technically the bootloader is the soft device which I assume you have even though you are using ANT instead of BLE. The processor always boots from 0x0 which is where the soft device starts (assuming one is loaded). Then the soft device looks to see if there is dfu code in its assigned space, if not then it goes straight to the application code. In the situation where there is SD and DFU code, the processor starts at 0x0 (ie, SD) then the code moves to the DFU code, the DFU code checks its local flag to see if it has installed valid application code, if there is valid application code then the program counter is moved to your app code and things run normally.  In the event that there isn&amp;#39;t valid app code the DFU code will sit in DFU mode waiting for OTA software. I hope this answers your question.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to put Application in Bootloader mode without using a Softreset?</title><link>https://devzone.nordicsemi.com/thread/60203?ContentTypeID=1</link><pubDate>Wed, 17 Aug 2016 15:24:18 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:831eea7f-8463-450b-a804-378c01a4bb21</guid><dc:creator>Roshan007007</dc:creator><description>&lt;p&gt;So, when it goes through the Bootloader, does it need to always go through the Bootloader mode (displaying Device Information) ? Because that would mean extra battery consumption, and also loss of data during the time it is in the Bootloader mode instead of Application  mode.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to put Application in Bootloader mode without using a Softreset?</title><link>https://devzone.nordicsemi.com/thread/60201?ContentTypeID=1</link><pubDate>Wed, 17 Aug 2016 15:23:42 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:28217471-4087-41a6-9a4f-a549adeb44ee</guid><dc:creator>Roshan007007</dc:creator><description>&lt;p&gt;So, when it goes through the Bootloader, does it need to always go through the Bootloader mode (displaying Device Information) ? Because that would mean extra battery consumption, and also loss of data during the time it is in the Bootloader mode instead of Application  mode.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to put Application in Bootloader mode without using a Softreset?</title><link>https://devzone.nordicsemi.com/thread/60202?ContentTypeID=1</link><pubDate>Wed, 17 Aug 2016 12:09:56 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7f326026-cf30-4b50-85d0-7c36f2131e10</guid><dc:creator>AmbystomaLabs</dc:creator><description>&lt;p&gt;Two things:  You say you have the device power on/off frequently to save power.  You should really re-think this approach.  The action of the processor booting, setting up software registers, initializing gpio, peripheral ports and communications stack, initializing clocks, etc., etc. uses gobs of power. I recently went through an exercise where I determined that the boot for a ble device was so traumatic that the lithium button cell voltage actually doesn&amp;#39;t recover for several minutes.  You should really boot once then go into power save and have user or application just wake up the processor out of power save.&lt;/p&gt;
&lt;p&gt;On switching to boot loader without a system reset.  You can do this.  It is mentioned in one of the dfu tutorials (sorry can&amp;#39;t remember where). Essentially, you just have your program do a graceful shutdown (save out registers, close flash) and switch the program counter to the start of bootloader code. The graceful shutdown part should get discussed on docs for brownout reset.  Same idea anyway.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to put Application in Bootloader mode without using a Softreset?</title><link>https://devzone.nordicsemi.com/thread/60200?ContentTypeID=1</link><pubDate>Wed, 17 Aug 2016 10:23:41 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9d6b9b04-af8a-4db8-8f7e-618346d19c45</guid><dc:creator>Petter Myhre</dc:creator><description>&lt;p&gt;Every time you do a reset you have to go through the Bootloader, but you don&amp;#39;t have to stay there for long before you jump to the application.&lt;/p&gt;
&lt;p&gt;Maybe you can use a bit in GPREGRET register to tell the bootloader if it should jump to the application or not. This is a register that is retained. The data will still be there after a reset.&lt;/p&gt;
&lt;p&gt;You can set or clear the bit when you get a specific ANT payload.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>