<?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>Problem about Serial(UART) DFU</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/75891/problem-about-serial-uart-dfu</link><description>Hi I&amp;#39;m Frank. 
 I&amp;#39;m testing Serial DFU via UART using TWO nRF52840 DKs(DFU master and DFU slave DK). 
 I want to update firmware of slave DK through the master DK. 
 I was downloaded DFU master code from here , and applied the example code to &amp;quot;SDK15.3</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 23 Jun 2021 01:27:41 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/75891/problem-about-serial-uart-dfu" /><item><title>RE: Problem about Serial(UART) DFU</title><link>https://devzone.nordicsemi.com/thread/316576?ContentTypeID=1</link><pubDate>Wed, 23 Jun 2021 01:27:41 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9c0274b6-d7be-404e-97b2-84ad889fbbef</guid><dc:creator>sjheo</dc:creator><description>&lt;p&gt;Thanks for your comment, Einar.&lt;br /&gt;&lt;br /&gt;The DFU test was delayed because I had to deal with other works first. Really sorry about late reply..&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;As you said, the reason why my DFU process fail is because CRC is different.&lt;br /&gt;The data in the APPLICATION area was written incorrectly..&amp;nbsp;&lt;span class="emoticon" data-url="https://devzone.nordicsemi.com/cfs-file/__key/system/emoji/1f605.svg" title="Sweat smile"&gt;&amp;#x1f605;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now, I&amp;#39;m done serial(UART) DFU test and I integrated secure bootloader UART and BLE.&lt;br /&gt;Both methods were tested.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;But, only the DFU&amp;nbsp; for the application area was tested, and the DFU about softdevice or bootloader area seems to need a little more study.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;If I ask a related question later, please kindly answer again.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Problem about Serial(UART) DFU</title><link>https://devzone.nordicsemi.com/thread/313426?ContentTypeID=1</link><pubDate>Thu, 03 Jun 2021 12:58:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3702c922-4a11-4cd2-aa25-df845070fd6a</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi Frank,&lt;/p&gt;
[quote user=""]1. What does the data I send to the DFU slave DK after creating Object 1 (0x01 0x01 LEN) mean? I don&amp;#39;t know the meaning of the data because I followed the nrfutil debug log.[/quote]
&lt;p&gt;Which line in which log do you refer to now? Generally, you can see the format of the commands &lt;a href="https://infocenter.nordicsemi.com/topic/sdk_nrf5_v17.0.2/lib_dfu_transport.html"&gt;here&lt;/a&gt;. Create object takes two parameters, &lt;a href="https://infocenter.nordicsemi.com/topic/sdk_nrf5_v17.0.2/group__sdk__nrf__dfu__req__handler.html#ga13e0184fedc2068008f85dfd997860d7"&gt;object type&lt;/a&gt; and size.&lt;/p&gt;
[quote user=""]2. What is the reason for the above&amp;nbsp;&lt;span&gt;2) DFU slave UART log result? ( about the response to the CRC and EXECUTE commands.)&lt;/span&gt;[/quote]
&lt;p&gt;&amp;nbsp;It looks like the CRC is different. As you have the same .zip file you are testing with I wonder if you are seeing a common issue when doing serial DFU with the DKs, which is that the onboard debugger can corrupt the UART traffic (which passes through it). The workaround then is to disable the pass storage device on the onboard debugger. See &lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/zephyr/guides/tools/nordic_segger.html#disabling-the-mass-storage-device-functionality"&gt;Disabling the Mass Storage Device functionality&lt;/a&gt;&amp;nbsp;(note that it does not matter if the doc is for Zephyr, this is a generic issue with the onboard debugger on the DK)&lt;/p&gt;
[quote user=""]3. The whole test above simply update of the APPLICATION area. How do I update the SOFTDEVICE or BOOTLOADER through serial DFU?[/quote]
&lt;p&gt;The update procedure is exactly the same for SoftDevice or bootloader. This is encoded in the init packet that is sent to the bootloader at the beginning of the upgrade procedure, and the bootloader itself handles the relevant differences without the need for the DFU master to behave any differently for different types of updates.&lt;/p&gt;
&lt;p&gt;The bootloader documentation is quite good, though it is a bit slim on the protocol.&amp;nbsp; You will get a good overview for serial DFU from &lt;a href="https://infocenter.nordicsemi.com/topic/sdk_nrf5_v17.0.2/lib_dfu_transport_serial.html"&gt;this page&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Einar&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>