<?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>Keil SDK13 BLE OTA bootloader_secure_ble bootloader</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/127211/keil-sdk13-ble-ota-bootloader_secure_ble-bootloader</link><description>Keil SDK13 BLE OTA upgrade failure causes the device to become unbootable, requiring re-flashing. How can this be resolved? We are using the bootloader_secure_ble bootloader. Does it support dual-bank OTA? Could you provide a reference sample?</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 17 Mar 2026 13:17:21 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/127211/keil-sdk13-ble-ota-bootloader_secure_ble-bootloader" /><item><title>RE: Keil SDK13 BLE OTA bootloader_secure_ble bootloader</title><link>https://devzone.nordicsemi.com/thread/563446?ContentTypeID=1</link><pubDate>Tue, 17 Mar 2026 13:17:21 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:643e4d49-6cca-4c99-bab0-1fd5381f6c7f</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;From the SDK release notes it seems like the inactivity timer was not added until SDK v14.0.0. You could&amp;nbsp;use this implementation as a reference.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Keil SDK13 BLE OTA bootloader_secure_ble bootloader</title><link>https://devzone.nordicsemi.com/thread/563386?ContentTypeID=1</link><pubDate>Tue, 17 Mar 2026 01:53:44 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c1bf9b7f-2d7c-43c7-bce8-c6912483b836</guid><dc:creator>tpwang</dc:creator><description>&lt;p&gt;&lt;span&gt;What I provided is the complete log, starting from device boot, the app initiating the update, to killing the app, and then the device staying in the bootloader&amp;#39;s DFU mode. Later, I added a reset in the BLE disconnect callback, and it worked normally. The issue is likely with the timeout mechanism. Alternatively, how should I properly implement the reset, and where should I add this reset?&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Keil SDK13 BLE OTA bootloader_secure_ble bootloader</title><link>https://devzone.nordicsemi.com/thread/563288?ContentTypeID=1</link><pubDate>Mon, 16 Mar 2026 08:43:18 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:58f042bb-9cea-4acc-bee3-1b717c58a6e3</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Yes, there is a timeout mechanism, but that does not help if there is no valid application to fall back to. Can you please post the full log? When adding the log, please do so in a code block using&amp;nbsp;the Insert-&amp;gt;Code button.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Keil SDK13 BLE OTA bootloader_secure_ble bootloader</title><link>https://devzone.nordicsemi.com/thread/563284?ContentTypeID=1</link><pubDate>Mon, 16 Mar 2026 08:23:01 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4a469b82-1b6e-49d4-b70c-60da3cafce00</guid><dc:creator>tpwang</dc:creator><description>&lt;p&gt;&lt;span&gt;Judging from the logs, it seems the device has been staying in DFU mode, waiting for connection and data transfer. Is there no timeout mechanism in place?&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Keil SDK13 BLE OTA bootloader_secure_ble bootloader</title><link>https://devzone.nordicsemi.com/thread/562869?ContentTypeID=1</link><pubDate>Tue, 10 Mar 2026 05:15:05 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:80646ebd-54a7-45cb-a0a3-5e24ae5622ef</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;What you are seeing is that the FW is being uploaded to bank 1, so it is indeed a dual bank update.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Keil SDK13 BLE OTA bootloader_secure_ble bootloader</title><link>https://devzone.nordicsemi.com/thread/562865?ContentTypeID=1</link><pubDate>Tue, 10 Mar 2026 01:24:38 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4f2c34b7-3824-4140-95a6-c8097f01483c</guid><dc:creator>tpwang</dc:creator><description>&lt;div class="content full threaded-reply-content user-defined-markup" data-replyid="562864" data-userid="150890" data-permalink="~/f/nordic-q-a/127211/keil-sdk13-ble-ota-bootloader_secure_ble-bootloader/562864"&gt;
&lt;div class="content"&gt;
&lt;p&gt;&lt;span&gt;0x0001f000 is app address，not 0x0007f000,it is bank0 address,not&amp;nbsp;0x0007f000 is&amp;nbsp;bootloader settings page&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="edit-form"&gt;&lt;/div&gt;
&lt;div class="actions meta default"&gt;
&lt;div class="navigation-list" data-maxlinks="4" data-direction="horizontal" data-reflow-wait-check-count="0" data-reflow-wait-timeout="null" data-finalized="true"&gt;
&lt;div class="container"&gt;
&lt;ul&gt;
&lt;li class="navigation-list-item vote"&gt;&lt;span class="votes"&gt;&lt;a class="ui-tip vote up " href="https://devzone.nordicsemi.com/f/nordic-q-a/127211/keil-sdk13-ble-ota-bootloader_secure_ble-bootloader" data-tip="Vote Up" data-messagename="ui.replies.vote.message" data-replyid="562864" data-value="true"&gt;Vote&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Keil SDK13 BLE OTA bootloader_secure_ble bootloader</title><link>https://devzone.nordicsemi.com/thread/562864?ContentTypeID=1</link><pubDate>Tue, 10 Mar 2026 01:22:24 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:971bc0b2-55be-44b6-a47b-4246623c3552</guid><dc:creator>tpwang</dc:creator><description>&lt;p&gt;&lt;span&gt;0x0007f000 is app address，it is bank0 address&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Keil SDK13 BLE OTA bootloader_secure_ble bootloader</title><link>https://devzone.nordicsemi.com/thread/562818?ContentTypeID=1</link><pubDate>Mon, 09 Mar 2026 12:57:02 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f58d8142-9081-4587-8531-d0364dd7a215</guid><dc:creator>Vidar Berg</dc:creator><description>[quote userid="150890" url="~/f/nordic-q-a/127211/keil-sdk13-ble-ota-bootloader_secure_ble-bootloader/562794"]Why does the bootloader erase the app region (0x1f0000) when the app is terminated/killed?[/quote]
&lt;p&gt;Are you referring to this line: &amp;quot;&lt;span&gt;:DEBUG:Erasing: 0x0007f000, num: 1&amp;quot;? This is the location of the bootloader settings page containing the&amp;nbsp;&lt;a href="https://docs.nordicsemi.com/bundle/sdk_nrf5_v17.1.0/page/structnrf_dfu_settings_t.html"&gt;nrf_dfu_settings_t struct&lt;/a&gt;&amp;nbsp;used by the bootloader for state keeping during DFU.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Keil SDK13 BLE OTA bootloader_secure_ble bootloader</title><link>https://devzone.nordicsemi.com/thread/562794?ContentTypeID=1</link><pubDate>Mon, 09 Mar 2026 10:13:42 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9af0bfb8-e15b-4169-aa6c-1684cff9c584</guid><dc:creator>tpwang</dc:creator><description>&lt;p&gt;&lt;span&gt;Why does the bootloader erase the app region (0x1f0000) when the app is terminated/killed?&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Keil SDK13 BLE OTA bootloader_secure_ble bootloader</title><link>https://devzone.nordicsemi.com/thread/562793?ContentTypeID=1</link><pubDate>Mon, 09 Mar 2026 10:11:57 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:eace4de6-7f1d-4a86-846c-cf2c86f162ca</guid><dc:creator>tpwang</dc:creator><description>&lt;p&gt;&lt;strong&gt;&amp;quot;According to the log, the application has been erased. What caused this?&amp;quot;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;:DEBUG:Erasing old settings at: 0x0007f000&lt;br /&gt;:DEBUG:Erasing: 0x0007f000, num: 1&lt;br /&gt;:DEBUG:Writing 0x00000057 words&lt;br /&gt;:DEBUG:Writing settings...&lt;br /&gt;:DEBUG:Sending Response: [0x4, 0x1]&lt;br /&gt;:DEBUG:Received create object&lt;br /&gt;:INFO:Before OP create&lt;br /&gt;:INFO:Valid Data Create&lt;br /&gt;:DEBUG:Erasing: 0x00020000, num: 1&lt;br /&gt;:INFO:Creating object with size: 4096. Offset: 0x00001000, CRC: 0x4f9e1f67&lt;br /&gt;:DEBUG:Sending Response: [0x1, 0x1]&lt;br /&gt;:DEBUG:Sending CRC: [0x60, 0x03, 0x01, 0:x000010c8, CRC:0x7c50c9ab]&lt;br /&gt;:INFO:Storing 256 B at: 0x00020000&lt;br /&gt;:DEBUG:Sending CRC: [0x60, 0x03, 0x01, 0:x00001190, CRC:0xe34c5138]&lt;br /&gt;:INFO:Storing 256 B at: 0x00020100&lt;br /&gt;:DEBUG:Sending CRC: [0x60, 0x03, 0x01, 0:x00001258, CRC:0xf4dbf38c]&lt;br /&gt;:INFO:Storing 256 B at: 0x00020200&lt;br /&gt;:DEBUG:Sending CRC: [0x60, 0x03, 0x01, 0:x00001320, CRC:0xfad69a8d]&lt;br /&gt;:DEBUG:Sending CRC: [0x60, 0x03, 0x01, 0:x000013e8, CRC:0x8d2c78ad]&lt;br /&gt;:INFO:Storing 256 B at: 0x00020300&lt;br /&gt;:DEBUG:Sending CRC: [0x60, 0x03, 0x01, 0:x000014b0, CRC:0x123582c1]&lt;br /&gt;:INFO:Storing 256 B at: 0x00020400&lt;br /&gt;:DEBUG:Sending CRC: [0x60, 0x03, 0x01, 0:x00001578, CRC:0xba371df4]&lt;br /&gt;:INFO:Storing 256 B at: 0x00020500&lt;br /&gt;:DEBUG:Sending CRC: [0x60, 0x03, 0x01, 0:x00001640, CRC:0xd7218135]&lt;br /&gt;:INFO:Storing 256 B at: 0x00020600&lt;br /&gt;:DEBUG:Sending CRC: [0x60, 0x03, 0x01, 0:x00001708, CRC:0xc04f36db]&lt;br /&gt;:DEBUG:Sending CRC: [0x60, 0x03, 0x01, 0:x000017d0, CRC:0x42b9c0f1]&lt;br /&gt;:INFO:Storing 256 B at: 0x00020700&lt;br /&gt;:DEBUG:Sending CRC: [0x60, 0x03, 0x01, 0:x00001898, CRC:0xe39aa5f6]&lt;br /&gt;:INFO:Storing 256 B at: 0x00020800&lt;br /&gt;:DEBUG:Sending CRC: [0x60, 0x03, 0x01, 0:x00001960, CRC:0x274d3e23]&lt;br /&gt;:INFO:Storing 256 B at: 0x00020900&lt;br /&gt;:DEBUG:Sending CRC: [0x60, 0x03, 0x01, 0:x00001a28, CRC:0x9d4fdb36]&lt;br /&gt;:DEBUG:Sending CRC: [0x60, 0x03, 0x01, 0:x00001af0, CRC:0x0687401b]&lt;br /&gt;:INFO:Storing 256 B at: 0x00020a00&lt;br /&gt;:DEBUG:Sending CRC: [0x60, 0x03, 0x01, 0:x00001bb8, CRC:0x7714f0ad]&lt;br /&gt;:INFO:Storing 256 B at: 0x00020b00&lt;br /&gt;:DEBUG:Sending CRC: [0x60, 0x03, 0x01, 0:x00001c80, CRC:0x181b197b]&lt;br /&gt;:INFO:Storing 256 B at: 0x00020c00&lt;br /&gt;:DEBUG:Sending CRC: [0x60, 0x03, 0x01, 0:x00001d48, CRC:0x08e0dcd3]&lt;br /&gt;:INFO:Storing 256 B at: 0x00020d00&lt;br /&gt;:DEBUG:Sending CRC: [0x60, 0x03, 0x01, 0:x00001e10, CRC:0x650d0d52]&lt;br /&gt;:DEBUG:Sending CRC: [0x60, 0x03, 0x01, 0:x00001ed8, CRC:0x004cb4be]&lt;br /&gt;:INFO:Storing 256 B at: 0x00020e00&lt;br /&gt;:DEBUG:Sending CRC: [0x60, 0x03, 0x01, 0:x00001fa0, CRC:0x1af7dfa8]&lt;br /&gt;:INFO:Storing 256 B at: 0x00020f00&lt;br /&gt;:DEBUG:Received calculate CRC&lt;br /&gt;:INFO:Before OP crc&lt;br /&gt;:DEBUG:Sending CRC: [0x60, 0x03, 0x01, 0:x00002000, CRC:0x5fcdda05]&lt;br /&gt;:DEBUG:Received execute object&lt;br /&gt;:INFO:Before OP execute&lt;br /&gt;:INFO:Valid Data Execute&lt;br /&gt;:DEBUG:Erasing old settings at: 0x0007f000&lt;br /&gt;:DEBUG:Erasing: 0x0007f000, num: 1&lt;br /&gt;:DEBUG:Writing 0x00000057 words&lt;br /&gt;:DEBUG:Writing settings...&lt;br /&gt;:DEBUG:Sending Response: [0x4, 0x1]&lt;br /&gt;:DEBUG:Received create object&lt;br /&gt;:INFO:Before OP create&lt;br /&gt;:INFO:Valid Data Create&lt;br /&gt;:DEBUG:Erasing: 0x00021000, num: 1&lt;br /&gt;:INFO:Creating object with size: 4096. Offset: 0x00002000, CRC: 0x5fcdda05&lt;br /&gt;:DEBUG:Sending Response: [0x1, 0x1]&lt;br /&gt;:DEBUG:Sending CRC: [0x60, 0x03, 0x01, 0:x000020c8, CRC:0xd8a02b44]&lt;br /&gt;:INFO:Storing 256 B at: 0x00021000&lt;br /&gt;:DEBUG:Sending CRC: [0x60, 0x03, 0x01, 0:x00002190, CRC:0x19e25c16]&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Keil SDK13 BLE OTA bootloader_secure_ble bootloader</title><link>https://devzone.nordicsemi.com/thread/562602?ContentTypeID=1</link><pubDate>Thu, 05 Mar 2026 06:15:13 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3cd37ea0-b0b5-4d38-bac6-b6e31f600d68</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Thanks. This show that the program is inside the&amp;nbsp;sd_app_evt_wait() function. This suggests that the device program has not &amp;quot;crashed&amp;quot; but is just staying in sleep waiting for an interrupt. Unfortunately it is not possible to tell from this if the function was called from the bootloader or the application. Next step is to try debug the bootloader and application and see if the program reaches the main app.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Keil SDK13 BLE OTA bootloader_secure_ble bootloader</title><link>https://devzone.nordicsemi.com/thread/562597?ContentTypeID=1</link><pubDate>Thu, 05 Mar 2026 02:05:37 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8a6a8b92-b962-4e42-8911-5814153173c7</guid><dc:creator>tpwang</dc:creator><description>&lt;p&gt;nrfjprog --readregs&lt;br /&gt; R0: 0x01000001&lt;br /&gt; R1: 0x40020518&lt;br /&gt; R2: 0x00000000&lt;br /&gt; R3: 0x20000000&lt;br /&gt; R4: 0x2000009B&lt;br /&gt; R5: 0x00000000&lt;br /&gt; R6: 0xE000E000&lt;br /&gt; R7: 0x00000056&lt;br /&gt; R8: 0x00000000&lt;br /&gt; R9: 0x00000000&lt;br /&gt; R10: 0x00000000&lt;br /&gt; R11: 0x00000000&lt;br /&gt; R12: 0x046E4C9F&lt;br /&gt; SP: 0x20003F88&lt;br /&gt; LR: 0x00012459&lt;br /&gt; PC: 0x0001245A&lt;br /&gt; xPSR: 0x21000000&lt;br /&gt; MSP: 0x20003F88&lt;br /&gt; PSP: 0x00000000&lt;br /&gt; RAZ: 0x00000000&lt;br /&gt; CFBP: 0x00000000&lt;br /&gt; APSR: 0x20000000&lt;br /&gt; EPSR: 0x01000000&lt;br /&gt; IPSR: 0x00000000&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;nrfutil device cpu-register-read&lt;br /&gt;Usage: nrfutil [OPTIONS] COMMAND [ARGS]...&lt;br /&gt;Try &amp;quot;nrfutil --help&amp;quot; for help.&lt;/p&gt;
&lt;p&gt;Error: No such command &amp;quot;device&amp;quot;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Keil SDK13 BLE OTA bootloader_secure_ble bootloader</title><link>https://devzone.nordicsemi.com/thread/562502?ContentTypeID=1</link><pubDate>Wed, 04 Mar 2026 06:32:23 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:85751afa-db70-47ef-8a87-d8ae4487d832</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;This was only a bug fix release of the softdevice and should not have&amp;nbsp;any breaking changes. What you are experiencing is most likely unrelated to the Softdevice. To be able to find out what is wrong we must try to debug the bootloader/app to determine why it crashes after DFU is complete.&amp;nbsp;A good first step is to read out the CPU registers after the DFU is complete as this may help reveal what state the device is in. You can do this with nrfjprog or nrfutil from the command line.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;nrfjprog --readregs
nrfutil device cpu-register-read&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Keil SDK13 BLE OTA bootloader_secure_ble bootloader</title><link>https://devzone.nordicsemi.com/thread/562499?ContentTypeID=1</link><pubDate>Wed, 04 Mar 2026 06:05:55 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e84d635b-a362-4ec8-a9d2-d43d988839db</guid><dc:creator>tpwang</dc:creator><description>&lt;p&gt;&lt;span&gt;Will this affect DFU OTA? Currently, after killing the app, the hardware cannot boot up. How should I handle this issue?&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Keil SDK13 BLE OTA bootloader_secure_ble bootloader</title><link>https://devzone.nordicsemi.com/thread/562497?ContentTypeID=1</link><pubDate>Wed, 04 Mar 2026 06:02:55 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5d2d8afd-4428-4330-8e3c-30154d0fa118</guid><dc:creator>tpwang</dc:creator><description>&lt;p&gt;&lt;span&gt;I&amp;#39;m using SDK13, but the protocol stack I&amp;#39;m using is s132_nrf52_4.0.3_softdevice.hex. This doesn&amp;#39;t seem to be the protocol stack included in SDK13 - the protocol stack in SDK13 is s132_nrf52_4.0.2_softdevice.hex.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Keil SDK13 BLE OTA bootloader_secure_ble bootloader</title><link>https://devzone.nordicsemi.com/thread/562392?ContentTypeID=1</link><pubDate>Tue, 03 Mar 2026 09:08:12 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:60c173e0-1cbf-4a91-91b4-db8dbe89fe2d</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Yes, you can adjust the bootloader start address. You can use the&amp;nbsp;&lt;span&gt;bootloader_secure_ble/pca10040&lt;strong&gt;_debug&lt;/strong&gt;&amp;nbsp;project configuration as a reference. This project allocates more space to the bootloader to support debug logging over RTT.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/guides/short-range-guides/b/getting-started/posts/adjustment-of-ram-and-flash-memory"&gt;Adjustment of RAM and Flash memory&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Keil SDK13 BLE OTA bootloader_secure_ble bootloader</title><link>https://devzone.nordicsemi.com/thread/562382?ContentTypeID=1</link><pubDate>Tue, 03 Mar 2026 07:58:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:447c6e59-38b7-4b26-8cc2-eea41a379017</guid><dc:creator>tpwang</dc:creator><description>&lt;p&gt;&lt;span&gt;Rewriting the program,hw can work, but if I don&amp;#39;t rewrite it, it won&amp;#39;t function and fails to start. I am using this U-Boot ---bootloader_secure_ble, but can you provide me with a reference example for the app? can I adjusted the boot area? Can I set the start address to 0x75000 and the size to 0x9000 in Keil?&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Keil SDK13 BLE OTA bootloader_secure_ble bootloader</title><link>https://devzone.nordicsemi.com/thread/562277?ContentTypeID=1</link><pubDate>Mon, 02 Mar 2026 07:16:45 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8eb4579f-0954-436e-9671-dabd2a598615</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;The &amp;quot;&lt;span&gt;bootloader_secure_ble&amp;quot; example will already&amp;nbsp;default to dual bank DFU as long as the size of the update image is not too big to fit inside the bank 1 area (see&amp;nbsp;&lt;a href="https://docs.nordicsemi.com/bundle/sdk_nrf5_v17.1.0/page/lib_bootloader_dfu_banks.html"&gt;dual vs single bank updates&lt;/a&gt;). However, the failure you describe should not happen even if you are using single bank DFU. If a DFU attempt fails for some reason after the old app has been erased (device moves out of range, battery dies, etc), the device shall always fall back to DFU mode so you can attempt the update again. The fact that you have to re-flash it points to some other issue.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Does the same app work if you program it through the debug interface?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Best regards,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Vidar&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Keil SDK13 BLE OTA bootloader_secure_ble bootloader</title><link>https://devzone.nordicsemi.com/thread/562253?ContentTypeID=1</link><pubDate>Sat, 28 Feb 2026 03:53:15 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1fd72ae3-77dc-48e6-8ac3-aaffcc85e283</guid><dc:creator>tpwang</dc:creator><description>&lt;p&gt;私钥生成命令：nrfutil keys generate priv.pem （priv.pem就是私钥） 公钥生成命令：nrfutil keys display --key pk --format code priv.pem --out_file dfu_public_key.c （dfu_public_key.c就是公钥） .\tools\nrfutil settings generate --family NRF52 --application app.hex --application-version 1 --bootloader-version 1 --bl-settings-version 2 settings.hex .\tools\mergehex --merge bootloader.hex settings.hex --output bl_temp.hex .\tools\mergehex --merge s132_nrf52_4.2.0_softdevice.hex bootloader.hex app.hex --output bl_temp.hex .\tools\mergehex --merge bl_temp.hex app.hex s132_nrf52_4.2.0_softdevice.hex --output whole.hex .\tools\mergehex --merge bl_temp.hex settings.hex --output whole.hex .\tools\nrfutil pkg generate --application app.hex --application-version 3 --hw-version 52 --sd-req 0x101 --key-file Template_key.pem SDK13_app_s132.zip&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Keil SDK13 BLE OTA bootloader_secure_ble bootloader</title><link>https://devzone.nordicsemi.com/thread/562252?ContentTypeID=1</link><pubDate>Sat, 28 Feb 2026 03:45:23 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3c84c4f4-142c-45dc-9d7d-1aea64cf0bac</guid><dc:creator>tpwang</dc:creator><description>&lt;p&gt;Keil SDK13 BLE OTA&amp;nbsp;&lt;span&gt;Does SDK13 BLE OTA support dual-bank? How to modify it? Could you provide a sample?&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>