<?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>bootloader DFU buttonless</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/69907/bootloader-dfu-buttonless</link><description>I have developed hardware utilizing an nRF52832 and am developing a bootloader for the system. I have had success following two tutorials: Getting started with Nordic&amp;#39;s Secure DFU bootloader, a step by step guide - Software Development Kit - Short-range</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 31 Dec 2020 19:25:24 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/69907/bootloader-dfu-buttonless" /><item><title>RE: bootloader DFU buttonless</title><link>https://devzone.nordicsemi.com/thread/287063?ContentTypeID=1</link><pubDate>Thu, 31 Dec 2020 19:25:24 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7f673205-6558-479d-bcaa-32ed9ee3ab03</guid><dc:creator>Cy</dc:creator><description>&lt;p&gt;Having gone through the instructions again carefully I have had success utilizing these tutorials. I have made a couple of changes:&lt;/p&gt;
&lt;p&gt;1. in the sdk.config I set the&amp;nbsp;&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;NRF_BL_DFU_ENTER_METHOD_BUTTONLESS&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;2. In Nordics tutorial I see a difference the format private.key or private.pem. I used gamnes private.pem format to create the application zip.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;3. both the secure bootloader buttonless soft device and the ble_uart application use the SD 7.2.0, and therefore the sd -req is 0x101.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;I primarily followed the Nordic based tutorial based on SDK12 with the above changes.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&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: bootloader DFU buttonless</title><link>https://devzone.nordicsemi.com/thread/286772?ContentTypeID=1</link><pubDate>Mon, 28 Dec 2020 20:28:19 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:66251c8c-5d41-4a9b-a29b-255a9c0c89e1</guid><dc:creator>Cy</dc:creator><description>&lt;p&gt;I am in need of some help, love to chat most often, but I have a problem I need to solve. I am working with the armgcc toolchain within SDK17.02 with command line and nrfutil. I want to create a secure bootloader within the 17.0.2 SDK and the applications would also be developed to first run standalone with the same SDK.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I have tried to follow the two tutorials above to fit the SDK17.0.2, but the tutorials are written for SDK15.0.0 and I think I have some things right, but obviously I have some things wrong.&lt;/p&gt;
&lt;p&gt;Has anyone ported the bootloading tutorials into SDK 17.0.2 and if you were successful do you have any suggestions? Thank you!&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: bootloader DFU buttonless</title><link>https://devzone.nordicsemi.com/thread/286737?ContentTypeID=1</link><pubDate>Mon, 28 Dec 2020 14:20:14 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1da8e5f1-aabe-4f52-ba80-e8ca46f47eb3</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;You can also find the FWID from the Softdevice release notes (&amp;quot;nRF5_SDK_17.0.2_d674dde\components\softdevice\s132\doc\s132_nrf52_7.2.0_release-notes.pdf&amp;quot;). FWID for s132 v7.2.0 is 0x0101.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: bootloader DFU buttonless</title><link>https://devzone.nordicsemi.com/thread/286619?ContentTypeID=1</link><pubDate>Sun, 27 Dec 2020 23:42:17 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:33207914-4ed7-471a-bd0c-a9c59bec337a</guid><dc:creator>hmolesworth</dc:creator><description>&lt;p&gt;I wrote the table many moons ago based on&amp;nbsp;&lt;a href="https://github.com/NordicSemiconductor/pc-nrfutil/blob/master/nordicsemi/__main__.py#L501"&gt;this github link&lt;/a&gt;; it doesn&amp;#39;t actually cover v7.2.0, I just used the sd call to find out what was used in that case.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: bootloader DFU buttonless</title><link>https://devzone.nordicsemi.com/thread/286617?ContentTypeID=1</link><pubDate>Sun, 27 Dec 2020 23:29:38 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:16f9de40-f732-4a92-b581-963579801fd4</guid><dc:creator>Cy</dc:creator><description>&lt;p&gt;Where did you find this list, SD specifications, where?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: bootloader DFU buttonless</title><link>https://devzone.nordicsemi.com/thread/286616?ContentTypeID=1</link><pubDate>Sun, 27 Dec 2020 23:28:53 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3dc6b43d-4431-4469-9a61-178d0f8ff1c1</guid><dc:creator>Cy</dc:creator><description>&lt;p&gt;Thank you! I have tried it both ways.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: bootloader DFU buttonless</title><link>https://devzone.nordicsemi.com/thread/286615?ContentTypeID=1</link><pubDate>Sun, 27 Dec 2020 23:15:22 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:efc3009f-d12b-424b-a68e-93520080f724</guid><dc:creator>hmolesworth</dc:creator><description>&lt;p&gt;In case this helps, I found the SD v 7.2.0 was 0x101, not 0x102:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;    {0xB7, &amp;quot;s132_nrf52_6.1.1&amp;quot;},
    {0xC2, &amp;quot;s132_nrf52_7.0.0&amp;quot;},
    {0xCB, &amp;quot;s132_nrf52_7.0.1&amp;quot;},
    {0x101,&amp;quot;s132_nrf52_7.2.0&amp;quot;},&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: bootloader DFU buttonless</title><link>https://devzone.nordicsemi.com/thread/286610?ContentTypeID=1</link><pubDate>Sun, 27 Dec 2020 18:51:12 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1b6a62d4-dd4f-4e90-9048-56aba4db26cd</guid><dc:creator>Cy</dc:creator><description>&lt;p&gt;I have been following gamnes&amp;#39; tutorial located at github. The batch files utilize nrfutil to generate the hooks between an application and the bootloader. I have utilized the armgcc command line tool chain to program the dfu secure_bootloader pca10040_s132_ble_debug. The system can be identified on the PC through nRFconnect and connect to the USB dongle PCA10059 loads a fw.zip and begins to transfer, or validate, but the debug output, text included below, line 52 SD req not met.&lt;/p&gt;
&lt;p&gt;I have scrounged around the dev zone and found that the SD req for the s132_nrf52_7.2.0_softdevice.hex is 0x102 and 0x101 and edit this inside the batch file 03 inside gamnes&amp;#39;s tutorial which creates the FW.zip with SD merged to app, and 03b without SD merged.&lt;/p&gt;
&lt;p&gt;echo &amp;quot;## Creating a FW.zip package that can be used to update the FW on the DK&amp;quot;&lt;br /&gt;nrfutil pkg generate --application app.hex --application-version 1 --application-version-string &amp;quot;1.0.0&amp;quot; --hw-version 52 --sd-req 0x102 --sd-id 0xA8 --softdevice s132_nrf52_7.2.0_softdevice.hex --key-file private.pem FW.zip&lt;br /&gt;echo.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;One thing to note is gamnes&amp;#39; 03 batch will not find s132_nrf52_6.0.0_softdevice.hex, when the batch file calls:&amp;nbsp;&lt;/p&gt;
&lt;p&gt;echo &amp;quot;## Creating a FW.zip package that can be used to update the FW on the DK&amp;quot;&lt;br /&gt;nrfutil pkg generate --application app.hex --application-version 1 --application-version-string &amp;quot;1.0.0&amp;quot; --hw-version 52 --sd-req 0x101 --sd-id 0xA8 --softdevice s132_nrf52_7.2.0_softdevice.hex --key-file private.pem FW.zip&lt;br /&gt;echo.&lt;/p&gt;
&lt;p&gt;I have set the S132=s132_nrf52_7.2.0_softdevice.hex within the batch, but I wonder if the nrfutil is the latetest version on my machine?&amp;nbsp;&lt;/p&gt;
&lt;p&gt;version 6.1.0&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;1 &amp;quot;&amp;lt;debug&amp;gt; nrf_dfu_ble: Received BLE_GATTS_EVT_EXCHANGE_MTU_REQUEST (request: 247, reply: 247).&amp;quot;&lt;br /&gt;2 &amp;lt;debug&amp;gt; nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_SELECT (command)&lt;br /&gt;3 &amp;lt;debug&amp;gt; nrf_dfu_req_handler: Request handling complete. Result: 0x1&lt;br /&gt;4 &amp;lt;debug&amp;gt; app: Shutting down transports (found: 1)&lt;br /&gt;5 &amp;lt;debug&amp;gt; nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_CREATE (command)&lt;br /&gt;6 &amp;lt;debug&amp;gt; app: timer_stop (0x20005974)&lt;br /&gt;7 &amp;lt;debug&amp;gt; app: timer_activate (0x20005974)&lt;br /&gt;8 &amp;lt;debug&amp;gt; nrf_dfu_req_handler: Request handling complete. Result: 0x1&lt;br /&gt;9 &amp;quot;&amp;lt;debug&amp;gt; nrf_dfu_ble: Buffer 0x20008298 acquired, len 142 (244)&amp;quot;&lt;br /&gt;10 &amp;lt;debug&amp;gt; nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (command)&lt;br /&gt;11 &amp;lt;debug&amp;gt; nrf_dfu_ble: Freeing buffer 0x20008298&lt;br /&gt;12 &amp;lt;debug&amp;gt; nrf_dfu_req_handler: Request handling complete. Result: 0x1&lt;br /&gt;13 &amp;lt;debug&amp;gt; nrf_dfu_req_handler: Handle NRF_DFU_OP_CRC_GET (command)&lt;br /&gt;14 &amp;lt;debug&amp;gt; nrf_dfu_req_handler: Request handling complete. Result: 0x1&lt;br /&gt;15 &amp;lt;debug&amp;gt; nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_EXECUTE (command)&lt;br /&gt;16 &amp;lt;debug&amp;gt; nrf_dfu_validation: PB: Init packet data len: 65&lt;br /&gt;17 &amp;lt;info&amp;gt; nrf_dfu_validation: Signature required. Checking signature.&lt;br /&gt;18 &amp;lt;info&amp;gt; nrf_dfu_validation: Calculating hash (len: 65)&lt;br /&gt;19 &amp;lt;info&amp;gt; nrf_dfu_validation: Verify signature&lt;br /&gt;20 &amp;lt;info&amp;gt; nrf_dfu_validation: Image verified&lt;br /&gt;21 &amp;lt;warning&amp;gt; nrf_dfu_ver_validation: SD req not met.&lt;br /&gt;22 &amp;lt;warning&amp;gt; nrf_dfu_validation: Prevalidation failed.&lt;br /&gt;23 &amp;lt;debug&amp;gt; nrf_dfu_validation: Init command:&lt;br /&gt;24 &amp;lt;debug&amp;gt; nrf_dfu_validation: 08 90 4E 10 34 1A 02 A8|..N.4...&lt;br /&gt;25 &amp;lt;debug&amp;gt; nrf_dfu_validation: 01 20 00 28 00 30 00 38|. .(.0.8&lt;br /&gt;26 &amp;lt;debug&amp;gt; nrf_dfu_validation: C4 99 03 42 24 08 03 12|...B$...&lt;br /&gt;27 &amp;lt;debug&amp;gt; nrf_dfu_validation: 20 08 0C 31 EC 48 5A D8| ..1.HZ.&lt;br /&gt;28 &amp;lt;debug&amp;gt; nrf_dfu_validation: B0 CE A7 96 C2 35 F9 23|.....5.#&lt;br /&gt;29 &amp;lt;debug&amp;gt; nrf_dfu_validation: 3E 96 F0 41 9E 3D 36 02|&amp;gt;..A.=6.&lt;br /&gt;30 &amp;lt;debug&amp;gt; nrf_dfu_validation: 97 92 FF 14 77 FD BC 8F|....w...&lt;br /&gt;31 &amp;lt;debug&amp;gt; nrf_dfu_validation: C5 48 00 52 04 08 01 12|.H.R....&lt;br /&gt;32 &amp;lt;debug&amp;gt; nrf_dfu_validation: 00 |.&lt;br /&gt;33 &amp;lt;debug&amp;gt; nrf_dfu_req_handler: Request handling complete. Result: 0xB&lt;br /&gt;34 &amp;lt;warning&amp;gt; nrf_dfu_ble: DFU request 4 failed with error: 0xB&lt;br /&gt;35 &amp;lt;debug&amp;gt; app: Shutting down transports (found: 1)&lt;br /&gt;36 &amp;lt;debug&amp;gt; nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_CREATE (command)&lt;br /&gt;37 &amp;lt;debug&amp;gt; app: timer_stop (0x20005974)&lt;br /&gt;38 &amp;lt;debug&amp;gt; app: timer_activate (0x20005974)&lt;br /&gt;39 &amp;lt;debug&amp;gt; nrf_dfu_req_handler: Request handling complete. Result: 0x1&lt;br /&gt;40 &amp;quot;&amp;lt;debug&amp;gt; nrf_dfu_ble: Buffer 0x20008298 acquired, len 142 (244)&amp;quot;&lt;br /&gt;41 &amp;lt;debug&amp;gt; nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (command)&lt;br /&gt;42 &amp;lt;debug&amp;gt; nrf_dfu_ble: Freeing buffer 0x20008298&lt;br /&gt;43 &amp;lt;debug&amp;gt; nrf_dfu_req_handler: Request handling complete. Result: 0x1&lt;br /&gt;44 &amp;lt;debug&amp;gt; nrf_dfu_req_handler: Handle NRF_DFU_OP_CRC_GET (command)&lt;br /&gt;45 &amp;lt;debug&amp;gt; nrf_dfu_req_handler: Request handling complete. Result: 0x1&lt;br /&gt;46 &amp;lt;debug&amp;gt; nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_EXECUTE (command)&lt;br /&gt;47 &amp;lt;debug&amp;gt; nrf_dfu_validation: PB: Init packet data len: 65&lt;br /&gt;48 &amp;lt;info&amp;gt; nrf_dfu_validation: Signature required. Checking signature.&lt;br /&gt;49 &amp;lt;info&amp;gt; nrf_dfu_validation: Calculating hash (len: 65)&lt;br /&gt;50 &amp;lt;info&amp;gt; nrf_dfu_validation: Verify signature&lt;br /&gt;51 &amp;lt;info&amp;gt; nrf_dfu_validation: Image verified&lt;br /&gt;52 &amp;lt;warning&amp;gt; nrf_dfu_ver_validation: SD req not met.&lt;br /&gt;53 &amp;lt;warning&amp;gt; nrf_dfu_validation: Prevalidation failed.&lt;br /&gt;54 &amp;lt;debug&amp;gt; nrf_dfu_validation: Init command:&lt;br /&gt;55 &amp;lt;debug&amp;gt; nrf_dfu_validation: 08 90 4E 10 34 1A 02 A8|..N.4...&lt;br /&gt;56 &amp;lt;debug&amp;gt; nrf_dfu_validation: 01 20 00 28 00 30 00 38|. .(.0.8&lt;br /&gt;57 &amp;lt;debug&amp;gt; nrf_dfu_validation: C4 99 03 42 24 08 03 12|...B$...&lt;br /&gt;58 &amp;lt;debug&amp;gt; nrf_dfu_validation: 20 08 0C 31 EC 48 5A D8| ..1.HZ.&lt;br /&gt;59 &amp;lt;debug&amp;gt; nrf_dfu_validation: B0 CE A7 96 C2 35 F9 23|.....5.#&lt;br /&gt;60 &amp;lt;debug&amp;gt; nrf_dfu_validation: 3E 96 F0 41 9E 3D 36 02|&amp;gt;..A.=6.&lt;br /&gt;61 &amp;lt;debug&amp;gt; nrf_dfu_validation: 97 92 FF 14 77 FD BC 8F|....w...&lt;br /&gt;62 &amp;lt;debug&amp;gt; nrf_dfu_validation: C5 48 00 52 04 08 01 12|.H.R....&lt;br /&gt;63 &amp;lt;debug&amp;gt; nrf_dfu_validation: 00 |.&lt;br /&gt;64 &amp;lt;debug&amp;gt; nrf_dfu_req_handler: Request handling complete. Result: 0xB&lt;br /&gt;65 &amp;lt;warning&amp;gt; nrf_dfu_ble: DFU request 4 failed with error: 0xB&lt;br /&gt;66 &amp;lt;debug&amp;gt; app: Shutting down transports (found: 1)&lt;br /&gt;67 &amp;lt;debug&amp;gt; nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_CREATE (command)&lt;br /&gt;68 &amp;lt;debug&amp;gt; app: timer_stop (0x20005974)&lt;br /&gt;69 &amp;lt;debug&amp;gt; app: timer_activate (0x20005974)&lt;br /&gt;70 &amp;lt;debug&amp;gt; nrf_dfu_req_handler: Request handling complete. Result: 0x1&lt;br /&gt;71 &amp;quot;&amp;lt;debug&amp;gt; nrf_dfu_ble: Buffer 0x20008298 acquired, len 142 (244)&amp;quot;&lt;br /&gt;72 &amp;lt;debug&amp;gt; nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (command)&lt;br /&gt;73 &amp;lt;debug&amp;gt; nrf_dfu_ble: Freeing buffer 0x20008298&lt;br /&gt;74 &amp;lt;debug&amp;gt; nrf_dfu_req_handler: Request handling complete. Result: 0x1&lt;br /&gt;75 &amp;lt;debug&amp;gt; nrf_dfu_req_handler: Handle NRF_DFU_OP_CRC_GET (command)&lt;br /&gt;76 &amp;lt;debug&amp;gt; nrf_dfu_req_handler: Request handling complete. Result: 0x1&lt;br /&gt;77 &amp;lt;debug&amp;gt; nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_EXECUTE (command)&lt;br /&gt;78 &amp;lt;debug&amp;gt; nrf_dfu_validation: PB: Init packet data len: 65&lt;br /&gt;79 &amp;lt;info&amp;gt; nrf_dfu_validation: Signature required. Checking signature.&lt;br /&gt;80 &amp;lt;info&amp;gt; nrf_dfu_validation: Calculating hash (len: 65)&lt;br /&gt;81 &amp;lt;info&amp;gt; nrf_dfu_validation: Verify signature&lt;br /&gt;82 &amp;lt;info&amp;gt; nrf_dfu_validation: Image verified&lt;br /&gt;83 &amp;lt;warning&amp;gt; nrf_dfu_ver_validation: SD req not met.&lt;br /&gt;84 &amp;lt;warning&amp;gt; nrf_dfu_validation: Prevalidation failed.&lt;br /&gt;85 &amp;lt;debug&amp;gt; nrf_dfu_validation: Init command:&lt;br /&gt;86 &amp;lt;debug&amp;gt; nrf_dfu_validation: 08 90 4E 10 34 1A 02 A8|..N.4...&lt;br /&gt;87 &amp;lt;debug&amp;gt; nrf_dfu_validation: 01 20 00 28 00 30 00 38|. .(.0.8&lt;br /&gt;88 &amp;lt;debug&amp;gt; nrf_dfu_validation: C4 99 03 42 24 08 03 12|...B$...&lt;br /&gt;89 &amp;lt;debug&amp;gt; nrf_dfu_validation: 20 08 0C 31 EC 48 5A D8| ..1.HZ.&lt;br /&gt;90 &amp;lt;debug&amp;gt; nrf_dfu_validation: B0 CE A7 96 C2 35 F9 23|.....5.#&lt;br /&gt;91 &amp;lt;debug&amp;gt; nrf_dfu_validation: 3E 96 F0 41 9E 3D 36 02|&amp;gt;..A.=6.&lt;br /&gt;92 &amp;lt;debug&amp;gt; nrf_dfu_validation: 97 92 FF 14 77 FD BC 8F|....w...&lt;br /&gt;93 &amp;lt;debug&amp;gt; nrf_dfu_validation: C5 48 00 52 04 08 01 12|.H.R....&lt;br /&gt;94 &amp;lt;debug&amp;gt; nrf_dfu_validation: 00 |.&lt;br /&gt;95 &amp;lt;debug&amp;gt; nrf_dfu_req_handler: Request handling complete. Result: 0xB&lt;br /&gt;96 &amp;lt;warning&amp;gt; nrf_dfu_ble: DFU request 4 failed with error: 0xB&lt;br /&gt;97 &amp;lt;debug&amp;gt; nrf_dfu_ble: Advertising...&lt;br /&gt;98 &amp;lt;debug&amp;gt; nrf_dfu_settings: Using settings page.&lt;br /&gt;99 &amp;lt;debug&amp;gt; nrf_dfu_settings: Copying forbidden parts from backup page.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>