<?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>BLE + Serial DFU bootloader SDK 14.0</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/55511/ble-serial-dfu-bootloader-sdk-14-0</link><description>Hi, 
 I&amp;#39;m trying to merge Serial and BLE DFU. I have followed this . 
 I have used BLE DFU example as base code and added Serial DFU dependencies. 
 I&amp;#39;m able to do BLE DFU but Serial DFU fails. 
 I have noticed that with BLE_STACK_SUPPORT_REQD flag, Serial</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 10 Feb 2020 06:57:30 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/55511/ble-serial-dfu-bootloader-sdk-14-0" /><item><title>RE: BLE + Serial DFU bootloader SDK 14.0</title><link>https://devzone.nordicsemi.com/thread/233431?ContentTypeID=1</link><pubDate>Mon, 10 Feb 2020 06:57:30 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:20bf47ad-d12d-4b6d-a662-aecda55db2c3</guid><dc:creator>hdadhich</dc:creator><description>&lt;p&gt;Looks like it has timing issues. What I have observed is mention below.&lt;/p&gt;
&lt;p&gt;1) To work with baud rate more than 9600 we need to use NVMC flash API instead of SD Api.&lt;/p&gt;
&lt;p&gt;2)&amp;nbsp; HWFC enabled is must to enable both BLE + Serial DFU.&lt;/p&gt;
&lt;p&gt;3) SoftDevice must not be enable to work with baud rate more than 9600.&lt;/p&gt;
&lt;p&gt;Below is something I did on my setup.&lt;/p&gt;
&lt;p&gt;1) Set gpregret2 register (as I&amp;#39;m not using for other purposes) to 1 if serial dfu is requested from application.&lt;br /&gt;Use this register to ensure ble transport layer will not init in Bootloader mode&lt;/p&gt;
&lt;p&gt;2) Set gpregret2 register to 0 in main.c to iensure ble transport layer will init in Bootloader mode.&lt;/p&gt;
&lt;p&gt;3) Use NVMC flash backend for Serial DFU. Inside serial_dfu.c in uart_event_handler function use below snippet.&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;        case NRF_DRV_UART_EVT_RX_DONE:
            if (count == 0)
            {
                (void)nrf_dfu_flash_init(false);
                count = 1;
            }
            on_rx_complete((serial_dfu_t*)p_context, p_event-&amp;gt;data.rxtx.p_data, p_event-&amp;gt;data.rxtx.bytes);
            break;
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;4) Check gpregret2 flag in ble_dfu.c and decide whether to enable SoftDevice or not.&lt;/p&gt;
&lt;p&gt;NOTE: for step 4 use NRF_POWER-&amp;gt;GPREGRET2; to read GPREGRET2 flag instead of SD_api as we want to access this before enabling SoftDevice to decide if we want to enable SoftDevice.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BLE + Serial DFU bootloader SDK 14.0</title><link>https://devzone.nordicsemi.com/thread/227960?ContentTypeID=1</link><pubDate>Tue, 07 Jan 2020 15:38:09 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:cf7a5519-74b0-4c9d-a888-759415680460</guid><dc:creator>bjorn-spockeli</dc:creator><description>&lt;p&gt;&lt;span&gt;Hi Hrishikesh,&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;with HWFC enabled you should be able to use a higher baudrate than 9600. There could be a timing issue with using a higher baudrate and fstorage using the SoftDevice flash API instead of the NVMC directly. As far as I know we never tested this as we designed the serial bootloader to not be dependent on the SD.&amp;nbsp;&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;Bjørn&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BLE + Serial DFU bootloader SDK 14.0</title><link>https://devzone.nordicsemi.com/thread/227406?ContentTypeID=1</link><pubDate>Fri, 03 Jan 2020 12:37:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0c51f9d9-8463-495c-a791-b7abbd138865</guid><dc:creator>hdadhich</dc:creator><description>&lt;p&gt;Hi Bjorn,&lt;/p&gt;
&lt;p&gt;In the free time I tried steps again mentioned &lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/23286/how-to-merge-serial-and-ble-dfu-without-flow-control"&gt;here.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I&amp;#39;m able to do DFU from serial (baudrate 9600 and HWFC disable).&lt;/p&gt;
&lt;p&gt;For higher Baudrate (115200) serial DFU is not working.&lt;/p&gt;
&lt;p&gt;When I disable the ble_transport and use nrf_fstorage_nvmc then I&amp;#39;m able to do DFU with Baudrate 115200 and HWFC enable.&lt;/p&gt;
&lt;p&gt;So I&amp;#39;m assuming BLE + Serial DFU will work for 9600 baud rate only? As BLE DFU will require ble_transport layer and nrf_fstorage_sd.&lt;/p&gt;
&lt;p&gt;Am I missing something?&lt;/p&gt;
&lt;p&gt;Thanks,&lt;/p&gt;
&lt;p&gt;Hrishikesh.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BLE + Serial DFU bootloader SDK 14.0</title><link>https://devzone.nordicsemi.com/thread/226882?ContentTypeID=1</link><pubDate>Fri, 27 Dec 2019 07:38:12 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2aee8d4a-43d2-4276-8800-2983e46735ce</guid><dc:creator>hdadhich</dc:creator><description>&lt;p&gt;Hi Bjorn,&lt;/p&gt;
&lt;p&gt;Thank you for the response.&lt;/p&gt;
&lt;p&gt;Yes, I&amp;#39;m initializing SoftDevice when I&amp;#39;m performing the serial DFU.&lt;/p&gt;
&lt;p&gt;Due to lack of time I tried one ugly trick, I did set a flag when we go in Bootloader mode from application and choose Serial or BLE transport layer depending on flag which worked well for me.&lt;/p&gt;
&lt;p&gt;Also one thing to mention, I was using default baud rate which is 115200 in sdk.config file which was failing without flow control.&lt;/p&gt;
&lt;p&gt;I had to configure baud rate to 9600 which is not mentioned &lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/23286/how-to-merge-serial-and-ble-dfu-without-flow-control"&gt;here&lt;/a&gt; and then serial DFU success without flow control.&lt;/p&gt;
&lt;p&gt;Is there any way I can increase the baud rate without flow control? Is it hardware limitation or JLink issue?&lt;/p&gt;
&lt;p&gt;Will it work on custom board for higher baud rate?&lt;/p&gt;
&lt;p&gt;Thanks,&lt;/p&gt;
&lt;p&gt;Hrishikesh.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BLE + Serial DFU bootloader SDK 14.0</title><link>https://devzone.nordicsemi.com/thread/226199?ContentTypeID=1</link><pubDate>Wed, 18 Dec 2019 15:13:00 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6e6f5ee5-c938-4b50-a15f-3ce564a7d617</guid><dc:creator>bjorn-spockeli</dc:creator><description>&lt;p&gt;&lt;span&gt;Hi Hrishikesh,&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Apologizes for the late reply.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Are you &lt;span style="font-size:12px;"&gt;initializing&lt;/span&gt;&amp;nbsp;the SoftDevice when you perform the serial DFU?&lt;/span&gt;&lt;/p&gt;
[quote user=""]When I set BLE_STACK_SUPPORT_REQD and do Serial DFU I get this &lt;strong&gt;&amp;lt;error&amp;gt; nrf_dfu_flash: !!! Failed storing 128 B at address: 0x00023080 error.&lt;/strong&gt;[/quote]
&lt;p&gt;&lt;span&gt;Please attach the entire log.&amp;nbsp;&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;Bjørn&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>