<?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 jumping to application in serial DFU</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/23075/problem-jumping-to-application-in-serial-dfu</link><description>I am having a strange issue with the serial DFU in SDK 11, s132v2, specifically running either dfu_dual_bank_serial or dfu_single_bank_serial. My goal is to simply get the demo up and running, but I seem to get stuck when the bootloader tries to jump</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 27 Jun 2017 16:22:04 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/23075/problem-jumping-to-application-in-serial-dfu" /><item><title>RE: Problem jumping to application in serial DFU</title><link>https://devzone.nordicsemi.com/thread/90801?ContentTypeID=1</link><pubDate>Tue, 27 Jun 2017 16:22:04 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6eb6562a-2403-4ca1-9f9b-89200e0fda72</guid><dc:creator>Bert</dc:creator><description>&lt;p&gt;After digging a bit deeper, I started considering the package itself, namely dfu_test_app_hrm_s132.zip. The docs state that after unwrapped, the manifest file can be viewed. This manifest contains the following JSON:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;{
    &amp;quot;manifest&amp;quot;: {
        &amp;quot;application&amp;quot;: {
            &amp;quot;bin_file&amp;quot;: &amp;quot;dfu_test_app_hrm_s132.bin&amp;quot;,
            &amp;quot;dat_file&amp;quot;: &amp;quot;dfu_test_app_hrm_s132.dat&amp;quot;,
            &amp;quot;init_packet_data&amp;quot;: {
                &amp;quot;application_version&amp;quot;: 4294967295,
                &amp;quot;device_revision&amp;quot;: 65535,
                &amp;quot;device_type&amp;quot;: 65535,
                &amp;quot;firmware_crc16&amp;quot;: 37832,
                &amp;quot;softdevice_req&amp;quot;: [
                    121
                ]
            }
        },
        &amp;quot;dfu_version&amp;quot;: 0.5
    }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The attribute of interest here is sotfdevice_req. I found a &lt;a href="https://devzone.nordicsemi.com/question/34187/resolving-nrf-softdevice-version-vs-internal-version-s-fwid/"&gt;mapping&lt;/a&gt; on the forum, which connects softdevice FWID to versions. In this case, dfu_test_app_hrm_s132 requires softdevice id 121, which maps to 0x0079. With that said, prior to uploading over DFU, I checked what the FWID was for the softdevice that ships with SDK11:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;$ nrfjprog --memrd 0x300C
0x0000300C: FFFF0081
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Note that the versions do not match. Long story short, the SDK ships with S132 v2.0.0 but that test hex file was compiled against S132 v2.0.0-7.alpha. After verifying this, I ran a simple test, compiling the ble_blinky example against S132v2, and requiring that particular softdevice during package generation:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;nrfutil dfu genpkg --application blinky.hex --sd-req 0x81 blinky.zip
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;And uploaded&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;nrfutil dfu serial --package blinky.zip --port /dev/ttyS3 --baudrate 38400
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Worked like a charm!&lt;/p&gt;
&lt;p&gt;This is not an issue with Nordic per say, as those test files probably aren&amp;#39;t maintained. It was more of an oversight on my end as I should have created my own hex opposed to using the sample hex in hci_dfu_send_hex.&lt;/p&gt;
&lt;p&gt;Anyway, hopefully this will help someone else down the road. Maybe someone from Nordic can verify the findings as a sanity check.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>