<?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 upgrade firmware using dfu first time?</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/8036/how-to-upgrade-firmware-using-dfu-first-time</link><description>HI,
I am using sdk 8 and pca10028 dk. I follow following procedure, 
 
 Program the softdevice using nrfgo 
 Program the test_bootloader using nrfgo 
 Program the application using keil.
My problem is that on startup it goes into bootloader mode</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 09 Jul 2015 06:35:08 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/8036/how-to-upgrade-firmware-using-dfu-first-time" /><item><title>RE: How to upgrade firmware using dfu first time?</title><link>https://devzone.nordicsemi.com/thread/28805?ContentTypeID=1</link><pubDate>Thu, 09 Jul 2015 06:35:08 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f2a16ab0-144b-4b1a-9e6b-126ac16bf4b8</guid><dc:creator>&amp;#216;yvind Karlsen</dc:creator><description>&lt;p&gt;See section &lt;a href="https://devzone.nordicsemi.com/blogs/685/common-faq-on-dfu/"&gt;E of the common FAQ on DFU&lt;/a&gt;, this covers how to do this.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to upgrade firmware using dfu first time?</title><link>https://devzone.nordicsemi.com/thread/28806?ContentTypeID=1</link><pubDate>Thu, 09 Jul 2015 05:30:16 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:26668d6d-d9ef-419d-aba0-c8ef18637d1e</guid><dc:creator>abhinav</dc:creator><description>&lt;p&gt;OK now I get it. But is there any alternate solution to that like if we could call is app valid function and check? since this is not possible everytime to upgrade the firmware ota in mass production.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to upgrade firmware using dfu first time?</title><link>https://devzone.nordicsemi.com/thread/28804?ContentTypeID=1</link><pubDate>Wed, 08 Jul 2015 06:40:00 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8970585f-6046-4f14-bfa1-703efdaad723</guid><dc:creator>&amp;#216;yvind Karlsen</dc:creator><description>&lt;p&gt;My bad, I missed an important bit of information. If your application is flashed in Keil, the chip will not know that a valid application is flashed to the chip, and therefore not leave the DFU mode. That is why the application has to be flashed using DFU.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to upgrade firmware using dfu first time?</title><link>https://devzone.nordicsemi.com/thread/28803?ContentTypeID=1</link><pubDate>Wed, 08 Jul 2015 06:04:02 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:71ff0dfe-0781-4b94-81a5-5a02aa62c5f6</guid><dc:creator>abhinav</dc:creator><description>&lt;p&gt;my question is  i want to know how to enter application mode by default at start it is into bootloader mode . i have valid application which is tested so there is no question of invalid app. i have referred all the documentation about dfu , but i m not getting how to switch to application mode at start.&lt;/p&gt;
&lt;p&gt;Thanks
Abhinav&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to upgrade firmware using dfu first time?</title><link>https://devzone.nordicsemi.com/thread/28802?ContentTypeID=1</link><pubDate>Wed, 08 Jul 2015 05:52:17 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8eebd372-c040-4c1b-b648-3db17f935ac4</guid><dc:creator>&amp;#216;yvind Karlsen</dc:creator><description>&lt;p&gt;Have a look at the project ble_app_hrs_s110_with_dfu(this can be found in &lt;code&gt;..\SDK_8.1\examples\ble_peripheral\ble_app_hrs\pca10028\s110_with_dfu\arm5_no_packs&lt;/code&gt;), here you will find the file dfu_app_handler.c. In this file there is a function called bootloader_start, this function shows how to enter bootloader mode. The line &lt;code&gt;err_code = sd_power_gpregret_set(BOOTLOADER_DFU_START);&lt;/code&gt; is where we set the GPREGRET flag.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Øyvind&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to upgrade firmware using dfu first time?</title><link>https://devzone.nordicsemi.com/thread/28799?ContentTypeID=1</link><pubDate>Tue, 07 Jul 2015 10:09:32 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8203f04b-cb01-4c6d-8a58-8039d5d6c2a1</guid><dc:creator>abhinav</dc:creator><description>&lt;p&gt;can you please elaborate the method of setting the flag retention register GPREGRET. Since I a&amp;#39;int successful in doing that.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to upgrade firmware using dfu first time?</title><link>https://devzone.nordicsemi.com/thread/28801?ContentTypeID=1</link><pubDate>Tue, 07 Jul 2015 07:34:40 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f4e5a1de-4ada-42a5-94e1-3b8a9f7f8c1f</guid><dc:creator>&amp;#216;yvind Karlsen</dc:creator><description>&lt;p&gt;As described in section &lt;a href="https://devzone.nordicsemi.com/blogs/685/common-faq-on-dfu/"&gt;C. of the common FAQ&lt;/a&gt; on DFU:&lt;/p&gt;
&lt;p&gt;Buttonless DFU means we start the DFU mode from the application without the need of a physical button. The main technique is to set a flag, could be the retention register GPREGRET, or write to flash, etc. And then jump to bootloader either by a reset or directly branching.&lt;/p&gt;
&lt;p&gt;Note that the bootloader is always executed before the application. If there is a valid application and if there is no request for DFU, it will forward interrupt and start the main application. This is the reason why we need to set a retention flag to tell the bootloader to enter DFU mode instead of starting the application.&lt;/p&gt;
&lt;p&gt;This means that you have either not got a valid application, or you have set the GPREGRET flag.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to upgrade firmware using dfu first time?</title><link>https://devzone.nordicsemi.com/thread/28800?ContentTypeID=1</link><pubDate>Tue, 07 Jul 2015 07:15:32 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e16fae5e-3007-427e-a689-59df2871b784</guid><dc:creator>abhinav</dc:creator><description>&lt;p&gt;Hi,
Thank you very much for the reply. I have followed all the steps from given link.
My dfu works fine but for the first time it doesn&amp;#39;t start the application directly it goes into bootloader mode but I want my own application to start initially. So please tell which bootloader file I should use in that case as we already have tested with dual_bank_bootloader and test_bootloader.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to upgrade firmware using dfu first time?</title><link>https://devzone.nordicsemi.com/thread/28798?ContentTypeID=1</link><pubDate>Tue, 07 Jul 2015 07:05:10 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6f3b0293-9693-4741-8bfd-66243a0273e7</guid><dc:creator>&amp;#216;yvind Karlsen</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;This is covered by the tutorial on &lt;a href="https://devzone.nordicsemi.com/tutorials/9/setting-up-device-firmware-updatedfu-on-the-nrf51-/"&gt;setting up DFU&lt;/a&gt;. Please let me know if you have any questions or troubles following this tutorial.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Øyvind&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>