<?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>nRF5 DFU over-the-air bootloader prevents wired flashing</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/19021/nrf5-dfu-over-the-air-bootloader-prevents-wired-flashing</link><description>When we use nRF5 bootloader provided with SDK the first application flashing must always be done using DFU over-the-air. Only after that it is possible to re-flash application with a wire, using e.g. segger j-link. This applies both, nRF51 and nRF52,</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 17 Jan 2017 12:37:25 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/19021/nrf5-dfu-over-the-air-bootloader-prevents-wired-flashing" /><item><title>RE: nRF5 DFU over-the-air bootloader prevents wired flashing</title><link>https://devzone.nordicsemi.com/thread/73541?ContentTypeID=1</link><pubDate>Tue, 17 Jan 2017 12:37:25 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b4450d3d-e2c5-4d50-9cc2-415b0cd66343</guid><dc:creator>Jarmo</dc:creator><description>&lt;p&gt;Okay thanks! I need to try that.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF5 DFU over-the-air bootloader prevents wired flashing</title><link>https://devzone.nordicsemi.com/thread/73540?ContentTypeID=1</link><pubDate>Tue, 17 Jan 2017 12:34:46 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8a1530fd-1d7d-47e8-8bb0-a86bce38b52a</guid><dc:creator>Wojtek</dc:creator><description>&lt;p&gt;I think nrfutil does that automatically. However, what i did is I just created .bat script which does: generate settings file from the hex (nrf_util settings generate), merge softdevice with bootloader, later merge the output with application, then merge the output with the generated settings file. I think it can be done automatically in keil in: target options -&amp;gt; user -&amp;gt; after build/rebuild. Then i just flash merged softdevice-bootloader-app-settings.hex using nrfjprog.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF5 DFU over-the-air bootloader prevents wired flashing</title><link>https://devzone.nordicsemi.com/thread/73539?ContentTypeID=1</link><pubDate>Tue, 17 Jan 2017 12:30:06 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:17dcdefd-ab19-4553-a144-83a47126016d</guid><dc:creator>Jarmo</dc:creator><description>&lt;p&gt;Yeah, but I am developing the bootloader and the application at the same time, and I need to flash both of them frequently from the uVision IDE, or using nRFgo Studio. So the thing to add needed bootloader settings should be automated into the bootloader build procedure, or into the application build. I guess it might be possible with uVision User steps, well? If not, Makefile would also help, so what (commands) needs to be added into the bootloader Makefile to get a single hex output including the mentioned settings?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF5 DFU over-the-air bootloader prevents wired flashing</title><link>https://devzone.nordicsemi.com/thread/73538?ContentTypeID=1</link><pubDate>Tue, 17 Jan 2017 12:22:31 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:93049a76-fde4-45bf-8695-581052e03736</guid><dc:creator>Wojtek</dc:creator><description>&lt;p&gt;Just flash the bootloader and app (you can merge them) and try flashing fixes from the topic i linked. One of them should work, you will see result immediately...&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF5 DFU over-the-air bootloader prevents wired flashing</title><link>https://devzone.nordicsemi.com/thread/73537?ContentTypeID=1</link><pubDate>Tue, 17 Jan 2017 12:20:35 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e50de47b-e867-4020-bfc5-abe83a551d04</guid><dc:creator>Jarmo</dc:creator><description>&lt;p&gt;Sounds complicated. In the bootloader code, is it just possible to check a byte at the starting address of the application, and jump there if it is anything but 0xff (erased flash)? It doesn&amp;#39;t matter if there&amp;#39;s an incompletely flashed application, since in most of our cases we have a button that still enables getting back into the bootloader, if the application crashes (there&amp;#39;s a reset chip that activates with a long press of a button).&lt;/p&gt;
&lt;p&gt;If so, what are the files/lines in SDK8 and SDK12 bootloaders to do that trick?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF5 DFU over-the-air bootloader prevents wired flashing</title><link>https://devzone.nordicsemi.com/thread/73536?ContentTypeID=1</link><pubDate>Tue, 17 Jan 2017 12:04:06 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:38f4acd2-5555-496e-ae62-c2e6d9b3abff</guid><dc:creator>bjorn-spockeli</dc:creator><description>&lt;p&gt;@nikula (Jarmo): If you&amp;#39;re using SDK v12.x.0 then you have to generate a bootloader settings hex file with nrfutil v2.1.0 that contains the application crc and sets the valid application flag. You then have to merge this hex file with the bootloader. You can then merge that image with the application and softdevice hex files and flash the combined image using a programmer.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF5 DFU over-the-air bootloader prevents wired flashing</title><link>https://devzone.nordicsemi.com/thread/73543?ContentTypeID=1</link><pubDate>Mon, 16 Jan 2017 13:39:37 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:19f2ea3a-d4a6-4560-8640-9d673195b009</guid><dc:creator>Wojtek</dc:creator><description>&lt;p&gt;For SDK 12 secure bootloader, nrfutil gives you proper fix-file when generating dfu package i think. For older one, try the ones from that topic, or just write your own (easier than it looks to be). Something from that topic should work just fine though.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF5 DFU over-the-air bootloader prevents wired flashing</title><link>https://devzone.nordicsemi.com/thread/73542?ContentTypeID=1</link><pubDate>Mon, 16 Jan 2017 13:33:17 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7afd02c3-8ece-48c1-9d6f-b30f0c552655</guid><dc:creator>Jarmo</dc:creator><description>&lt;p&gt;Okay, so how to get correct correspoding file that was mentioned behind the link, I mean app_valid_settings_dfu.hex ? I guess that is not necessarily compatible with the bootloaders in SDK8 and SDK12, or is it?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF5 DFU over-the-air bootloader prevents wired flashing</title><link>https://devzone.nordicsemi.com/thread/73544?ContentTypeID=1</link><pubDate>Mon, 16 Jan 2017 12:59:12 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:aa1ca3b6-d13a-433b-986c-3952ee25ce6b</guid><dc:creator>Nguyen Hoan Hoang</dc:creator><description>&lt;p&gt;That is due to the fact that the app valid flag &amp;amp; crc was not set.  When loading with the debugger, it does not set the flag &amp;amp; crc which is located in the DFU section (0x7F000).  By loading it via DFU, that flag &amp;amp; crc are set properly.  Softdevice always jumps to DFU if it is there.  DFU checks for those flags before jumping to app.  If it&amp;#39;s invalid, DFU stays in DFU.  Your app never gets called.  You&amp;#39;ll never break at main.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF5 DFU over-the-air bootloader prevents wired flashing</title><link>https://devzone.nordicsemi.com/thread/73535?ContentTypeID=1</link><pubDate>Mon, 16 Jan 2017 12:42:01 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4ab591ba-de53-4aba-b188-a61b3abfa641</guid><dc:creator>Wojtek</dc:creator><description>&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/question/22056/combining-sd-dfu-and-application-hex-and-programming/?answer=22246#post-id-22246"&gt;This&lt;/a&gt; should help. You have to validate bootloader settings.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>