<?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>nRF52810 DFU attempt #2</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/35120/nrf52810-dfu-attempt-2</link><description>I&amp;#39;m trying to set up DFU for a custom board with a nRF52810 module (Rigado BMD-330). I created the secure bootloader from the recent project for SDK 15 posted by Vidar Berg. All seems to be working and I can connect to the DFUTARG. The DFU download works</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 19 Jun 2018 05:46:59 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/35120/nrf52810-dfu-attempt-2" /><item><title>RE: nRF52810 DFU attempt #2</title><link>https://devzone.nordicsemi.com/thread/136645?ContentTypeID=1</link><pubDate>Tue, 19 Jun 2018 05:46:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a8d8acab-667c-470a-b6fb-ff51ab528cf9</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Thanks for the update.&amp;nbsp;I agree, we shouldn&amp;#39;t reserve 3 pages on the 52810,&amp;nbsp;glad you noticed it.&lt;/p&gt;
&lt;p&gt;Vidar&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF52810 DFU attempt #2</title><link>https://devzone.nordicsemi.com/thread/136614?ContentTypeID=1</link><pubDate>Mon, 18 Jun 2018 18:00:57 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9999e4f9-0490-4c77-ba90-e67d64ed7f6c</guid><dc:creator>maxx44</dc:creator><description>&lt;p&gt;I got everything working, but it wasn&amp;#39;t easy.&amp;nbsp; I&amp;#39;ll outline the steps below for anyone else struggling with this and maybe it will help.&amp;nbsp; The most significant hurdle was to eliminate the application preserve pages.&amp;nbsp; I do not think Nordic should have 3 pages of flash reserved for a nRF52810.&amp;nbsp; My final application size was around 55 KB using GCC and there was only 60 KB of flash left after loading the SoftDevice and the bootloader.&lt;/p&gt;
&lt;p&gt;Good work on the nRF52810 bootloader!&amp;nbsp; It seems to be running well.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Development/Debug steps:&lt;/p&gt;
&lt;p&gt;1. Set up the existing application program to run on nRF52832 and the nRF52 DK.&amp;nbsp; For me, this required reconfiguring LEDs and an ADC channel.&lt;/p&gt;
&lt;p&gt;2. Merge the Buttonless DFU Service into the application.&amp;nbsp; Run with nRF52832 bootloader and S132 SoftDevice.&amp;nbsp; Use ble_app_buttonless_dfu SDK example for guidance on what to include in the program as well as how to set up the project or GCC Makefile.&amp;nbsp; Verify operation of everything (application and DFU Service) from nRF Connect.&lt;/p&gt;
&lt;p&gt;3. Migrate the project to a nRF52810 using the PCA10040e setup.&amp;nbsp; Run on the nRF52 DK with the nRF52810 bootloader and S112 SoftDevice.&amp;nbsp; Note that this will reduce the flash available significantly.&amp;nbsp; I found I had to set the application preserve pages in nrf_dfu_types.h to 0 using:&amp;nbsp;#define DFU_APP_DATA_RESERVED&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(CODE_PAGE_SIZE * 0).&amp;nbsp; Again, v&lt;span&gt;erify operation of everything (application and DFU Service) from nRF Connect.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;4. Migrate the project to the nRF52810 board.&amp;nbsp; Reconfigure peripherals and GPIO as required.&amp;nbsp; Use the PCA10040e config or Makefile to not have the&amp;nbsp;DEVELOP_IN_NRF52832 setting.&amp;nbsp; &amp;nbsp;Verify operation of everything (application and DFU Service) from nRF Connect.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;So far I&amp;#39;ve been using DFU to load the application.&amp;nbsp; I still have to figure out how to load the application directly to flash from either nRFgo Studio or nrfjprog, but I&amp;#39;m confident I can do that now that I have a working application.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Thanks for the outstanding support with this.&amp;nbsp; I&amp;#39;ll mark this as answered.&amp;nbsp; Much more testing to be done!&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Max&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF52810 DFU attempt #2</title><link>https://devzone.nordicsemi.com/thread/136040?ContentTypeID=1</link><pubDate>Thu, 14 Jun 2018 06:38:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:de99216b-2cd3-42ad-8088-3efe8ae0605b</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Hi Max,&lt;/p&gt;
&lt;p&gt;Glad you found it helpful. You may also want to have a look at this blog post by Hung Bui&amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/b/blog/posts/getting-started-with-nordics-secure-dfu-bootloader"&gt;here&lt;/a&gt;. Merging of settings page is explained in Appendix 1.&lt;/p&gt;
&lt;p&gt;Yes, Bank 0 code 0x1 indicates a valid application. Here is the settings structure for reference:&amp;nbsp;&lt;a href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.sdk5.v15.0.0/structnrf__dfu__settings__t.html"&gt;http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.sdk5.v15.0.0/structnrf__dfu__settings__t.html&lt;/a&gt;&amp;nbsp; &amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF52810 DFU attempt #2</title><link>https://devzone.nordicsemi.com/thread/135937?ContentTypeID=1</link><pubDate>Wed, 13 Jun 2018 13:04:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:79d32a38-1d8b-41e6-a55e-964f4a253700</guid><dc:creator>maxx44</dc:creator><description>&lt;p&gt;Vidar,&lt;/p&gt;
&lt;p&gt;Thanks so much!&amp;nbsp; Great helpful information.&lt;/p&gt;
&lt;p&gt;I&amp;#39;m working my way through it and we&amp;#39;ll see how I make out.&lt;/p&gt;
&lt;p&gt;I did try to generate a bootloader settings file and merge it with the bootloader.&amp;nbsp; I noticed in the info displayed it reports:&lt;/p&gt;
&lt;p&gt;Bank0 Bank Code: 0x00000001&lt;/p&gt;
&lt;p&gt;Is this the code that indicates a valid application?&lt;/p&gt;
&lt;p&gt;Max&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF52810 DFU attempt #2</title><link>https://devzone.nordicsemi.com/thread/135484?ContentTypeID=1</link><pubDate>Mon, 11 Jun 2018 07:11:40 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9fd46418-9a40-41a3-b75a-3e7c14a4c6c6</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;I did not enable debug logging in the bootloader port I provided earlier as it would significantly increase the code size. If you wish to enable it you first need to adjust the bootloader start address downwards in order to allocate more flash space, like we have done for the bootloader *_debug projects. Start address is set in the linker script (*.ld file adjacent to Makefile). Once you have adjusted the start address&amp;nbsp;you can enable the logger module in sdk_config.h and rebuild the bootloader.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;quot;I found the application with the Buttonless DFU Service will not run without a valid bootloader present so I&amp;#39;d like to set up the bootloader + bootloader settings to run with a valid application so I can load everything into flash and execute the application.&amp;nbsp; I&amp;#39;m not clear on the details of how to set the bootloader settings to do this, so some specific how-to information would be helpful.&amp;quot;&lt;/p&gt;
&lt;p&gt;The buttonless service requires the bootloader to be present in order to set up the&amp;nbsp;&lt;a href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.sdk5.v15.0.0/lib_svc.html?cp=4_0_0_3_47"&gt;supervisor call interface&lt;/a&gt;&amp;nbsp;between application and bootlaoder.&amp;nbsp; The settings page can be generated with nrfutil as explained here:&amp;nbsp;&lt;a href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.tools/dita/tools/nrfutil/nrfutil_settings_generate_display.html?cp=5_5_6"&gt;http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.tools/dita/tools/nrfutil/nrfutil_settings_generate_display.html?cp=5_5_6&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;E.g., Generate and upload settings page&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;nrfutil settings generate --family NRF52810 --application &amp;lt;app.hex&amp;gt; --application-version &amp;lt;version number&amp;gt; --bootloader-version &lt;/code&gt;&amp;lt;version number&amp;gt;&lt;/pre&gt;
&lt;pre&gt;&lt;code&gt;--bl-settings-version 1 settings.hex &amp;amp;&amp;amp; nrfjprog --program settings.hex --sectorerase -r&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;span style="font-family:georgia, palatino, serif;"&gt;&lt;span style="font-family:&amp;#39;trebuchet ms&amp;#39;, geneva, sans-serif;"&gt;You can run the 52810 bootloader on a 52832 IC.&lt;/span&gt; &lt;/span&gt;&lt;/pre&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF52810 DFU attempt #2</title><link>https://devzone.nordicsemi.com/thread/135437?ContentTypeID=1</link><pubDate>Sat, 09 Jun 2018 22:18:01 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f2330300-4266-4ed4-b8f6-82b80d80d7b8</guid><dc:creator>maxx44</dc:creator><description>&lt;p&gt;I made the changes Vidar suggested and the application compiled with my GCC Makefile.&amp;nbsp; The other files in the link I referenced were for SDK 14 and didn&amp;#39;t apply to my environment.&lt;/p&gt;
&lt;p&gt;Unfortunately, the application with the Buttonless DFU Service added does not appear to initialize on my custom nRF52810 board and I have to figure some way to debug it.&amp;nbsp; Since I have no visibility to my custom board, I&amp;#39;m going to try and go back to developing for nRF52810 in the nRF52 DK board and review the log information displayed.&amp;nbsp; This involves redefining some GPIO, but not too difficult.&amp;nbsp; Hopefully this will give some clues where it&amp;#39;s failing via the log messages.&lt;/p&gt;
&lt;p&gt;I found the application with the Buttonless DFU Service will not run without a valid bootloader present so I&amp;#39;d like to set up the bootloader + bootloader settings to run with a valid application so I can load everything into flash and execute the application.&amp;nbsp; I&amp;#39;m not clear on the details of how to set the bootloader settings to do this, so some specific how-to information would be helpful.&lt;/p&gt;
&lt;p&gt;I&amp;#39;m also not sure the nRF5810 bootloader will run on the nRF52832 on the nRF52 DK board.&amp;nbsp; Should I be using a nRF52832 bootloader instead?&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Later .........&lt;/p&gt;
&lt;p&gt;Max&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF52810 DFU attempt #2</title><link>https://devzone.nordicsemi.com/thread/134974?ContentTypeID=1</link><pubDate>Wed, 06 Jun 2018 13:46:12 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:22f05bc2-a825-44c5-ab21-4d19a51ae509</guid><dc:creator>maxx44</dc:creator><description>&lt;p&gt;Thanks Vidar,&lt;/p&gt;
&lt;p&gt;I&amp;#39;ll give that a try.&lt;/p&gt;
&lt;p&gt;I also found some guidance and updated files at:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/27185/52810-how-to-use-dfu"&gt;https://devzone.nordicsemi.com/f/nordic-q-a/27185/52810-how-to-use-dfu&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I&amp;#39;ll let you know how it goes.&lt;/p&gt;
&lt;p&gt;Max&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF52810 DFU attempt #2</title><link>https://devzone.nordicsemi.com/thread/134932?ContentTypeID=1</link><pubDate>Wed, 06 Jun 2018 12:16:13 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e7b53e35-70cb-4e6b-889c-bbb01abf35a8</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Hi Max,&lt;/p&gt;
&lt;p&gt;I saw the same problem when I made the bootloader project. The pre-processor check in dfu_types.h does not include check for NRF52810_XXA, which is why you get the &amp;quot;Architecture not set.&amp;quot; error.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Here is the change I made:&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="diff"&gt;diff --git a/components/libraries/bootloader/dfu/nrf_dfu_types.h b/components/libraries/bootloader/dfu/nrf_dfu_types.h
index 5ccd290..db6b918 100644
--- a/components/libraries/bootloader/dfu/nrf_dfu_types.h
+++ b/components/libraries/bootloader/dfu/nrf_dfu_types.h
@@ -72,7 +72,7 @@ extern &amp;quot;C&amp;quot; {
  */
 #if defined(NRF51)
     #define CODE_PAGE_SIZE            (PAGE_SIZE_IN_WORDS * sizeof(uint32_t))
-#elif defined(NRF52) || defined(NRF52840_XXAA)
+#elif defined(NRF52) || defined(NRF52840_XXAA) || defined(NRF52810_XXAA)
     #define CODE_PAGE_SIZE            (MBR_PAGE_SIZE_IN_WORDS * sizeof(uint32_t))
 #else
     #error &amp;quot;Architecture not set.&amp;quot;
diff --git a/components/libraries/bootloader/nrf_bootloader_app_start_final.c b/components/libraries/bootloader/nrf_bootloader_app_start_final.c
index a818322..dde759b 100644&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>