<?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>Issue with Application loading after migration from SDK 14.2 to SDK 15.3</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/50954/issue-with-application-loading-after-migration-from-sdk-14-2-to-sdk-15-3</link><description>I am running custom firmware on a custom board using an nRF52832 chip. I have encountered an issue after migrating my project from SDK 14.2 to SDK 15.3. The issue is that my application is not starting and it occurs on two different occasions: 
 
 After</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 29 Aug 2019 11:14:08 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/50954/issue-with-application-loading-after-migration-from-sdk-14-2-to-sdk-15-3" /><item><title>RE: Issue with Application loading after migration from SDK 14.2 to SDK 15.3</title><link>https://devzone.nordicsemi.com/thread/206836?ContentTypeID=1</link><pubDate>Thu, 29 Aug 2019 11:14:08 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b68e307a-7c9f-47aa-8adf-b0f3f1fbaabc</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;OK, we can continue on the private case.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Issue with Application loading after migration from SDK 14.2 to SDK 15.3</title><link>https://devzone.nordicsemi.com/thread/206727?ContentTypeID=1</link><pubDate>Wed, 28 Aug 2019 22:11:25 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:346f3068-aab4-47dc-bf32-1cdcc3db4707</guid><dc:creator>Adam Gordon</dc:creator><description>&lt;p&gt;Hi Hung,&lt;/p&gt;
&lt;p&gt;Yes, when I now do debugging, I program and reset my device using nrfjprog and then use Target -&amp;gt; Attach debugger to do debugging.&lt;/p&gt;
[quote userid="2121" url="~/f/nordic-q-a/50954/issue-with-application-loading-after-migration-from-sdk-14-2-to-sdk-15-3/206681"]In&amp;nbsp;the step &amp;quot;&lt;span&gt;Test Again Using NRFJPROG&amp;quot; do you mean that if you connect and use SEGGER to debug, you have trouble after that ?&lt;/span&gt;[/quote]
&lt;p&gt;No, the trouble occurs before connecting and using Segger to debug. Essentially what I&amp;#39;m trying to say is that if I have the application running without issue and then power cycle my device, my application will not restart and run. Adding the addition comments about attaching the debugger was to shown when the application was running without issue and when it wasn&amp;#39;t.&lt;/p&gt;
[quote userid="2121" url="~/f/nordic-q-a/50954/issue-with-application-loading-after-migration-from-sdk-14-2-to-sdk-15-3/206681"]- Adding some more LED pattern inside the bootloader, so we know if the bootloader is executed, and if it forward to the application[/quote]
&lt;p&gt;I added an LED pattern inside the bootloader just before nrf_bootloader_init(), and in every scenario the bootloader was executed. However I did start doing a little bit of debugging and noticed something that may or may not be worth mentioning.&lt;/p&gt;
&lt;p&gt;I performed two separate DFUs, one with an application that just flashes some LEDs (and is a functioning app without any over the above issues), and one with our application that does not start after a DFU.&lt;/p&gt;
&lt;p&gt;After performing a DFU with the LED app, the bootloader LED sequence executed twice (I&amp;#39;m assuming that means the bootloader was restarted twice). The LED app was then started.&lt;/p&gt;
&lt;p&gt;After performing a DFU with our application, the bootloader LED sequence executed three times. I followed the bootloader execution in Segger and noticed that after bootloader restarted twice, it called app_start() and had the address of 0x1000, but that is when the bootloader restarted for the third time.&lt;/p&gt;
&lt;p&gt;I feel like that behaviour wasn&amp;#39;t supposed to occur. Not sure if that gives you any addition information to work with.&lt;/p&gt;
[quote userid="2121" url="~/f/nordic-q-a/50954/issue-with-application-loading-after-migration-from-sdk-14-2-to-sdk-15-3/206681"]If you can provide an minimal code that we can test here with the NRF52 DK it would be easier to find the root cause.[/quote]
&lt;p&gt;As was recommended, I&amp;#39;ve opened a private ticket that I will send you the link to in a private message. Thanks.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Issue with Application loading after migration from SDK 14.2 to SDK 15.3</title><link>https://devzone.nordicsemi.com/thread/206681?ContentTypeID=1</link><pubDate>Wed, 28 Aug 2019 14:29:25 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e13691a0-4dbf-42cc-82dc-8b7b773540ee</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Adam,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I assume when you do debugging you have followed the suggestion from Daniel so that Segger wouldn&amp;#39;t erase MBR, Softdevice ?&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I am not sure what could be wrong here.&lt;/p&gt;
&lt;p&gt;In&amp;nbsp;the step &amp;quot;&lt;span&gt;Test Again Using NRFJPROG&amp;quot; do you mean that if you connect and use SEGGER to debug, you have trouble after that ? What you can do is to make a hex dump (nrfjprog --readcode) before and after connecting Segger and then compare to see what changed. You would also need to read UICR (nrfjprog --readuicr)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;For further debugging I would suggest:&amp;nbsp;&lt;/p&gt;
&lt;p&gt;- Adding some more LED pattern inside the bootloader, so we know if the bootloader is executed, and if it forward to the application&lt;/p&gt;
&lt;p&gt;- Strip down the application until it would work with DFU update. (for example only do LED blinking). To do that you can just add an infinite loop in your code. Then you can gradually more this loop down until you can reproduce the issue.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;If you can provide an minimal code that we can test here with the NRF52 DK it would be easier to find the root cause.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Issue with Application loading after migration from SDK 14.2 to SDK 15.3</title><link>https://devzone.nordicsemi.com/thread/206464?ContentTypeID=1</link><pubDate>Tue, 27 Aug 2019 22:41:20 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7eeb0ce5-c2ce-4815-bb91-a19ca1a11dd8</guid><dc:creator>Adam Gordon</dc:creator><description>&lt;p&gt;Hi Hung,&lt;/p&gt;
&lt;p&gt;I&amp;#39;m sorry I wasn&amp;#39;t more specific in my last reply. When I used Target -&amp;gt; Attach debugger, I no longer ran into the fds_init() issue that we were previously discussing (the BOOTLOADER_ADDRESS macro was returning the correct value). Unfortunately the issue of our application not starting after a successful DFU or after a power cycle persisted.&lt;/p&gt;
&lt;div&gt;But now that the FDS issue was no longer clouding our troubleshooting, I continued trying to isolate the underlying issue further. I discovered some odd behaviour that I was hoping you might be able to help with.&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;I was trying to figure out why our application can load and run without issue when programmed using nrfjprog, but runs into issues when loaded via DFU. I will write out the steps I took and their results:&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size:large;"&gt;Build and Generate:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;1. Build full application (nothing commented out) in debug build.&lt;/div&gt;
&lt;div&gt;2. Generate DFU package using the following command (names changed for clarity):&lt;/div&gt;
&lt;div style="margin-left:40px;"&gt;nrfutil pkg generate --hw-version 52 --sd-req 0xB7 --application-version 1 --application application.hex --key-file private.key dfu_package.zip&lt;/div&gt;
&lt;div&gt;3. Generate bootloader settings using the following command:&lt;/div&gt;
&lt;div style="margin-left:40px;"&gt;nrfutil settings generate --no-backup --family NRF52 --application application.hex --application-version 1 --bootloader-version 1 --bl-settings-version 1 bootloader_settings.hex&lt;/div&gt;
&lt;div style="margin-left:40px;"&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size:large;"&gt;Load and Run Using NRFJPROG&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size:large;"&gt;&lt;span style="font-size:small;"&gt;1. Load and run the application using nrfjprog with the following commands:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-left:40px;"&gt;nrfjprog --recover&lt;br /&gt;nrfjprog --program s132_nrf52_6.1.1_softdevice.hex&lt;br /&gt;nrfjprog --program ble_bootloader.hex &lt;br /&gt;nrfjprog --program bootloader_settings.hex&lt;br /&gt;nrfjprog --program application.hex&lt;br /&gt;nrfjprog --reset&lt;/div&gt;
&lt;div&gt;2. The application then starts and runs without issue. &lt;span style="background-color:#00ff00;"&gt;&lt;span class="emoticon" data-url="https://devzone.nordicsemi.com/cfs-file/__key/system/emoji/2714.svg" title="Heavy check mark"&gt;&amp;#x2714;&lt;/span&gt;️&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="background-color:#00ff00;"&gt;&lt;span style="background-color:#ffffff;"&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="background-color:#00ff00;"&gt;&lt;span style="background-color:#ffffff;"&gt;&lt;span&gt;&lt;span style="font-size:large;"&gt;Load and Run Using DFU&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="background-color:#00ff00;"&gt;&lt;span style="background-color:#ffffff;"&gt;&lt;span&gt;&lt;span style="font-size:large;"&gt;&lt;span style="font-size:small;"&gt;1. Load and run the bootloader using nrfjprog with the following commands:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-left:40px;"&gt;&lt;span style="background-color:#00ff00;"&gt;&lt;span style="background-color:#ffffff;"&gt;&lt;span&gt;&lt;/span&gt;nrfjprog --recover&lt;br /&gt;nrfjprog --program s132_nrf52_6.1.1_softdevice.hex&lt;br /&gt;nrfjprog --program ble_bootloader.hex &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-left:40px;"&gt;&lt;span style="background-color:#00ff00;"&gt;&lt;span style="background-color:#ffffff;"&gt;nrfjprog --reset&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="background-color:#00ff00;"&gt;&lt;span style="background-color:#ffffff;"&gt;2. Open dfu_package.zip in nRF Toolbox iOS app and perform DFU on &amp;quot;DfuTarg&amp;quot;.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="background-color:#00ff00;"&gt;&lt;span style="background-color:#ffffff;"&gt;3. The DFU progresses and completes without issue, but application&amp;#39;s LED pattern never shows.&amp;nbsp;&lt;span class="emoticon" data-url="https://devzone.nordicsemi.com/cfs-file/__key/system/emoji/274c.svg" title="X"&gt;&amp;#x274c;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="background-color:#00ff00;"&gt;&lt;span style="background-color:#ffffff;"&gt;4. Attach debugger in Segger and restart application from Main. Fails right away at NRF_LOG_INIT() &lt;span class="emoticon" data-url="https://devzone.nordicsemi.com/cfs-file/__key/system/emoji/274c.svg" title="X"&gt;&amp;#x274c;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="background-color:#00ff00;"&gt;&lt;span style="background-color:#ffffff;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="background-color:#00ff00;"&gt;&lt;span style="background-color:#ffffff;"&gt;&lt;span style="font-size:large;"&gt;Test Again Using NRFJPROG&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="background-color:#00ff00;"&gt;&lt;span style="background-color:#ffffff;"&gt;&lt;span style="font-size:small;"&gt;1. Repeat step 1 from &amp;quot;Load and Run Using NRFJPROG&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="background-color:#00ff00;"&gt;&lt;span style="background-color:#ffffff;"&gt;&lt;span style="font-size:small;"&gt;2. The application then starts and runs without issue. &lt;span class="emoticon" data-url="https://devzone.nordicsemi.com/cfs-file/__key/system/emoji/2714.svg" title="Heavy check mark"&gt;&amp;#x2714;&lt;/span&gt;️&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="background-color:#00ff00;"&gt;&lt;span style="background-color:#ffffff;"&gt;3. Attach debugger in Segger and restart application from Main. Application runs without issue. &lt;span style="font-size:small;"&gt;&lt;span class="emoticon" data-url="https://devzone.nordicsemi.com/cfs-file/__key/system/emoji/2714.svg" title="Heavy check mark"&gt;&amp;#x2714;&lt;/span&gt;️&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;b&gt;&lt;span style="background-color:#00ff00;"&gt;&lt;span style="background-color:#ffffff;"&gt;4. Unplug device from power.&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="background-color:#00ff00;"&gt;&lt;span style="background-color:#ffffff;"&gt;&lt;b&gt;5. Plug device back into power.&lt;/b&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="background-color:#00ff00;"&gt;&lt;span style="background-color:#ffffff;"&gt;6. The application&amp;#39;s LED pattern never shows &lt;span class="emoticon" data-url="https://devzone.nordicsemi.com/cfs-file/__key/system/emoji/274c.svg" title="X"&gt;&amp;#x274c;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="background-color:#00ff00;"&gt;&lt;span style="background-color:#ffffff;"&gt;7. Attach debugger in Segger and restart application from Main. Fails right away at NRF_LOG_INIT() &lt;span class="emoticon" data-url="https://devzone.nordicsemi.com/cfs-file/__key/system/emoji/274c.svg" title="X"&gt;&amp;#x274c;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="background-color:#00ff00;"&gt;&lt;span style="background-color:#ffffff;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="background-color:#00ff00;"&gt;&lt;span style="background-color:#ffffff;"&gt;&lt;span style="font-size:large;"&gt;Check to See if it is a Reset Issue&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;div&gt;&lt;span style="background-color:#00ff00;"&gt;&lt;span style="background-color:#ffffff;"&gt;&lt;span style="font-size:small;"&gt;1. Repeat step 1 from &amp;quot;Load and Run Using NRFJPROG&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="background-color:#00ff00;"&gt;&lt;span style="background-color:#ffffff;"&gt;&lt;span style="font-size:small;"&gt;2. The application then starts and runs without issue. &lt;span class="emoticon" data-url="https://devzone.nordicsemi.com/cfs-file/__key/system/emoji/2714.svg" title="Heavy check mark"&gt;&amp;#x2714;&lt;/span&gt;️&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span style="background-color:#00ff00;"&gt;&lt;span style="background-color:#ffffff;"&gt;3. Reset the device using nrfjprog with the following command&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-left:40px;"&gt;&lt;span style="background-color:#00ff00;"&gt;&lt;span style="background-color:#ffffff;"&gt;nrfjprog --reset&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;&lt;span style="background-color:#00ff00;"&gt;&lt;span style="background-color:#ffffff;"&gt;&lt;span style="font-size:small;"&gt;4. The application then starts and runs without issue. &lt;span class="emoticon" data-url="https://devzone.nordicsemi.com/cfs-file/__key/system/emoji/2714.svg" title="Heavy check mark"&gt;&amp;#x2714;&lt;/span&gt;️&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;span style="background-color:#00ff00;"&gt;&lt;span style="background-color:#ffffff;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="background-color:#00ff00;"&gt;&lt;span style="background-color:#ffffff;"&gt;It&amp;#39;s worth mentioning that the issue isn&amp;#39;t specific to NRF_LOG_INIT() since I&amp;#39;ve tried removing it and it just fails at the next init() function I call anyway. It&amp;#39;s also worth mentioning that I tried resetting the device using nrfjprog --pinreset and it showed the same behaviour as a power cycle. &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="background-color:#00ff00;"&gt;&lt;span style="background-color:#ffffff;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="background-color:#00ff00;"&gt;&lt;span style="background-color:#ffffff;"&gt;So I guess my question would be, is there a reason why the same application that loads and runs without issue using nrfjprog is not able to run properly when loaded and started via DFU? And is it the same reason why a properly loaded and running program no longer runs without issue after being power cycled? &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="background-color:#00ff00;"&gt;&lt;span style="background-color:#ffffff;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="background-color:#00ff00;"&gt;&lt;span style="background-color:#ffffff;"&gt;The issue seems to present in a very similar fashion, but what would cause it?&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="background-color:#00ff00;"&gt;&lt;span style="background-color:#ffffff;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="background-color:#00ff00;"&gt;&lt;span style="background-color:#ffffff;"&gt;Once again I really appreciate the help.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Issue with Application loading after migration from SDK 14.2 to SDK 15.3</title><link>https://devzone.nordicsemi.com/thread/206462?ContentTypeID=1</link><pubDate>Tue, 27 Aug 2019 21:27:15 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f5f51af7-2371-4130-bd5d-37143bbe8776</guid><dc:creator>Daniel Veilleux</dc:creator><description>&lt;p&gt;Hello Hung, it wasn&amp;#39;t that the application was modifying the MBR -- SES was erasing the MBR page and reflashing the SoftDevice when Adam started the debugger. Using Target -&amp;gt; Attach prevents SES from modifying the flash.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Issue with Application loading after migration from SDK 14.2 to SDK 15.3</title><link>https://devzone.nordicsemi.com/thread/206094?ContentTypeID=1</link><pubDate>Mon, 26 Aug 2019 11:56:54 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:54beb784-06e8-437a-a1ca-e7305d1a1304</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Adam,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;It&amp;#39;s really strange that the application would touch the MBR area. Do you have&amp;nbsp;any code that may set the attribute to the MBR address (0-0x1000) ?&amp;nbsp;&lt;/p&gt;
&lt;p&gt;If you can provide the hex file that reproduce the problem I can have a look.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Issue with Application loading after migration from SDK 14.2 to SDK 15.3</title><link>https://devzone.nordicsemi.com/thread/205726?ContentTypeID=1</link><pubDate>Fri, 23 Aug 2019 02:21:30 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:fa38ac50-6f57-4283-8de4-bc6baddda293</guid><dc:creator>Adam Gordon</dc:creator><description>&lt;p&gt;Hi Hung,&lt;/p&gt;
&lt;p&gt;I was able to be in touch with one of your colleagues in Anaheim today, and they helped me work through some of the details of this issue. Essentially the MBR_BOOTLOADER_ADDR loaded into memory location 0xFF8 was correctly set at 0x78000 when the softdevice and bootloader were loaded, but for some reason, when using Segger to load the application, the value in 0xFF8 was being overwritten to 0xFFFFFFFF.&lt;/p&gt;
&lt;p&gt;However, that did not happen when the app was loaded via nrfjprog or via DFU (the value remained 0x78000). So that was significantly throwing off our troubleshooting. I am now working through the issue with that knowledge in mind to better isolate the main problem.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Issue with Application loading after migration from SDK 14.2 to SDK 15.3</title><link>https://devzone.nordicsemi.com/thread/205675?ContentTypeID=1</link><pubDate>Thu, 22 Aug 2019 15:15:03 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f60f630d-9f88-4c04-939c-db179a2d33c6</guid><dc:creator>Adam Gordon</dc:creator><description>&lt;p&gt;Hi Hung,&lt;/p&gt;
&lt;p&gt;Good point, I have my own set of public/private keys that I will use with the examples to test the flash_fds app.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;As for the BOOTLOADER_ADDRESS macro, unfortunately I&amp;rsquo;m currently not in the office, but I looked into it a lot yesterday so will try to respond from memory to see if we can resolve this issue today.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Yes we do have that macro inside app_util.h. I believe MBR_BOOTLOADER_ADDR was 0xFF8, pointing to a value of 0xFFFFFFFF. flash_end_addr() ended up returning 0x80000 because one of the lines of code has something that resembled two _sz being multiplied together.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m sorry if that&amp;rsquo;s not 100% detailed or clear, I&amp;rsquo;m going off memory, but I wanted to be able to respond before you left for the day. I&amp;rsquo;m not in tomorrow and would like to get this resolved before the weekend, if possible.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Thanks.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Issue with Application loading after migration from SDK 14.2 to SDK 15.3</title><link>https://devzone.nordicsemi.com/thread/205667?ContentTypeID=1</link><pubDate>Thu, 22 Aug 2019 14:43:04 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:eb74b920-4d6d-478e-a04c-be8304c02372</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Adam,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I assume you have your own private key use with your bootloader ? You mentioned that you can do OTA DFU with your application ?&amp;nbsp;&lt;/p&gt;
&lt;p&gt;If you want to test the flash_fds you should either generate a .zip file of the hex or generate at bootloader setting. I attached here the .zip file and the bootloader setting I used. Saw no issue with the example.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Could you please double check what exactly return in flash_end_addr() ?&amp;nbsp; when you have the bootloader installed and the application installed.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Especially check if you have this inside app_util.h&lt;/p&gt;
&lt;p&gt;&lt;em&gt;#define BOOTLOADER_ADDRESS&amp;nbsp; &amp;nbsp; &amp;nbsp; ((*(uint32_t *)MBR_BOOTLOADER_ADDR) == 0xFFFFFFFF ? *MBR_UICR_BOOTLOADER_ADDR : *(uint32_t *)MBR_BOOTLOADER_ADDR)&amp;nbsp;&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;The bootloader address should point to the start address of your bootloader.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I suspect that since we don&amp;#39;t write to&amp;nbsp;&lt;em&gt;MBR_UICR_BOOTLOADER_ADDR&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/em&gt;any more it could cause an issue if you don&amp;#39;t have correct&amp;nbsp;&amp;nbsp;&lt;em&gt;BOOTLOADER_ADDRESS&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/em&gt;&lt;span&gt; macro .&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/support-attachments/beef5d1b77644c448dabff31668f3a47-54277fcc3d2d4ae9b1ab83b3041e0f3b/flash_5F00_fds.hex"&gt;devzone.nordicsemi.com/.../flash_5F00_fds.hex&lt;/a&gt;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/support-attachments/beef5d1b77644c448dabff31668f3a47-54277fcc3d2d4ae9b1ab83b3041e0f3b/bootloader_5F00_settings.hex"&gt;devzone.nordicsemi.com/.../bootloader_5F00_settings.hex&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Issue with Application loading after migration from SDK 14.2 to SDK 15.3</title><link>https://devzone.nordicsemi.com/thread/205385?ContentTypeID=1</link><pubDate>Wed, 21 Aug 2019 15:47:24 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:74aac0d7-f6f8-4863-b450-2b48c2b29429</guid><dc:creator>Adam Gordon</dc:creator><description>&lt;p&gt;Hi Hung,&lt;/p&gt;
&lt;p&gt;So I ran my application without loading the bootloader and the start and end addresses were 0x7D000 and 0x80000. I then ran the application with the bootloader loaded and the start and end addresses were the same. I&amp;#39;m assuming this is the issue since it overlaps with the bootloader&amp;#39;s location in memory?&lt;/p&gt;
&lt;p&gt;Also, I checked for data stored using Segger and there doesn&amp;#39;t seem to be anything stored right before the bootloader (see image below).&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/4/Screen-Shot-2019_2D00_08_2D00_21-at-12.04.43-PM.png" /&gt;&lt;/p&gt;
&lt;p&gt;As for reproducing the issue with the flash_fds example, I wish I could have tested it by performing a DFU, however a DFU package for the flash_fds example was not provided in the test images in the SDK, and since I do not have the private key of the SDK, I could not generate a DFU package on my own.&lt;/p&gt;
&lt;p&gt;I actually tested it two ways with the same results. The first way I did it was load the bootloader project file into Segger and build and run. And then load the flash_fds project file into Segger and build and run. Also, I tried using nrfjprog to program the softdevice (with --chiperase) and then program the bootloader right after (with --reset). And then once that ran I used Segger to build and run the flash_fds example.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;EDIT: I tried hardcoding the end_addr value in flash_bounds_set() to 0x78000 to see if that would resolve the issue and I got some interesting results. If I load and run the bootloader (with softdevice loaded) using nrfjprog and then use Segger to build and run my application, it now loads and runs properly! Also, if I use nrfjprog to load the softdevice, bootloader, and bootloader settings and then reset the chip, allow the bootloader to run, and then load my application and reset the chip, the application runs properly. HOWEVER, I tried only loading and running the bootloader+softdevice to then load the application using OTA DFU from the bootloader and the application did NOT start. It&amp;#39;s also worth mentioning that in the instances where I got the application to start running properly (with the hardcoded value), the application did not restart after a power cycle.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Issue with Application loading after migration from SDK 14.2 to SDK 15.3</title><link>https://devzone.nordicsemi.com/thread/205284?ContentTypeID=1</link><pubDate>Wed, 21 Aug 2019 11:25:39 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:241c4467-e01d-406d-a9be-cbdb1ef6b5b5</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Adam,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I think we are getting closer to the problem.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I&amp;#39;m suspecting the change in the start address of the bootloader can cause the issue on the new SDK. The reason is that fds would detect where the bootloader is (or if the bootloader exist) and then allocate the data space accordingly.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;We need to check if it allocated the area correctly. Could you add a breakpoint inside&amp;nbsp;flash_subsystem_init() and check&amp;nbsp;what&amp;#39;s the&amp;nbsp;end_addr and the&amp;nbsp; start_addr inside flash_bounds_set() function&amp;nbsp; ?&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Also could you do a hex dump (nrfjprog --readcode) and check if there is any data stored in the pages right before the bootloader (0x78000 or 0x72000 if you use bootloader debug version)&lt;/p&gt;
&lt;p&gt;Regarding reproducing the issue with flash_fds example, could you let me know how you tested it ?&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Did you flash softdevice and bootloader. And then you did DFU update using a .zip file of the flash_fds example ?&lt;/p&gt;
&lt;p&gt;Or you flash the flash_fds using the programmer and change the bootloader setting to accept that image ?&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Issue with Application loading after migration from SDK 14.2 to SDK 15.3</title><link>https://devzone.nordicsemi.com/thread/205130?ContentTypeID=1</link><pubDate>Tue, 20 Aug 2019 17:26:53 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f7d34474-f05c-4263-8d74-af0718c8130c</guid><dc:creator>Adam Gordon</dc:creator><description>[quote userid="2121" url="~/f/nordic-q-a/50954/issue-with-application-loading-after-migration-from-sdk-14-2-to-sdk-15-3/204965"]Strip down your application to a minimal function, for example blinking an LED. If it works after an DFU, you can start testing with more feature until it stop.[/quote]
&lt;p&gt;The error occurs when calling fds_init(). Specifically, pages_init() returns with a value of NO_PAGES.&lt;/p&gt;
&lt;p&gt;This, however, only occurs after bootloader code was run. If I erase all and then run only the application, pages_init() returns FRESH_INSTALL and things work normally.&lt;/p&gt;
&lt;p&gt;From this, I have come to understand that because the bootloader writes to flash storage, my application is no longer able to initialize fds properly. How can I get around this issue?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;EDIT: To further isolate the issue, and to hopefully allow you to reproduce it on your end, I programmed and ran the secure ble bootloader example from the SDK (with softdevice loaded) on a PCA10040 DK and then ran the flash_fds example from the SDK and encountered the same issue. If I then erased all on the device and ran the flash_fds example on it&amp;#39;s own, it functioned properly. If I loaded and ran the bootloader and then ran the flash_fds example, I would get the issue with CLI output of:&lt;/p&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&amp;lt;info&amp;gt; app: FDS example started.&lt;br /&gt;&amp;lt;info&amp;gt; app: Initializing fds...&lt;br /&gt;&amp;lt;error&amp;gt; app: Fatal error&lt;br /&gt;&amp;lt;warning&amp;gt; app: System reset&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;Debugging through the flash_fds code, I see the same issue where fds_init() returns FDS_ERR_NO_PAGES.&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Issue with Application loading after migration from SDK 14.2 to SDK 15.3</title><link>https://devzone.nordicsemi.com/thread/204965?ContentTypeID=1</link><pubDate>Tue, 20 Aug 2019 09:08:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:eb83b986-29fa-4704-b6cc-fbd8414860d8</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Adam,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;It&amp;#39;s normal to have&amp;nbsp;&lt;span&gt;app_start&amp;nbsp;() jumping to 0x1000. It&amp;#39;s where the vector table of the softdevice is and the softdevice will then forward the vector table to the application address which is at 0x26000.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;One thing you would need to make sure is that your application is configured to start at 0x26000 (IROM1 start address at 0x26000). Note that, the application is always located at 0x26000 because of the bootloader. But if it&amp;#39;s not configured to start at 0x26000, it may not work properly (the vector table offset could be wrong)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;I would suggest to do the following:&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;- Clarify that the application (both release and debug version) can work without the bootloader (you may need to turn off buttonless DFU feature)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;- Strip down your application to a minimal function, for example blinking an LED. If it works after an DFU, you can start testing with more feature until it stop. If the application can start with LED blinking, you can start doing debugging with it because this mean the program counter is jumping to the application&amp;#39;s reset handler. You can remove CRC checking inside the bootloader, so you can test the new image without doing DFU, just flash it normally.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Do you have any flash or UICR operation in your application ?&amp;nbsp;&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: Issue with Application loading after migration from SDK 14.2 to SDK 15.3</title><link>https://devzone.nordicsemi.com/thread/204865?ContentTypeID=1</link><pubDate>Mon, 19 Aug 2019 20:49:00 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e7be00b3-a8b2-4bb7-bf1e-722e0608cb80</guid><dc:creator>Adam Gordon</dc:creator><description>&lt;p&gt;Hi Hung,&lt;/p&gt;
&lt;p&gt;Unfortunately commenting out the functions related to ble_dfu_buttonless did not resolve the issue.&lt;/p&gt;
&lt;p&gt;I think I may have narrowed down the issue even further. As previously mentioned, our custom firmware is having the issue with the app being loaded correctly after an OTA DFU and on power on. However, I took one of the example apps from the SDK and changed it to work with our hardware and that app runs correctly after an OTA DFU and after a power cycle. So I tried to look into differences in how they are loaded/handled by the bootloader.&lt;/p&gt;
&lt;p&gt;As far as I can tell, they are handled in exactly the same way. By using breakpoints and stepping through the bootloader code, after the DFU is successfully complete, the bootloader then starts the application by calling app_start(vector_table_addr) from within nrf_bootloader_app_start_final(). In both cases, the address being passed to app_start is 0x1000, which corresponds to the start address of the softdevice.&lt;/p&gt;
&lt;p&gt;In the case of the modified example app, after app_start() is called the app starts running successfully. In the case of our custom firmware, once app_start() is called, the app does not start running, Segger is &amp;quot;Stopped by vector cache&amp;quot; and has the following call stack:&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/4/Screen-Shot-2019_2D00_08_2D00_19-at-4.02.45-PM.png" /&gt;&lt;/p&gt;
&lt;p&gt;I then wanted to make sure that the application was being loaded into the right address (should be 0x26000). So I double checked 0x26000 in memory before and after the DFU was performed, and sure enough it was being loaded correctly.&lt;/p&gt;
&lt;p&gt;Something else I tried was adding our application&amp;#39;s .hex file under the loader options of the bootloader project in Segger. So if I build and run the bootloader in Segger, it loads the softdevice and our app and then runs the bootloader. Doing this successfully started our application. Again, stepping through the bootloader code, it called app_start() with the argument address being 0x1000, except this time it successfully started the application (I double checked that it was loaded at 0x26000)&lt;/p&gt;
&lt;p&gt;So what is the difference between Segger loading the app into memory and the DFU process loading the app into memory before jumping into the softdevice code? Why does one work and the other not?&lt;/p&gt;
&lt;p&gt;And even when the app is loaded in Segger and the bootloader starts it correctly, why is it that if it is power cycled it does not start up successfully again once plugged in?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Issue with Application loading after migration from SDK 14.2 to SDK 15.3</title><link>https://devzone.nordicsemi.com/thread/204419?ContentTypeID=1</link><pubDate>Fri, 16 Aug 2019 08:38:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5e6e81e9-80fc-4d22-b2e7-0dc6da9e6cd7</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Adam,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Could you try to comment out the functions related to ble_dfu_buttonless and check if you still having trouble ? (you can still test DFU without buttonless)&lt;/p&gt;
&lt;p&gt;Regarding the change in SDK v15.3, there is only one thing I can think of is the change of the place the start address of the bootloader is stored. It&amp;#39;s now no longer stored in the UICR but by default stored in the MBR (but it still backward compatible). You can have a look at my answer &lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/44768/sdk-15-3-cannot-program-default-bootloader"&gt;here&lt;/a&gt;.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Issue with Application loading after migration from SDK 14.2 to SDK 15.3</title><link>https://devzone.nordicsemi.com/thread/204370?ContentTypeID=1</link><pubDate>Thu, 15 Aug 2019 21:28:08 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e49ae7e5-0691-42a2-8e1d-cb8c1e47da71</guid><dc:creator>Adam Gordon</dc:creator><description>&lt;p&gt;Hi Hung,&lt;/p&gt;
&lt;p&gt;Thanks again for getting back to me. Unfortunately I realized that I may have had a piece of misleading information in my last reply without realizing. I mentioned that when I use nrfjprog my application runs fine but when I use Segger it does not. I realize that the difference is that in Segger I was flashing the debug build and with nrfjprog I was flashing the release build. If I flash the debug build with nrfjprog, my applications runs properly. Also, if I flash the release build using Segger, it does not work. All that to say, I am seeing the same behaviour when flashing with nrfjprog as I am when flashing with Segger.&lt;/p&gt;
&lt;p&gt;Also, to clarify, when flashing the debug build, the application runs properly but does not start again after a power cycle. The application never starts after a power cycle.&lt;/p&gt;
&lt;p&gt;Also, unfortunately I don&amp;#39;t be able to provide you with a .hex file to test on your nRF52 DK since we are using a custom board and have different pin definitions.&lt;/p&gt;
&lt;p&gt;Lastly, I never had any of these issues for the year+ that our firmware was running on the same board but with SDK 14.2. Can you think of what might have changed in SDK 15.3 that would have cause this functionality to break after the migration?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Edit: It&amp;#39;s worth mentioning that I also tried performing a DFU with a package generated from the debug build of our application and it had the same result as with the release mode package. Either way, I did some further investigating and realized that the reason the release build threw an error is because it was calling ble_dfu_buttonless_async_svci_init(), which assumes the presence of a bootloader, which there wasn&amp;#39;t. &lt;/p&gt;
&lt;p&gt;Are there any new bootloader-related configurations or flags we need to set in our application that are new to SDK 15.3?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Issue with Application loading after migration from SDK 14.2 to SDK 15.3</title><link>https://devzone.nordicsemi.com/thread/204264?ContentTypeID=1</link><pubDate>Thu, 15 Aug 2019 10:17:18 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:095528f0-8c61-4244-8331-0ed8f567bc44</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Adam,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;To isolate the issue, I would suggest we focus into the observation that if you flash just the softdevice and the application with nrfjprog, the application won&amp;#39;t start after a reset. (So it does not involve the bootloader)&lt;/p&gt;
&lt;p&gt;We need to find out why it works with Segger but not with nrfjprog. You can do a nrfjprog --readcode and compare the hex file between flashing with nrfjprog and Segger.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;What you can do is to trim down the functionality of the application (until it only blink an LED for example) we can narrow down where the problem could be. You can simply put an infinite loop into your code to limit the functionality.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Then you can send us the minimal hex file that we can try to test here on a nRF52 DK.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Issue with Application loading after migration from SDK 14.2 to SDK 15.3</title><link>https://devzone.nordicsemi.com/thread/204166?ContentTypeID=1</link><pubDate>Wed, 14 Aug 2019 20:15:13 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:db2099ab-f0b3-4183-86cf-9ebe940da776</guid><dc:creator>Adam Gordon</dc:creator><description>&lt;p&gt;Hi Hung,&lt;/p&gt;
&lt;p&gt;Thank you for getting back to me! Unfortunately it&amp;#39;s not just after a reset that my application does not start, it is also after a DFU.&lt;/p&gt;
&lt;p&gt;We have no special function related to UICR. We use FDS in our application, but that is it.&lt;/p&gt;
&lt;p&gt;Do you mean from SES? If so then yes, our application works fine if flashed from Segger with just the application and softdevice. It does not work if just the softdevice and application are flashed using nrfjprog (and then the device reset).&lt;/p&gt;
&lt;p&gt;However, what is odd, is that if we take all of the .hex files of the bootloader, bootloader settings, softdevice, and application and merge them using mergehex and then flash them onto the device using nrfjprog and reset, the application runs and works fine. Even if I flash the .hex files each individually everything runs fine.&lt;/p&gt;
&lt;p&gt;But if I flash just the bootloader and softdevice and then successfully perform a DFU, the bootloader does not jump to my application code. Is there a reason why it would work when I flash all the components together and not when I perform a DFU?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Issue with Application loading after migration from SDK 14.2 to SDK 15.3</title><link>https://devzone.nordicsemi.com/thread/204142?ContentTypeID=1</link><pubDate>Wed, 14 Aug 2019 15:36:02 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c032f006-a5c5-4406-a012-18f0bcfee3f2</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Adam,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;You may want to re-compile the bootloader with optimization to level 0 (so you can debug) and step into the bootloader code to see why it doesn&amp;#39;t jump to your application after a reset. I suspect your application may change (due to a flash operation ? ) causing CRC32 check doesn&amp;#39;t match ?&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;Do you have any special function in your application related to UICR ? flash ?&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I assume your application works fine if you only flash the softdevice and the application ?&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>