<?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>Updating Firmware via DFU or directly</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/58770/updating-firmware-via-dfu-or-directly</link><description>I am working on adding firmware updates to my BLE application on the BL652 module ( nRF52832/PCA10040 ). nRF 15.2. 
 I added in the code for the BLE Background DFU, which crashed with &amp;quot;ERROR_NO_MEM&amp;quot;; so I deleted my battery BLE and then it runs. But what</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 09 Mar 2020 14:15:58 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/58770/updating-firmware-via-dfu-or-directly" /><item><title>RE: Updating Firmware via DFU or directly</title><link>https://devzone.nordicsemi.com/thread/238864?ContentTypeID=1</link><pubDate>Mon, 09 Mar 2020 14:15:58 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:93b510b1-56a6-4a72-8662-e36768424f5f</guid><dc:creator>tesc</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;The &lt;a href="https://infocenter.nordicsemi.com/index.jsp?topic=%2Fsdk_nrf5_v16.0.0%2Flib_bootloader_dfu_process.html"&gt;DFU process&lt;/a&gt;, the &lt;a href="https://infocenter.nordicsemi.com/index.jsp?topic=%2Fsdk_nrf5_v16.0.0%2Flib_dfu_transport.html"&gt;DFU protocol&lt;/a&gt; and the &lt;a href="https://infocenter.nordicsemi.com/index.jsp?topic=%2Fsdk_nrf5_v16.0.0%2Flib_dfu_transport_ble.html"&gt;BLE transport&lt;/a&gt; are all documented in our online documentation (Infocenter).&lt;/p&gt;
&lt;p&gt;Implementation examples are available through github, in the form of &lt;a href="https://github.com/NordicSemiconductor/IOS-Pods-DFU-Library"&gt;iOS library&lt;/a&gt;, &lt;a href="https://github.com/NordicSemiconductor/Android-DFU-Library"&gt;Android library&lt;/a&gt;, &lt;a href="https://github.com/NordicSemiconductor/pc-nrfutil/tree/master/nordicsemi/dfu"&gt;source code for nrfutil&lt;/a&gt; and &lt;a href="https://github.com/NordicSemiconductor/pc-ble-driver-js/tree/master/api/dfu"&gt;DFU library, part of pc-ble-driver-js&lt;/a&gt; (which is used by nRF Connect for Desktop). All of those implementations uses a zip package generated by nrfutil, as the upgrade package.&lt;/p&gt;
[quote user=""]What would be even better is if there was documentation as to where to write the firmware update directly into flash and bypass the DFU.[/quote]
&lt;p&gt;What do you mean by that, connecting a programmer to the board and reflash firmware manuallly? DFU, or Device Firmware Update, is the process of updating firmware through use of firmware already present on the device, as opposed to using a programmer to directly access flash through the debug interface of the device. E.g. DFU is suited for end customers, while direct programming is typically done in production and during development.&lt;/p&gt;
&lt;p&gt;Regards,&lt;br /&gt;Terje&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>