<?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>Replace S132 with S112</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/40925/replace-s132-with-s112</link><description>My application is a BLE peripheral and will only allow a single connection to a BLE central. Hardware will be nRF52832. My test application was based on a Nordic example that uses S132. It looks like I could save some flash if I use S112 instead of S132</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 30 Nov 2018 15:55:33 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/40925/replace-s132-with-s112" /><item><title>RE: Replace S132 with S112</title><link>https://devzone.nordicsemi.com/thread/159760?ContentTypeID=1</link><pubDate>Fri, 30 Nov 2018 15:55:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d0163b2b-a726-4ec6-bf28-0f9fde236264</guid><dc:creator>mchartier</dc:creator><description>&lt;p&gt;Andreas, Thanks for your detailed response!&lt;/p&gt;
&lt;p&gt;From your response I can see the missing step for me was to change FLASH_START and FLASH_SIZE in my application build settings. Once I did that I was able to create a single HEX image containing the bootloader, S112, and application and then boot the system and get the application to run normally. After that it was easy to get DFU working again.&lt;/p&gt;
&lt;p&gt;I appologize if I did not communicate the problem clearly. There was never a problem with the DFU upgrade itself, the problem was just getting the DFU application to boot up.&lt;/p&gt;
&lt;p&gt;Based on your response I went back into the SoftDevice Specification and found the section about memory usage. Here it gives some clues about how you need to build your application to be compatible with the SoftDevice flash locations. This is the info I was missing.&lt;/p&gt;
&lt;p&gt;I did run into one problem with your instructions regarding the bootloader. In my case I had to skip the steps where you change the FLASH_XXX macros in the bootloader project. If I made this change I was not able to build the single HEX image containing all three images. When I ran hexmerge it reported an error about overlapping sections. So instead I just used the original values for the bootloader project.&lt;/p&gt;
&lt;p&gt;So to summarize for the benefit of anyone else trying this, here are the steps to replace S132 with S112 and get your application running again:&lt;/p&gt;
&lt;p&gt;1) Modify your application&lt;br /&gt;1.1) Go to your application folder and copy the entire folder pca10040\s132 to pca10040\s112&lt;br /&gt;1.2) Modify your project file to use S112 instead of S132&lt;br /&gt;1.2.1) In my case I use SES so I opened my project file (pca10040\s112\ses\application.emProject) in a text editor &lt;br /&gt;1.2.2) Do a global replace: 132 --&amp;gt; 112 &lt;br /&gt;1.2.3) Change your flash section placement macros to align with the S112 requirements: FLASH_START=0x19000;FLASH_SIZE=0x67000&lt;br /&gt;1.2.4) Build&lt;/p&gt;
&lt;p&gt;2) Modify your bootloader. In my case I am using examples\dfu\secure_bootloader&lt;br /&gt;2.1) Create a new copy of your bootloader project file. In my case I use SES so I copied secure_bootloader_ble_s132_pca10040.emProject to secure_bootloader_ble_s112_pca10040.emProject&lt;br /&gt;1.2) Modify your bootloader project file to use S112 instead of S132&lt;br /&gt;1.2.1) In my case I use SES so I opened my project file in a text editor &lt;br /&gt;1.2.2) Do a global replace: 132 --&amp;gt; 112 &lt;br /&gt;1.2.3) Delete your Output folder and do a full build&lt;/p&gt;
&lt;p&gt;3) Create a single hex image. This example works on Windows:&lt;/p&gt;
&lt;p&gt;set blHex=D:\Nordic\nRF5_SDK_15.2.0\examples\dfu\secure_bootloader\pca10040_ble\ses\Output\Release\Exe\secure_bootloader_ble_s112_pca10040.hex&lt;br /&gt;set sdHex=D:\Nordic\nRF5_SDK_15.2.0\components\softdevice\s112\hex\s112_nrf52_6.1.0_softdevice.hex&lt;br /&gt;set appHex=D:\Nordic\nRF5_SDK_15.2.0\examples\ble_peripheral\YourApplication\pca10040\s112\ses\Output\Debug\Exe\YourApplication.hex&lt;/p&gt;
&lt;p&gt;nrfutil settings generate --family NRF52 --application %appHex% --application-version 1 --bootloader-version 1 --bl-settings-version 1 bootloader_settings.hex&lt;/p&gt;
&lt;p&gt;mergehex -m %blHex% bootloader_settings.hex -o bootloaderAndSettings.hex&lt;br /&gt;mergehex -m bootloaderAndSettings.hex %sdHex% %appHex% -o packageFull.hex&lt;/p&gt;
&lt;p&gt;4) Burn to flash. I just copy the HEX file to the Segger J-Link drive like so:&lt;/p&gt;
&lt;p&gt;copy packageFull.hex f:&lt;/p&gt;
&lt;p&gt;5) Your application should be booting normally now.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Replace S132 with S112</title><link>https://devzone.nordicsemi.com/thread/159683?ContentTypeID=1</link><pubDate>Fri, 30 Nov 2018 11:31:54 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5feae452-207c-44a0-8e48-e9fd122ecaeb</guid><dc:creator>AndreasF</dc:creator><description>&lt;p&gt;Hi.&lt;/p&gt;
&lt;p&gt;Sorry for the late reply, I tried to answer you yesterday, but the reply got very long, so here it is today.&lt;/p&gt;
&lt;p&gt;I can try to clarify more:&lt;/p&gt;
&lt;p&gt;If you have a bootloader and an application you wish to use for a DFU, the right settings for this DFU &lt;strong&gt;.zip file&lt;/strong&gt; must be given when you create it.&lt;/p&gt;
&lt;p&gt;With that in background, there should not be any issues if your &lt;strong&gt;application&lt;/strong&gt; runs &lt;strong&gt;standalone&lt;/strong&gt;, and your bootloader also runs &lt;strong&gt;standalone&lt;/strong&gt;, to use this &lt;strong&gt;application &lt;/strong&gt;as the upgrade firmware. But, if the &lt;strong&gt;DFU Packet&lt;/strong&gt; is generated with the wrong settings, the &lt;strong&gt;bootloader will&lt;/strong&gt; have a bad time running the application. It might not know what the &lt;strong&gt;application&lt;/strong&gt; start address is, or the end address. Since this is dependent on the &lt;strong&gt;SoftDevice&lt;/strong&gt;. &lt;strong&gt;Therefore,&lt;/strong&gt; it is essential that if you wish to do a &lt;strong&gt;DFU&lt;/strong&gt; where you change &lt;strong&gt;SoftDevice version&lt;/strong&gt; you include this when you generate the &lt;strong&gt;DFU packet.&lt;/strong&gt;&amp;nbsp; Also, if the SoftDevice version is to be changed, a&amp;nbsp;&lt;strong&gt;bootloader&lt;/strong&gt; with the SoftDevice version of the new firmware is required.&lt;strong&gt; &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;So, I will try to walk you through the process a bit more:&lt;/p&gt;
&lt;p&gt;To do a DFU where we change the &lt;strong&gt;applications SoftDevice&lt;/strong&gt; we require 3 items in our DFU packet:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Bootloader with SoftDevice S112 v6.1.0&lt;/li&gt;
&lt;li&gt;Application with SoftDevice S112 v6.1.0&lt;/li&gt;
&lt;li&gt;SoftDevice S112 v6.1.0&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;We also need a bootloader with SoftDevice S132 v6.1.0.&lt;/p&gt;
&lt;p&gt;So lets start.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt; Bootloader with SoftDevice S132 v6.1.0&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;I used the bootloader project found in &lt;strong&gt;nRF5_SDK_15.2.0_9412b96\examples\dfu\secure_bootloader\pca10040_ble&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;You need to have a key which you use to verify the DFU packet.&lt;/p&gt;
&lt;p&gt;This can be created by doing the following, which is explained on the &lt;span&gt;&lt;a href="http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.tools%2Fdita%2Ftools%2Fnrfutil%2Fnrfutil_keys_generate_display.html&amp;amp;cp=5_5_5"&gt;infocenter&lt;/a&gt;&lt;/span&gt;:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Use the nrfutil command:&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;em&gt;nrfutil keys generate private.pem&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;In a command window. This command will create a key file.&lt;/p&gt;
&lt;p&gt;Open the &lt;strong&gt;bootloader&lt;/strong&gt; project. And &lt;span&gt;&lt;a href="http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.gs.ses%2Fdita%2Fgs%2Fdeveloping%2Fadd_file_ses.html"&gt;create a new file&lt;/a&gt;&lt;/span&gt; called &lt;strong&gt;dfu_public_key.c&lt;/strong&gt; in the &lt;strong&gt;Application &lt;/strong&gt;folder, if its there already you dont have to create a new one.&lt;/p&gt;
&lt;p&gt;Use the nrfutil command:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;nrfutil keys display --key pk --format code private.pem&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;To display the content of the key file in your command window, like this:&lt;/p&gt;
&lt;p&gt;&lt;img src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/support-attachments/beef5d1b77644c448dabff31668f3a47-864d60aa3c93498eb8097443b798f51e/pastedimage1543572295123v1.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;You should now copy the output from the &lt;strong&gt;keys display&lt;/strong&gt; command and replace it with the existing code in &lt;strong&gt;dfu_public_key.c&lt;/strong&gt;, In my case this was the code I pasted and replaced the code in &lt;strong&gt;dfu_public_key.c:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;/* This file was automatically generated by nrfutil on 2018-11-29 (YY-MM-DD) at 14:43:06 */

#include &amp;quot;sdk_config.h&amp;quot;
#include &amp;quot;stdint.h&amp;quot;
#include &amp;quot;compiler_abstraction.h&amp;quot;

#if NRF_CRYPTO_BACKEND_OBERON_ENABLED
/* Oberon backend is changing endianness thus public key must be kept in RAM. */
#define _PK_CONST
#else
#define _PK_CONST const
#endif


/** @brief Public key used to verify DFU images */
__ALIGN(4) _PK_CONST uint8_t pk[64] =
{
    0xb4, 0xbf, 0x71, 0x80, 0x25, 0x9f, 0x6c, 0xaf, 0x88, 0xd5, 0xfd, 0x03, 0xcf, 0x64, 0xa1, 0x87, 0xef, 0x79, 0xf0, 0x4f, 0xf1, 0x63, 0x36, 0x23, 0xea, 0xd9, 0xff, 0x9f, 0xc9, 0xd9, 0x92, 0x3d,
    0x88, 0xa6, 0xd1, 0xf2, 0x7f, 0xd6, 0xbc, 0x6d, 0x83, 0x78, 0xb7, 0xc7, 0xd3, 0xb1, 0xb3, 0xbe, 0x73, 0x5c, 0x3f, 0x89, 0xd5, 0xbe, 0x39, 0x07, 0xed, 0x2f, 0x25, 0xa4, 0xc2, 0xc7, 0x65, 0x68
};


&lt;/pre&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;NOTE: Do not use the code I have pasted here, you have to use the code generated from your own key.&lt;/p&gt;
&lt;p&gt;You can now compile the project, and the project should compile without errors. You have no made a bootloader which requires a private key, and the bootloader is using SoftDevice S132 v6.1.0.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2. Create the Application which uses SoftDevice S112 v6.1.0&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I used the UART example project, but you can use whatever you like&lt;/p&gt;
&lt;p&gt;I just compiled the project found in the folder &lt;strong&gt;nRF5_SDK_15.2.0_9412b96\examples\ble_peripheral\ble_app_uart\pca10040\s112&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The projects found in &lt;strong&gt;pca10040\s112&lt;/strong&gt; folders are setup for nRF52832 Boards and uses SoftDevice S112 v6.1.0.&lt;/p&gt;
&lt;p&gt;If you would like to use a project which does not have a &lt;strong&gt;pca10040\s112&lt;/strong&gt; &lt;strong&gt;folder&lt;/strong&gt;, you have to set this up yourself by doing the following:&lt;/p&gt;
&lt;p&gt;Copy the &lt;strong&gt;pca10040\s132&lt;/strong&gt; &lt;strong&gt;folder&lt;/strong&gt;, and open your preferred IDE and do the following modifications:&lt;/p&gt;
&lt;p&gt;1. Change two of the include paths from:&lt;/p&gt;
&lt;p style="margin:0px;text-indent:0px;"&gt;../../../../../../components/softdevice/s132/headers&lt;br /&gt;../../../../../../components/softdevice/s132/headers/nrf52&lt;/p&gt;
&lt;p style="margin:0px;text-indent:0px;"&gt;&lt;/p&gt;
&lt;p style="margin:0px;text-indent:0px;"&gt;To:&lt;/p&gt;
&lt;p style="margin:0px;text-indent:0px;"&gt;&lt;/p&gt;
&lt;p style="margin:0px;text-indent:0px;"&gt;../../../../../../components/softdevice/s112/headers&lt;/p&gt;
&lt;p style="margin:0px;text-indent:0px;"&gt;../../../../../../components/softdevice/s112/headers/nrf52&lt;/p&gt;
&lt;p style="margin:0px;text-indent:0px;"&gt;&lt;/p&gt;
&lt;p style="margin:0px;text-indent:0px;"&gt;2. Change the SoftDevice included to:&lt;/p&gt;
&lt;p style="margin:0px;text-indent:0px;"&gt;nRF5_SDK_15.2.0_9412b96/components/softdevice/s112/hex/s112_nrf52_6.1.0_softdevice.hex&lt;/p&gt;
&lt;p style="margin:0px;text-indent:0px;"&gt;&lt;/p&gt;
&lt;p style="margin:0px;text-indent:0px;"&gt;3. Edit the preprocessor definition &lt;strong&gt;S132 &lt;/strong&gt;to &lt;strong&gt;S112&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style="margin:0px;text-indent:0px;"&gt;4. Edit the Section Placement Macros to:&lt;/p&gt;
&lt;p style="margin:0px;text-indent:0px;"&gt;&lt;/p&gt;
&lt;p style="margin:0px;text-indent:0px;"&gt;FLASH_PH_START=0x0&lt;/p&gt;
&lt;p style="margin:0px;text-indent:0px;"&gt;FLASH_PH_SIZE=0x80000&lt;/p&gt;
&lt;p style="margin:0px;text-indent:0px;"&gt;RAM_PH_START=0x20000000&lt;/p&gt;
&lt;p style="margin:0px;text-indent:0px;"&gt;RAM_PH_SIZE=0x10000&lt;/p&gt;
&lt;p style="margin:0px;text-indent:0px;"&gt;FLASH_START=0x19000&lt;/p&gt;
&lt;p style="margin:0px;text-indent:0px;"&gt;FLASH_SIZE=0x67000&lt;/p&gt;
&lt;p style="margin:0px;text-indent:0px;"&gt;RAM_START=0x20002500&lt;/p&gt;
&lt;p style="margin:0px;text-indent:0px;"&gt;RAM_SIZE=0xdb00&lt;/p&gt;
&lt;p style="margin:0px;text-indent:0px;"&gt;&lt;/p&gt;
&lt;p style="margin:0px;text-indent:0px;"&gt;It should now compile without any errors&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3. Create the Bootloader which uses SoftDevice S112 v6.1.0&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Here, I used the &lt;strong&gt;secure_bootloader project &lt;/strong&gt;(nRF5_SDK_15.2.0_9412b96\examples\dfu\secure_bootloader\pca10040_ble) and did the same thing as I would have done above if I had used a project which did not have a &lt;strong&gt;pca10040\s112&lt;/strong&gt; folder, That is:&lt;/p&gt;
&lt;p&gt;Copy the &lt;strong&gt;pca10040\s132&lt;/strong&gt; &lt;strong&gt;folder&lt;/strong&gt;, and open your preferred IDE and do the following modifications:&lt;/p&gt;
&lt;p&gt;1. Changed two of the include paths from:&lt;/p&gt;
&lt;p style="margin:0px;text-indent:0px;"&gt;../../../../../../components/softdevice/s132/headers&lt;br /&gt;../../../../../../components/softdevice/s132/headers/nrf52&lt;/p&gt;
&lt;p style="margin:0px;text-indent:0px;"&gt;&lt;/p&gt;
&lt;p style="margin:0px;text-indent:0px;"&gt;To:&lt;/p&gt;
&lt;p style="margin:0px;text-indent:0px;"&gt;&lt;/p&gt;
&lt;p style="margin:0px;text-indent:0px;"&gt;../../../../../../components/softdevice/s112/headers&lt;/p&gt;
&lt;p style="margin:0px;text-indent:0px;"&gt;../../../../../../components/softdevice/s112/headers/nrf52&lt;/p&gt;
&lt;p style="margin:0px;text-indent:0px;"&gt;&lt;/p&gt;
&lt;p style="margin:0px;text-indent:0px;"&gt;2. Changed the SoftDevice included to:&lt;/p&gt;
&lt;p style="margin:0px;text-indent:0px;"&gt;nRF5_SDK_15.2.0_9412b96/components/softdevice/s112/hex/s112_nrf52_6.1.0_softdevice.hex&lt;/p&gt;
&lt;p style="margin:0px;text-indent:0px;"&gt;&lt;/p&gt;
&lt;p style="margin:0px;text-indent:0px;"&gt;3. Edit the preprocessor definition &lt;strong&gt;S132 &lt;/strong&gt;to &lt;strong&gt;S112&lt;/strong&gt;&lt;/p&gt;
&lt;p style="margin:0px;text-indent:0px;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style="margin:0px;text-indent:0px;"&gt;4. Edit the Section Placement Macros to:&lt;/p&gt;
&lt;p style="margin:0px;text-indent:0px;"&gt;&lt;/p&gt;
&lt;p style="margin:0px;text-indent:0px;"&gt;FLASH_PH_START=0x0&lt;/p&gt;
&lt;p style="margin:0px;text-indent:0px;"&gt;FLASH_PH_SIZE=0x80000&lt;/p&gt;
&lt;p style="margin:0px;text-indent:0px;"&gt;RAM_PH_START=0x20000000&lt;/p&gt;
&lt;p style="margin:0px;text-indent:0px;"&gt;RAM_PH_SIZE=0x10000&lt;/p&gt;
&lt;p style="margin:0px;text-indent:0px;"&gt;FLASH_START=0x19000&lt;/p&gt;
&lt;p style="margin:0px;text-indent:0px;"&gt;FLASH_SIZE=0x67000&lt;/p&gt;
&lt;p style="margin:0px;text-indent:0px;"&gt;RAM_START=0x20002500&lt;/p&gt;
&lt;p style="margin:0px;text-indent:0px;"&gt;RAM_SIZE=0xdb00&lt;/p&gt;
&lt;p style="margin:0px;text-indent:0px;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style="margin:0px;text-indent:0px;"&gt;It should now compile without any errors&lt;/p&gt;
&lt;ol start="4"&gt;
&lt;li&gt;&lt;strong&gt; Create the DFU packet&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Make sure you have the latest nrfutil, by running the command &lt;strong&gt;pip install nrfutil&lt;/strong&gt; in your preferred command window.&lt;/p&gt;
&lt;p&gt;I use the information about generating a &lt;strong&gt;DFU &lt;/strong&gt;packet found on the &lt;span&gt;&lt;a href="http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.tools%2Fdita%2Ftools%2Fnrfutil%2Fnrfutil_pkg.html"&gt;infocenter &lt;/a&gt;&lt;/span&gt;to write the following command:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;nrfutil pkg generate --hw-version 52 --sd-req 0xAF,0xB0 --application-version 4 --application &amp;lt;application_hex_file_name&amp;gt;.hex --softdevice s112_nrf52_6.1.0_softdevice.hex --bootloader &amp;lt;bootloader_with_s112v6.1.0_hex_file_name&amp;gt;.hex  --bootloader-version 2 --sd-id 0xB0 --key-file private.pem &amp;lt;dfu_packet_name&amp;gt;.zip&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;This command gave me this output:&lt;/p&gt;
&lt;p&gt;&lt;img src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/support-attachments/beef5d1b77644c448dabff31668f3a47-864d60aa3c93498eb8097443b798f51e/pastedimage1543573201119v2.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;I opened the nRF Connect Bluetooth Low Energy Application and connected to the bootloader DfuTarg, and clicked on the DFU button, selected the file and started:&lt;/p&gt;
&lt;p&gt;Start of transfer:&lt;/p&gt;
&lt;p&gt;&lt;img src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/support-attachments/beef5d1b77644c448dabff31668f3a47-864d60aa3c93498eb8097443b798f51e/pastedimage1543573325483v3.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;During transfer:&lt;/p&gt;
&lt;p&gt;&lt;img src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/support-attachments/beef5d1b77644c448dabff31668f3a47-864d60aa3c93498eb8097443b798f51e/pastedimage1543573343913v4.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;Completed:&lt;/p&gt;
&lt;p&gt;&lt;img src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/support-attachments/beef5d1b77644c448dabff31668f3a47-864d60aa3c93498eb8097443b798f51e/pastedimage1543577305422v5.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;And after I&amp;#39;ve completed the transfer, the name of the devices has changed to Nordic_Buttonless, as expected:&lt;/p&gt;
&lt;p&gt;&lt;img src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/support-attachments/beef5d1b77644c448dabff31668f3a47-864d60aa3c93498eb8097443b798f51e/pastedimage1543577347344v6.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;I hope this will make things clearer, and sorry for the late reply.&lt;/p&gt;
&lt;p&gt;Best regards.&lt;/p&gt;
&lt;p&gt;Andreas&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Replace S132 with S112</title><link>https://devzone.nordicsemi.com/thread/159537?ContentTypeID=1</link><pubDate>Thu, 29 Nov 2018 11:53:14 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:85786ed7-8837-4472-ab5c-cdd6fbaad522</guid><dc:creator>mchartier</dc:creator><description>&lt;p&gt;I did not get that far. I am back at step 1 where I am just burning hex images to flash. I use the DFU boot loader, S132, and DFU application. That combination will boot normally. But if I replace S132 with S112 the application does not run. It just boots into the boot loader.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Below is the console output when I use S132.&amp;nbsp; When I use S112 there is no output on the console at all.&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;&amp;lt;info&amp;gt; app: Setting vector table to bootloader: 0x00072000
&amp;lt;LF&amp;gt;&amp;lt;info&amp;gt; app: Setting vector table to main app: 0x00026000
&amp;lt;LF&amp;gt;&amp;lt;info&amp;gt; app: Buttonless DFU Application started.
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Also, I understand your comments about the ZIP package and nrfutil. When I use S132 I have no problem creating ZIP package and executing the DFU. And I understand I need to change the SD version number to B0 when I use S112. However at this point I cannot event get the DFU application to boot when I use S112.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;/b&gt;Another data point:&amp;nbsp; I replaced S132 6.1.0 with S132 6.1.1 and everything worked including the DFU with ZIP package. I used&amp;nbsp;&lt;strong&gt;--sd-req 0xB7&lt;/strong&gt;&amp;nbsp;for this test.&amp;nbsp;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Replace S132 with S112</title><link>https://devzone.nordicsemi.com/thread/159504?ContentTypeID=1</link><pubDate>Thu, 29 Nov 2018 09:11:27 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9031ee49-333d-43af-8de6-36003f079992</guid><dc:creator>AndreasF</dc:creator><description>&lt;p&gt;Hi.&lt;/p&gt;
&lt;p&gt;Have you used the right settings when you created your &lt;strong&gt;.zip &lt;/strong&gt;packet?&lt;/p&gt;
&lt;p&gt;If you look at the command &lt;strong&gt;nrfutil pgk generate --help&lt;/strong&gt;, you see the following options:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;λ nrfutil pkg generate --help
Usage: nrfutil pkg generate [OPTIONS] ZIPFILE

  Generate a zip package for distribution to apps that support Nordic DFU
  OTA. The application, bootloader, and SoftDevice files are converted to
  .bin if supplied as .hex files. For more information on the generated
  package, see: http://developer.nordicsemi.com/nRF5_SDK/doc/

  The following combinations are supported by this command:

  * BL only: Supported.

  * SD only: Supported (SD of same Major Version).

  * APP only: Supported.

  * BL + SD: Supported.

  * BL + APP: Not supported (use two packages instead).

  * BL + SD + APP: Supported.

  * SD + APP: Supported (SD of same Major Version).

Options:
  --debug-mode                    Debug mode switch, enables version check
                                  skipping.
  --application TEXT              The application firmware file.
  --application-version INTEGER   The application version.
  --application-version-string TEXT
                                  The application version string, e.g
                                  &amp;quot;2.7.31&amp;quot;.
  --bootloader TEXT               The bootloader firmware file.
  --bootloader-version INTEGER    The bootloader version.
  --hw-version INTEGER            The hardware version.  [required]
  --sd-req TEXT                   The SoftDevice requirements. A comma-
                                  separated list of SoftDevice firmware IDs (1
                                  or more) of which one must be present on the
                                  target device. Each item on the list must be
                                  a two- or four-digit hex number prefixed
                                  with &amp;quot;0x&amp;quot; (e.g. &amp;quot;0x12&amp;quot;, &amp;quot;0x1234&amp;quot;).
                                  A non-
                                  exhaustive list of well-known values to use
                                  with this option follows:
                                  |s112_nrf52_6.0.0|0xA7|
                                  |s112_nrf52_6.1.0|0xB0|
                                  |s130_nrf51_1.0.0|0x67|
                                  |s130_nrf51_2.0.0|0x80|
                                  |s132_nrf52_2.0.0|0x81|
                                  |s130_nrf51_2.0.1|0x87|
                                  |s132_nrf52_2.0.1|0x88|
                                  |s132_nrf52_3.0.0|0x8C|
                                  |s132_nrf52_3.1.0|0x91|
                                  |s132_nrf52_4.0.0|0x95|
                                  |s132_nrf52_4.0.2|0x98|
                                  |s132_nrf52_4.0.3|0x99|
                                  |s132_nrf52_4.0.4|0x9E|
                                  |s132_nrf52_4.0.5|0x9F|
                                  |s132_nrf52_5.0.0|0x9D|
                                  |s132_nrf52_5.1.0|0xA5|
                                  |s132_nrf52_6.0.0|0xA8|
                                  |s132_nrf52_6.1.0|0xAF|
                                  |s140_nrf52_6.0.0|0xA9|
                                  |s140_nrf52_6.1.0|0xAE|  [required]
  --sd-id TEXT                    The new SoftDevice ID to be used as --sd-req
                                  for the Application update in case the ZIP
                                  contains a SoftDevice and an Application.
  --softdevice TEXT               The SoftDevice firmware file.
  --key-file PATH                 The private (signing) key in PEM fomat.
  --zigbee BOOLEAN                Create an image and distribution package for
                                  Zigbee DFU server.
  --zigbee-manufacturer-id INTEGER
                                  Manufacturer ID to be used in Zigbee OTA
                                  header.
  --zigbee-image-type INTEGER     Image type to be used in Zigbee OTA header.
  --zigbee-comment TEXT           Firmware comment to be used in Zigbee OTA
                                  header.
  --help                          Show this message and exit.
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Note: Make sure you have the latest nrfutil version by running the command &lt;strong&gt;pip install nrfutil&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;If you want to have your new firmware using SoftDevice S112 V6.1.0, then you have to use &lt;strong&gt;--sd-req 0xB0&lt;/strong&gt;, when you generate the packet. Did you do this?&lt;/p&gt;
&lt;p&gt;Some more information about generating a packet is found in the infocenter &lt;a href="http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.tools%2Fdita%2Ftools%2Fnrfutil%2Fnrfutil_pkg.html"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Try this and see if it works by using &lt;strong&gt;--sd-req 0xB0&lt;/strong&gt; to generate the packet.&lt;/p&gt;
&lt;p&gt;Best regards.&lt;/p&gt;
&lt;p&gt;Andreas&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Replace S132 with S112</title><link>https://devzone.nordicsemi.com/thread/159444?ContentTypeID=1</link><pubDate>Wed, 28 Nov 2018 16:43:00 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:093fad32-6684-4240-b731-63fb9d0e9d08</guid><dc:creator>mchartier</dc:creator><description>&lt;p&gt;I burned flash with S112 but now my application does not run.&amp;nbsp; There must be more steps required to change from one version of SoftDevice to another.&amp;nbsp; Is this documented anywhere?&lt;/p&gt;
&lt;p&gt;My environment:&amp;nbsp; nRF52 DK, SDK 15.2, SD 6.1.0, SES v3.52&lt;/p&gt;
&lt;p&gt;My bootloader was built from examples/dfu//secure_bootloader&lt;/p&gt;
&lt;p&gt;My application was built from examples/ble_peripheral/ble_app_buttonless_dfu&lt;/p&gt;
&lt;p&gt;When I use S132 the DFU application runs normally and I can load a ZIP package.&amp;nbsp; When I replace S132 with S112 the board does not run the application. Instead it just runs the bootloader and LED-1 and LED-2 are on solid.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I went into the SES project files and found a couple places where S132 was used. I replaced those with S112.&amp;nbsp; I did this in the bootloader project and the application project.&amp;nbsp; However there was no change in behavior.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Replace S132 with S112</title><link>https://devzone.nordicsemi.com/thread/159373?ContentTypeID=1</link><pubDate>Wed, 28 Nov 2018 09:03:37 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:62a5e40f-83b8-463e-9633-56e9f146ab5f</guid><dc:creator>AndreasF</dc:creator><description>&lt;p&gt;Hi.&lt;/p&gt;
&lt;p&gt;If you want to move from &lt;a href="http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.s132.api.v6.1.0%2Findex.html&amp;amp;cp=2_3_1_1_0"&gt;S132 v6.1.0 &lt;/a&gt;to &lt;a href="http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.s112.api.v6.1.0%2Findex.html&amp;amp;cp=2_3_0_1_0"&gt;S112 v6.1.0&lt;/a&gt;, then you will not need any migration guide as the peripheral API in both will be the same. In S112 there is no central support, so all its relavant API is stripped away in S112 to save space.&lt;/p&gt;
&lt;p&gt;Best regards.&lt;/p&gt;
&lt;p&gt;Andreas&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Replace S132 with S112</title><link>https://devzone.nordicsemi.com/thread/159274?ContentTypeID=1</link><pubDate>Tue, 27 Nov 2018 15:05:26 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9d13db9a-f348-4673-b0d8-5ef3e3ed3359</guid><dc:creator>mchartier</dc:creator><description>&lt;p&gt;Thanks. The compatibility matrix checks out. Is there a guide that shows the steps needed to change the SoftDevice?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Replace S132 with S112</title><link>https://devzone.nordicsemi.com/thread/159158?ContentTypeID=1</link><pubDate>Tue, 27 Nov 2018 07:57:15 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b64dbb09-1dea-4182-8611-5546a76d4b76</guid><dc:creator>AndreasF</dc:creator><description>&lt;p&gt;Hi.&lt;/p&gt;
&lt;p&gt;This depends on what SDK you use and which IC revision your board is.&lt;/p&gt;
&lt;p&gt;We have a compability matrix for SDK and SoftDevice &lt;a href="http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.nrf52%2Fdita%2Fnrf52%2Fcompatibility_matrix%2Fic_rev_sdk_sd_comp_matrix.html&amp;amp;cp=2_1_3_2"&gt;here&lt;/a&gt;, and the different IC revisions are listed &lt;a href="http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.nrf52%2Fdita%2Fnrf52%2Fcompatibility_matrix%2Fic_revision_overview.html&amp;amp;cp=2_1_3_0"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If you only have one peripheral, it should be a good choice.&lt;/p&gt;
&lt;p&gt;Best regards.&lt;/p&gt;
&lt;p&gt;Andreas&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>