<?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>Serial DFU with nRF9160 as DFU controller</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/78203/serial-dfu-with-nrf9160-as-dfu-controller</link><description>I&amp;#39;m downloading a firmware image from AWS via cell onto the nRF9160. I want to perform a serial DFU over UART. The DFU target is the nRF52840. Are there any existing samples outlining this process?</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 26 Aug 2021 18:02:32 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/78203/serial-dfu-with-nrf9160-as-dfu-controller" /><item><title>RE: Serial DFU with nRF9160 as DFU controller</title><link>https://devzone.nordicsemi.com/thread/326858?ContentTypeID=1</link><pubDate>Thu, 26 Aug 2021 18:02:32 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:de78e26e-747e-4fac-b19b-6b17bec520cf</guid><dc:creator>esisk</dc:creator><description>&lt;p&gt;I actually figured it out. There was an issue with how I was interpreting the stop of the UART transmission. I was using a string to denote start and stop of transmission, but those strings are explicitly defined in my file so when app_update.bin is compiled, the actual stop and start strings were being put into the binary file. Whenever my parse function encountered the magic stop in the .bin file being sent over, it interpreted that as end of transmission when there was actually more of the file to write. So I just used the reverse of the magic stop string (computed at runtime) to avoid this issue. After that, the DFU worked as expected&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Serial DFU with nRF9160 as DFU controller</title><link>https://devzone.nordicsemi.com/thread/326786?ContentTypeID=1</link><pubDate>Thu, 26 Aug 2021 12:29:45 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:24e68d22-03d1-4488-94c9-2d09a9613832</guid><dc:creator>esisk</dc:creator><description>[quote userid="2115" url="~/f/nordic-q-a/78203/serial-dfu-with-nrf9160-as-dfu-controller/326765#326765"]This makes a difference on the max. size of the partitions. The mcuboot_primary size must match the mcuboot_secondary partition size.[/quote]
&lt;p&gt;Yes I understand this. I&amp;#39;m testing the ability to perform a DFU on the nRF52820 given our board constraints, so I&amp;#39;m attempting this with a simple hello world program. There should be more than enough flash space on the 820 to successfully do this.&lt;/p&gt;
[quote userid="2115" url="~/f/nordic-q-a/78203/serial-dfu-with-nrf9160-as-dfu-controller/326765#326765"]&amp;nbsp;0 is success, and if you are able to run this function on the updated device; it means that the image was booted.[/quote]
&lt;p&gt;I understand; I&amp;#39;m confused because the hello world print statement should be different if I do not receive an error code from this function because MCUBoot would have booted the new application with a different print statement.&lt;/p&gt;
[quote userid="2115" url="~/f/nordic-q-a/78203/serial-dfu-with-nrf9160-as-dfu-controller/326765#326765"]Could you please be explicit on which nRF-device is being updated, and is calling this function?[/quote]
&lt;p&gt;I am downloading the file with the nRF9160. There is a UART connection between the 9160 and an nRF52820. The 9160 receives a 2KB fragment of the update, sends it via UART, the 820 receives the fragment and uses the dfu_target_mcuboot library accordingly. This process repeats until the last 2KB fragment has been downloaded and transmitted to the 820, and at this point, the 820 calls dfu_target_mcuboot_done(true) and reboots.&lt;/p&gt;
[quote userid="2115" url="~/f/nordic-q-a/78203/serial-dfu-with-nrf9160-as-dfu-controller/326765#326765"]Can you please share some logs / debug info related to your current scenario?[/quote]
&lt;p&gt;Here are print statements generated by the dfu_target library. The print statement &amp;quot;err is 0&amp;quot; corresponds to the return value generated by boot_write_img_confirmed(), &amp;quot;init err&amp;quot; is from dfu_target_mcuboot_init, &amp;quot;write err&amp;quot; is from dfu_target_mcuboot_write(), and the offset of the update is printed before every write.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;*** Booting Zephyr OS build v2.4.99-ncs2 ***&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;00&amp;gt; err is 0&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;00&amp;gt; Hello there, this is main app :)&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;00&amp;gt; init err: 0&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;00&amp;gt; offset: 0&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;00&amp;gt; write err: 0&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;00&amp;gt; offset: 2048&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;00&amp;gt; write err: 0&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;00&amp;gt; offset: 4096&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;00&amp;gt; write err: 0&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;00&amp;gt; offset: 6144&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;00&amp;gt; write err: 0&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;00&amp;gt; offset: 8192&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;00&amp;gt; write err: 0&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;00&amp;gt; offset: 10240&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;00&amp;gt; write err: 0&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;00&amp;gt; offset: 12288&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;00&amp;gt; write err: 0&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;00&amp;gt; offset: 14336&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;00&amp;gt; write err: 0&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;00&amp;gt; offset: 16384&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;00&amp;gt; write err: 0&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;00&amp;gt; offset: 18432&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;00&amp;gt; write err: 0&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;00&amp;gt; offset: 20480&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;00&amp;gt; write err: 0&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;00&amp;gt; offset: 22528&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;00&amp;gt; write err: 0&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;00&amp;gt; offset: 24576&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;00&amp;gt; write err: 0&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;00&amp;gt; done err is 0&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;00&amp;gt; *** Booting Zephyr OS build v2.4.99-ncs2 ***&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;00&amp;gt; err is 0&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;00&amp;gt; Hello there, this is main app :)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Thanks for your help&amp;nbsp;&lt;span&gt;H&amp;aring;kon!&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Serial DFU with nRF9160 as DFU controller</title><link>https://devzone.nordicsemi.com/thread/326765?ContentTypeID=1</link><pubDate>Thu, 26 Aug 2021 11:57:07 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:90016f65-4847-4880-b1cc-13e3b2c8d9b3</guid><dc:creator>H&amp;#229;kon Alseth</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
[quote user="esisk"]Yes, I&amp;#39;m actually using a nRF52820 but shouldn&amp;#39;t make a significant difference. [/quote]
&lt;p&gt;&amp;nbsp;This makes a difference on the max. size of the partitions. The mcuboot_primary size must match the mcuboot_secondary partition size.&lt;/p&gt;
[quote user="esisk"]But it does not on boot and I actually just get a 0 error from boot_write_img_confirm() which is very confusing.[/quote]
&lt;p&gt;&amp;nbsp;0 is success, and if you are able to run this function on the updated device; it means that the image was booted.&lt;/p&gt;
&lt;p&gt;Could you please be explicit on which nRF-device is being updated, and is calling this function? What you are stating now indicates that you have both booted and not booted the new firmware.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Can you please share some logs / debug info related to your current scenario?&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Kind regards,&lt;/p&gt;
&lt;p&gt;Håkon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Serial DFU with nRF9160 as DFU controller</title><link>https://devzone.nordicsemi.com/thread/326603?ContentTypeID=1</link><pubDate>Wed, 25 Aug 2021 15:10:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6acdce2a-9105-44dd-9ab2-46d090b8bb22</guid><dc:creator>esisk</dc:creator><description>&lt;p&gt;Also, not sure if this makes a difference, but I&amp;#39;m using an overlay config for MCUBoot. Would that affect functionality somehow?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Serial DFU with nRF9160 as DFU controller</title><link>https://devzone.nordicsemi.com/thread/326590?ContentTypeID=1</link><pubDate>Wed, 25 Aug 2021 14:06:22 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d0950096-4b6a-44fe-afad-c4c03f394139</guid><dc:creator>esisk</dc:creator><description>&lt;p&gt;Is there maybe an issue with pm_static.yml not lining up with the flash partitions I defined in our board file? The partitions.yml file generated in the build directory (which is what I made pm_static) does not really make sense to me&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Serial DFU with nRF9160 as DFU controller</title><link>https://devzone.nordicsemi.com/thread/326589?ContentTypeID=1</link><pubDate>Wed, 25 Aug 2021 13:58:41 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:18ad2bcf-28b3-4b82-b03c-d7da88a65c80</guid><dc:creator>esisk</dc:creator><description>&lt;p&gt;Yes, I&amp;#39;m actually using a nRF52820 but shouldn&amp;#39;t make a significant difference. Anyway, I assume it means that it boots the image successfully and reverts but not entirely certain. Currently, I cannot enable UART logging for MCUBoot because it interferes with the UART communication between the 9160 and 820 during the DFU process which is strange. I assume it has something to do with the UART queue having data still in it from the MCUBoot log, not sure on this though. Maybe if I flushed the queue I could see the log and communicate between the two chips successfuly, but I can&amp;#39;t find anything in the docs about flushing the queue using NCS EDIT: I actually don&amp;#39;t think that it&amp;#39;s trying to boot the new image at all. I set CONFIG_UART_CONSOLE=n on the current image, then changed that to y, reloaded the project in SES and rebuilt, and put the new app_update.bin on AWS. So if MCUBoot was actually trying to boot the new image it would show the MCUBoot header right? But it does not on boot and I actually just get a 0 error from boot_write_img_confirm() which is very confusing.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Serial DFU with nRF9160 as DFU controller</title><link>https://devzone.nordicsemi.com/thread/326585?ContentTypeID=1</link><pubDate>Wed, 25 Aug 2021 13:45:16 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b416d35f-824b-466f-ac75-93984ad46bed</guid><dc:creator>H&amp;#229;kon Alseth</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
[quote user="esisk"]I am not getting any errors from dfu_target_mcuboot functions but I am getting -5 as an error from boot_write_img_confirmed() on reboot[/quote]
&lt;p&gt;This is on the nRF52840 side, right? Does this mean that it boots the image successfully, but is not able to verify itself, meaning that it will revert back after a reset?&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Could you please share the uart log?&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Kind regards,&lt;/p&gt;
&lt;p&gt;Håkon&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Serial DFU with nRF9160 as DFU controller</title><link>https://devzone.nordicsemi.com/thread/326570?ContentTypeID=1</link><pubDate>Wed, 25 Aug 2021 13:21:02 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:91b7e2d6-320e-4728-9f14-b6429e4d3502</guid><dc:creator>esisk</dc:creator><description>&lt;p&gt;The strange thing is I get no error message. No I don&amp;#39;t have a trace, but whenever I print the error messages from dfu_target_mcuboot library functions, I get 0s. Yes I&amp;#39;m calling boot_write_img_confirmed(). EDIT: Ok double checked and I am not getting any errors from dfu_target_mcuboot functions but I am getting -5 as an error from boot_write_img_confirmed() on reboot. EDIT 2: printed the value returned by boot_set_confirmed() and it is -4 which stands for BOOT_MAGIC_BAD&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Serial DFU with nRF9160 as DFU controller</title><link>https://devzone.nordicsemi.com/thread/326564?ContentTypeID=1</link><pubDate>Wed, 25 Aug 2021 13:10:39 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:06e1a53a-d029-4760-8c06-cb881e4d7f03</guid><dc:creator>H&amp;#229;kon Alseth</dc:creator><description>&lt;p&gt;What is the error message that you get? Do you have a debug trace or similar?&lt;/p&gt;
&lt;p&gt;Is your new update image calling &amp;quot;boot_write_img_confirmed()&amp;quot; ?&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Kind regards,&lt;/p&gt;
&lt;p&gt;Håkon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Serial DFU with nRF9160 as DFU controller</title><link>https://devzone.nordicsemi.com/thread/326555?ContentTypeID=1</link><pubDate>Wed, 25 Aug 2021 12:49:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0211dd6a-b1f9-46cf-8688-140246f0cf5d</guid><dc:creator>esisk</dc:creator><description>&lt;p&gt;I flashed it directly and the update worked as expected&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Serial DFU with nRF9160 as DFU controller</title><link>https://devzone.nordicsemi.com/thread/326548?ContentTypeID=1</link><pubDate>Wed, 25 Aug 2021 12:25:52 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:08892edc-c1cd-42c1-bcae-16e6e8898a6b</guid><dc:creator>H&amp;#229;kon Alseth</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Try flashing the build/zephyr/app_test_update.hex directly to the device you&amp;#39;re updating. This will show if the configuration&amp;nbsp;that&amp;nbsp;mcuboot expects is followed in the new application image.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Kind regards,&lt;/p&gt;
&lt;p&gt;Håkon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Serial DFU with nRF9160 as DFU controller</title><link>https://devzone.nordicsemi.com/thread/326388?ContentTypeID=1</link><pubDate>Tue, 24 Aug 2021 13:18:14 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:53528897-c9c2-4c48-bb93-49d0fd85b2a8</guid><dc:creator>esisk</dc:creator><description>&lt;p&gt;Hey&amp;nbsp;&lt;span&gt;H&amp;aring;kon,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Thanks for your response. Followed your instructions and still not updating. Any other common issues that I&amp;#39;m missing?&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Serial DFU with nRF9160 as DFU controller</title><link>https://devzone.nordicsemi.com/thread/326319?ContentTypeID=1</link><pubDate>Tue, 24 Aug 2021 10:09:25 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d16b5d49-2584-41fa-b26e-d8eeda921050</guid><dc:creator>H&amp;#229;kon Alseth</dc:creator><description>&lt;p&gt;Both your original firmware, and the &amp;quot;app_update.bin&amp;quot; firmware must share the exact same partition layout.&lt;/p&gt;
&lt;p&gt;You can find this in the build folder of your original project under application-v1/build/partitions.yml. Copy this to application-v2/pm_static.yml and rebuild.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Kind regards,&lt;/p&gt;
&lt;p&gt;Håkon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Serial DFU with nRF9160 as DFU controller</title><link>https://devzone.nordicsemi.com/thread/326222?ContentTypeID=1</link><pubDate>Mon, 23 Aug 2021 14:12:24 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:aae33c53-0249-4b88-859e-f9ebd9d37929</guid><dc:creator>esisk</dc:creator><description>&lt;p&gt;Hey Hung, I am downloading the image and sending it over UART successfully; however, the image does not seem to be loaded correctly on reboot. I changed the labels in my board file as described here:&amp;nbsp;&lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/mcuboot/readme-zephyr.html"&gt;Building and using MCUboot with Zephyr &amp;mdash; MCUboot 1.7.99 documentation (nordicsemi.com)&lt;/a&gt;&amp;nbsp;Is there something obvious I&amp;#39;m missing?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Serial DFU with nRF9160 as DFU controller</title><link>https://devzone.nordicsemi.com/thread/325326?ContentTypeID=1</link><pubDate>Tue, 17 Aug 2021 13:35:29 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:df5018b8-931f-4660-a2d8-1b2e1307f0dd</guid><dc:creator>H&amp;#229;kon Alseth</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;As a generic note, I must express that this is a proof-of-concept implementation which is not feature complete, and it&amp;#39;s provided as-is.&amp;nbsp;&lt;/p&gt;
[quote user="esisk"]I see that app_update.bin is tagged with a magic header at the beginning, and a uart magic header is added in order to trigger the uart dfu. I know you&amp;#39;re not too familiar with this code, but do you happen to know anything about generating magic headers when app_update.bin is created? I want to understand how to add a custom magic header so when I port over this code, I can utilize the dfu_target library[/quote]
&lt;p&gt;Here&amp;#39;s&amp;nbsp;the logic check&amp;nbsp;for application, modem delta, and full modem (more types to come if required):&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/nrfconnect/sdk-nrf/blob/v1.6.1/subsys/dfu/dfu_target/src/dfu_target.c#L43-L57"&gt;https://github.com/nrfconnect/sdk-nrf/blob/v1.6.1/subsys/dfu/dfu_target/src/dfu_target.c#L43-L57&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Normally you would use &amp;quot;imgtool.py&amp;quot; to generate the correct magic headers for the app update binary, but since this tool also uses this in the rest of the image, it is easier just to manually replace the first bytes with the uart magic header.&lt;/p&gt;
&lt;p&gt;This is the uart magic:&amp;nbsp;&lt;a href="https://github.com/plskeggs/sdk-nrf/commit/6baf0e006299bb69152cf3fb7e690985cdcbcb3b#diff-fc58c71f2315c9f063d8c3bd4b43e9aa7fd0e8b42c6cef8d4a8962f56e6144ebR9"&gt;https://github.com/plskeggs/sdk-nrf/commit/6baf0e006299bb69152cf3fb7e690985cdcbcb3b#diff-fc58c71f2315c9f063d8c3bd4b43e9aa7fd0e8b42c6cef8d4a8962f56e6144ebR9&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Here&amp;#39;s an example on how it should look in the binary itself&amp;nbsp;(build/zephyr/app_update.bin):&lt;/p&gt;
&lt;p&gt;&lt;img src="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/pastedimage1589892009966v3.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;For mcuboot to accept the image, the header must be swapped back again from &amp;quot;uart type&amp;quot; to mcuboot:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/plskeggs/sdk-nrf/commit/6baf0e006299bb69152cf3fb7e690985cdcbcb3b#diff-f4ac7128bd5b4b1b90b816602b814f6235fac82e3f67d8fc437b222a261cb7b4R167-R174"&gt;https://github.com/plskeggs/sdk-nrf/commit/6baf0e006299bb69152cf3fb7e690985cdcbcb3b#diff-f4ac7128bd5b4b1b90b816602b814f6235fac82e3f67d8fc437b222a261cb7b4R167-R174&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;This is to work around the restriction of the dfu_target library, which does not support &amp;quot;sub-types&amp;quot; of mcuboot-images (ie: targetting internal, external, transport A, transport B, etc).&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Kind regards,&lt;/p&gt;
&lt;p&gt;Håkon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Serial DFU with nRF9160 as DFU controller</title><link>https://devzone.nordicsemi.com/thread/324714?ContentTypeID=1</link><pubDate>Thu, 12 Aug 2021 16:59:25 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:92a0e6f0-3d02-4805-86a2-940fb7c3e548</guid><dc:creator>esisk</dc:creator><description>&lt;p&gt;I see that app_update.bin is tagged with a magic header at the beginning, and a uart magic header is added in order to trigger the uart dfu. I know you&amp;#39;re not too familiar with this code, but do you happen to know anything about generating magic headers when app_update.bin is created? I want to understand how to add a custom magic header so when I port over this code, I can utilize the dfu_target library&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Serial DFU with nRF9160 as DFU controller</title><link>https://devzone.nordicsemi.com/thread/324700?ContentTypeID=1</link><pubDate>Thu, 12 Aug 2021 15:04:55 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5fdca61e-08fd-42f1-85f4-247559057811</guid><dc:creator>esisk</dc:creator><description>&lt;p&gt;Thanks!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Serial DFU with nRF9160 as DFU controller</title><link>https://devzone.nordicsemi.com/thread/324698?ContentTypeID=1</link><pubDate>Thu, 12 Aug 2021 15:01:40 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0b0229ca-ed54-47bc-9fca-25115f417f20</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;I would suggest to try testing the code with v1.4.0 first and after you get it running, you can study the code and try to port it to v1.5.1.&lt;/p&gt;
&lt;p&gt;I&amp;#39;m not very familiar with the code but I think it&amp;#39;s better to try step by step.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Serial DFU with nRF9160 as DFU controller</title><link>https://devzone.nordicsemi.com/thread/324688?ContentTypeID=1</link><pubDate>Thu, 12 Aug 2021 13:46:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9e542cb4-7936-40c8-875a-ac86fada3498</guid><dc:creator>esisk</dc:creator><description>&lt;p&gt;Thanks Hung, do you think trying to use this code is going to be an issue if we&amp;#39;re using NCS v1.5.1?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Serial DFU with nRF9160 as DFU controller</title><link>https://devzone.nordicsemi.com/thread/324639?ContentTypeID=1</link><pubDate>Thu, 12 Aug 2021 10:54:16 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f4b482c6-381a-4cb1-aa4e-b5f2cb3be74e</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Ethan,&amp;nbsp;&lt;br /&gt;You should clone it to the NCS v1.4.0.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;Or you can look at these 2 commits to know what has been modified:&amp;nbsp;&lt;br /&gt;&lt;a href="https://github.com/plskeggs/sdk-nrf/commit/6baf0e006299bb69152cf3fb7e690985cdcbcb3b"&gt;https://github.com/plskeggs/sdk-nrf/commit/6baf0e006299bb69152cf3fb7e690985cdcbcb3b&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/plskeggs/sdk-nrf/commit/4c276b8107e003a3083b9ba17569d768670d39f2"&gt;https://github.com/plskeggs/sdk-nrf/commit/4c276b8107e003a3083b9ba17569d768670d39f2&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Serial DFU with nRF9160 as DFU controller</title><link>https://devzone.nordicsemi.com/thread/324554?ContentTypeID=1</link><pubDate>Wed, 11 Aug 2021 19:52:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f1126004-ae16-4b23-be0f-db0d4e896a7a</guid><dc:creator>esisk</dc:creator><description>&lt;p&gt;When building this, should I clone the repository into my current ncs directory? I have it cloned outside right now and getting issues with west build&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Serial DFU with nRF9160 as DFU controller</title><link>https://devzone.nordicsemi.com/thread/324274?ContentTypeID=1</link><pubDate>Tue, 10 Aug 2021 13:14:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1679ebd2-d7c1-42f8-9785-9041fd5e7ea6</guid><dc:creator>esisk</dc:creator><description>&lt;p&gt;Yes, both links take me to the same place&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Serial DFU with nRF9160 as DFU controller</title><link>https://devzone.nordicsemi.com/thread/324270?ContentTypeID=1</link><pubDate>Tue, 10 Aug 2021 13:12:23 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b39295d4-1b7b-4a3b-9dba-526e88f99213</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Ethan,&amp;nbsp;&lt;br /&gt;Isn&amp;#39;t the lte_uart_dfu.c located inside \lib\lte_uart_dfu here:&amp;nbsp;&lt;a href="https://github.com/plskeggs/sdk-nrf/tree/feature-uart-dfu-v1.4.0/lib/lte_uart_dfu"&gt;https://github.com/plskeggs/sdk-nrf/tree/feature-uart-dfu-v1.4.0/lib/lte_uart_dfu&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Serial DFU with nRF9160 as DFU controller</title><link>https://devzone.nordicsemi.com/thread/324269?ContentTypeID=1</link><pubDate>Tue, 10 Aug 2021 13:11:26 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:08be1250-0578-4f08-b30d-3934a886b4fd</guid><dc:creator>esisk</dc:creator><description>&lt;p&gt;Nevermind, I found the file here:&amp;nbsp;&lt;a href="https://github.com/plskeggs/sdk-nrf/tree/feature-uart-dfu-v1.4.0/lib/lte_uart_dfu"&gt;sdk-nrf/lib/lte_uart_dfu at feature-uart-dfu-v1.4.0 &amp;middot; plskeggs/sdk-nrf (github.com)&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Serial DFU with nRF9160 as DFU controller</title><link>https://devzone.nordicsemi.com/thread/324251?ContentTypeID=1</link><pubDate>Tue, 10 Aug 2021 12:55:34 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:dc9b79cb-9736-42da-b6f3-38039f224aac</guid><dc:creator>esisk</dc:creator><description>&lt;p&gt;Thanks for the link Hung. Is there a way for me to view the source code for lte_uart_dfu.c? I can&amp;#39;t find it in the repo and this precooked sample is not useful for me since I&amp;#39;m using a custom board and not DKs.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>