<?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>DFU Process</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/113144/dfu-process</link><description>nrf52840 17.1.0 s140 SDK :- examples/dfu/secure_bootloader/pca10056_s140_ble_debug 
 We are using nrf52840 17.1.0 s140 DK secure bootloader with BLE debug. We initialized the UART function. However, while performing DFU FOTA from a mobile device, I tried</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 24 Jul 2024 04:55:27 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/113144/dfu-process" /><item><title>RE: DFU Process</title><link>https://devzone.nordicsemi.com/thread/495322?ContentTypeID=1</link><pubDate>Wed, 24 Jul 2024 04:55:27 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:785f82e8-2a55-40bb-a903-fc255e246696</guid><dc:creator>RAJVARDHAN</dc:creator><description>&lt;p&gt;1. Hi thanks for your reply let me explain in simple way in booloader_ble_debug sdk after while performing dfu the new firmware is going to write in the flash instead of writing the data in flash the same should be sent in the uart&amp;nbsp;&lt;/p&gt;
&lt;p&gt;2. flash -&amp;gt; replace with UART transfer&amp;nbsp;&lt;/p&gt;
&lt;p&gt;3. So whenever it is required we will write in flash or we will send same data in UART only one at a time&amp;nbsp;&lt;/p&gt;
&lt;p&gt;4. we need to achieve this in booloader_ble_debug app&lt;/p&gt;
&lt;p&gt;New_firmware_write_func&lt;/p&gt;
&lt;p&gt;if(cond)&lt;/p&gt;
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt;uart_tx(data)&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;else&lt;/p&gt;
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt;&amp;nbsp;rc = nrf_fstorage_write(&amp;amp;m_fs, dest, p_src, len, (void *)callback);&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;5. We enabled UART transport in nrf_dfu_serial_uart.c for the nRF52840 using SDK version 17.1.0, S140. The relevant code is in examples/dfu/secure_bootloader/pca10056_s140_ble_debug:&lt;/p&gt;
&lt;p&gt;DFU_TRANSPORT_REGISTER(nrf_dfu_transport_t const uart_dfu_transport) =&lt;br /&gt;{&lt;br /&gt; &amp;nbsp;&amp;nbsp; .init_func&amp;nbsp; = uart_dfu_transport_init,&lt;br /&gt; &amp;nbsp;&amp;nbsp; .close_func = uart_dfu_transport_close,&lt;br /&gt;};&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: DFU Process</title><link>https://devzone.nordicsemi.com/thread/495274?ContentTypeID=1</link><pubDate>Tue, 23 Jul 2024 16:01:20 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2bfca149-b476-4eed-839a-035270a8f7c0</guid><dc:creator>Amanda Hsieh</dc:creator><description>&lt;p&gt;We are currently understaffed due to the summer vacation period, so delayed replies must be expected. I am sorry about any inconvenience this might cause.&lt;/p&gt;
[quote user=""]nrf52840 17.1.0 s140 SDK :- examples/dfu/secure_bootloader/pca10056_s140_ble_debug[/quote][quote user="RAJVARDHAN"]We are not using UART for logging; instead, we are sending binary data over UART, which is received during the DFU process.[/quote]
&lt;p&gt;I think you could use&amp;nbsp;nRF5_SDK_17.1.0_ddde560\examples\dfu\secure_bootloader&lt;span&gt;\&lt;/span&gt;pca10056_uart. See&amp;nbsp;&lt;a title="Secure DFU Bootloader over Serial Link (UART/USB)" href="https://infocenter.nordicsemi.com/topic/sdk_nrf5_v17.1.0/sdk_app_serial_dfu_bootloader.html?cp=9_1_4_4_4"&gt;Secure DFU Bootloader over Serial Link (UART/USB)&lt;/a&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: DFU Process</title><link>https://devzone.nordicsemi.com/thread/495164?ContentTypeID=1</link><pubDate>Tue, 23 Jul 2024 09:26:06 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d9925f73-5cee-4ad9-895f-256233b0e860</guid><dc:creator>RAJVARDHAN</dc:creator><description>&lt;p&gt;Hi Amanda,&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;We are not using UART for logging; instead, we are sending binary data over UART, which is received during the DFU process.&lt;/p&gt;
&lt;p&gt;we are facing some error during transmitting the data :&lt;/p&gt;
&lt;p&gt;static void on_write(ble_dfu_t * p_dfu, ble_evt_t const * p_ble_evt)&lt;/p&gt;
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt;nrf_drv_uart_tx(&amp;amp;m_uart, data, length);&lt;/p&gt;
&lt;p&gt;}&amp;nbsp;&lt;br /&gt;&lt;br /&gt;error:&lt;/p&gt;
&lt;p&gt;&amp;lt;error&amp;gt; nrf_dfu_serial_uart: UART buffer is busy after 3 retries&lt;br /&gt;&amp;lt;error&amp;gt; nrf_dfu_ble: Failed to send data via UART: 0x11&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: DFU Process</title><link>https://devzone.nordicsemi.com/thread/494598?ContentTypeID=1</link><pubDate>Thu, 18 Jul 2024 13:35:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e0a10f83-5a97-4266-bc44-eb7e60e4c741</guid><dc:creator>Amanda Hsieh</dc:creator><description>&lt;p&gt;Then try to use&amp;nbsp;&lt;span&gt;RTT for the log.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: DFU Process</title><link>https://devzone.nordicsemi.com/thread/494458?ContentTypeID=1</link><pubDate>Thu, 18 Jul 2024 04:42:22 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f652a2d0-dc13-407a-ba3d-90af54b6d5e0</guid><dc:creator>RAJVARDHAN</dc:creator><description>&lt;p&gt;Hi Amanda,&lt;/p&gt;
&lt;p&gt;We need to use UART to transfer the received data to another controller. We do not want to store the data in flash; instead, we want to transfer the data directly to the controller through UART.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: DFU Process</title><link>https://devzone.nordicsemi.com/thread/494392?ContentTypeID=1</link><pubDate>Wed, 17 Jul 2024 13:29:05 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:91771a85-e98b-4716-b180-f392c076f76a</guid><dc:creator>Amanda Hsieh</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
[quote user=""]I tried to print the received BLE packet using UART, but encountered the following error in the log:[/quote]
&lt;p&gt;&lt;span&gt;&lt;span dir="ltr"&gt;It sounds like you want to use UART for logging, but you&amp;nbsp;could use RTT for the same purpose.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span dir="ltr"&gt;The log shows that you have included both the BLE and UART transport in your bootloader, so another soluction is not to add the uart serial dfu transport.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span dir="ltr"&gt;Regards,&lt;br /&gt;Amanda H.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>