<?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>Secure bootloader ble with UART</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/112730/secure-bootloader-ble-with-uart</link><description>HI currently i am utilizing sdk ver 17.1.10 nrf52840 s140 we are using dfu/secure_bootloader/pca10056_ble app and i need to add UART app to it so that so we need both bootloader ble advertiser and with UART added to it currently we have added UART to</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 13 Aug 2024 10:56:40 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/112730/secure-bootloader-ble-with-uart" /><item><title>RE: Secure bootloader ble with UART</title><link>https://devzone.nordicsemi.com/thread/498003?ContentTypeID=1</link><pubDate>Tue, 13 Aug 2024 10:56:40 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a076e8c5-686d-4d3d-8b98-139b55cded67</guid><dc:creator>Hieu</dc:creator><description>[quote user="AP1"]i have attached files if you can tell us where it went wrong at least we can proceed further&amp;nbsp;[/quote]
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I usually only start considering debugging projects after there have been substantial evidences showing that it is necessary. That is not the case here. You will need to tell me what you have done, and what is not working in more details.&lt;/p&gt;
&lt;p&gt;If you need someone to help you&amp;nbsp;with your project, we do have a list of Design Partners here:&amp;nbsp;&lt;a href="https://www.nordicsemi.com/Resources/Nordic-Partners/Design-Partners"&gt;Design Partners - nordicsemi.com&lt;/a&gt;&lt;/p&gt;
[quote user="AP1"]1. Hi i went through the links provided but i doesn&amp;#39;t got much info to proceed further&amp;nbsp; i have attached files if you can tell us where it went wrong at least we can proceed further&amp;nbsp;[/quote]
&lt;p&gt;I do not believe the links I provided you does not have information.&amp;nbsp;Please&amp;nbsp;go over discussions carefully, visit the links that the people provided.&amp;nbsp;You will find references you can use in your implementation.&lt;/p&gt;
&lt;p&gt;If you insist that it doesn&amp;#39;t help, please answer these questions:&lt;/p&gt;
&lt;p&gt;Have you tried the solution? &lt;br /&gt;Can you&amp;nbsp;explain to me in some details why the discussion there does not help? &lt;br /&gt;What steps have you taken?&lt;br /&gt;What is not working?&lt;/p&gt;
[quote user="AP1"]3. we have added UART with wrapper function in&amp;nbsp;nrf_dfu_flash.c file&amp;nbsp; and changes in the&amp;nbsp; nrf_dfu_utils.c file so that it can able to accept irrespective of size[/quote]
&lt;p&gt;This is the only detail you have given me, and I must ask, why did you do that?&lt;/p&gt;
&lt;p&gt;The size check is there for a very good reason: preventing new download from overwriting important data regions. If your downloaded binary does not pass the size check, that means the binary is too big.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Secure bootloader ble with UART</title><link>https://devzone.nordicsemi.com/thread/497549?ContentTypeID=1</link><pubDate>Fri, 09 Aug 2024 05:37:24 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a7e5ea24-b986-4cf1-8d18-a08ada533304</guid><dc:creator>AP1</dc:creator><description>&lt;p&gt;1. Hi i went through the links provided but i doesn&amp;#39;t got much info to proceed further&amp;nbsp; i have attached files if you can tell us where it went wrong at least we can proceed further&amp;nbsp;&lt;/p&gt;
&lt;p&gt;2. \..\..\nRF5_SDK_17.1.0_ddde560_ver_1.1\examples\dfu\secure_bootloader\pca10056_s140_ble_debug&lt;/p&gt;
&lt;p&gt;3. we have added UART with wrapper function in&amp;nbsp;nrf_dfu_flash.c file&amp;nbsp; and changes in the&amp;nbsp; nrf_dfu_utils.c file so that it can able to accept irrespective of size&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/nRF5_5F00_SDK_5F00_17.1.0_5F00_ddde560_5F00_ver_5F00_1.1.zip"&gt;devzone.nordicsemi.com/.../nRF5_5F00_SDK_5F00_17.1.0_5F00_ddde560_5F00_ver_5F00_1.1.zip&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Secure bootloader ble with UART</title><link>https://devzone.nordicsemi.com/thread/497364?ContentTypeID=1</link><pubDate>Wed, 07 Aug 2024 14:57:54 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3c273fc0-a1e5-48ea-bcbe-5e14f914cbe2</guid><dc:creator>Hieu</dc:creator><description>&lt;p&gt;My question was not what your requirements are. They were plenty clear from the diagrams.&lt;/p&gt;
&lt;p&gt;The question was: What do you need help with?&lt;/p&gt;
&lt;p&gt;I already provide&amp;nbsp;links&amp;nbsp;with details on&amp;nbsp;the current solution in the nRF5 SDK.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Secure bootloader ble with UART</title><link>https://devzone.nordicsemi.com/thread/496904?ContentTypeID=1</link><pubDate>Mon, 05 Aug 2024 07:12:45 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ab7103dc-cce6-42e1-ade4-e7afd682dd58</guid><dc:creator>AP1</dc:creator><description>&lt;p&gt;1. in secure bootloader/pca10056_ble_debug sdk we need to add uart&lt;/p&gt;
&lt;p&gt;2. For to tx the bin data to the other controller device&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Secure bootloader ble with UART</title><link>https://devzone.nordicsemi.com/thread/496026?ContentTypeID=1</link><pubDate>Mon, 29 Jul 2024 13:36:28 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9d56974f-d287-44a6-ad1a-4566ebdd4c61</guid><dc:creator>Hieu</dc:creator><description>&lt;p&gt;Unfortunately, I still don&amp;#39;t understand what you want help with, or if there is any issue at all.&lt;/p&gt;
[quote user="vthieu"]&lt;p&gt;I really sorry, but I am still unclear what the problem or question is, or if there is any.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Could you please use shorter sentences and more punctuations?&lt;/p&gt;[/quote]&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Secure bootloader ble with UART</title><link>https://devzone.nordicsemi.com/thread/495321?ContentTypeID=1</link><pubDate>Wed, 24 Jul 2024 04:48:43 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:21d2cd28-f441-47f7-820c-fa15d6af7432</guid><dc:creator>AP1</dc:creator><description>&lt;p&gt;Hi our requirement is instead of writing the data in flash for new bin the same bin data should be tx via uart we will comment the flash writing part in bootloader_ble_debug NOTE: this one we need to achieve through he secure_booloader/ble_bootloader_debug sdk&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Secure bootloader ble with UART</title><link>https://devzone.nordicsemi.com/thread/493995?ContentTypeID=1</link><pubDate>Mon, 15 Jul 2024 21:25:57 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7ccaf0e9-bcd8-4fb4-bec5-8a5065cfed41</guid><dc:creator>Hieu</dc:creator><description>&lt;p&gt;I really sorry, but I am still unclear what the problem or question is, or if there is any.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Could you please use shorter sentences and more punctuations?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Secure bootloader ble with UART</title><link>https://devzone.nordicsemi.com/thread/493752?ContentTypeID=1</link><pubDate>Sat, 13 Jul 2024 14:28:53 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:cfb76f83-f695-421c-83a8-495a7839b852</guid><dc:creator>AP1</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;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Secure bootloader ble with UART</title><link>https://devzone.nordicsemi.com/thread/493748?ContentTypeID=1</link><pubDate>Sat, 13 Jul 2024 12:44:37 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1c677a9e-776f-421a-88f7-261c1046521e</guid><dc:creator>Hieu</dc:creator><description>&lt;p&gt;Hi AP1,&lt;/p&gt;
&lt;p&gt;You have created a new ticket for this BLE connection issue,&amp;nbsp;so let&amp;#39;s try to fix the issue over there.&lt;/p&gt;
&lt;p&gt;Regarding the requirement you have listed here,&amp;nbsp;what kind of help do you expect from the community and Nordic here? I am a little unclear.&lt;/p&gt;
&lt;p&gt;There is one part in your requirement that says that the image is only saved to flash if the image is for the current device.&lt;/p&gt;
&lt;p&gt;Whether this is possible or not&amp;nbsp;depends on what you mean by saved to flash. The image itself is always downloaded to flash memory. It is just first downloaded to the unused spare space, and then copied over to the application region when confirmed. Refer to:&amp;nbsp;&lt;a href="https://docs.nordicsemi.com/bundle/sdk_nrf5_v17.1.0/page/lib_bootloader_dfu_banks.html"&gt;nRF5 SDK v17.1.0: Dual-bank and single-bank updates (nordicsemi.com)&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;As for transferring the image to another device over UART, you&amp;nbsp;will want to take a look at the &lt;em&gt;experimental&lt;/em&gt;&amp;nbsp;&lt;a href="https://docs.nordicsemi.com/bundle/sdk_nrf5_v17.1.0/page/group__nrf__dfu__config.html#ga96b351c9068e9d0aa1c396f2d2697295"&gt;NRF_DFU_SUPPORTS_EXTERNAL_APP&lt;/a&gt;&amp;nbsp;feature.&lt;br /&gt;It is discussed in this DevZone case:&amp;nbsp;&amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/108200/ota-from-application-layer"&gt;OTA from application layer&lt;/a&gt;&amp;nbsp;.&lt;/p&gt;
&lt;p&gt;I do not think you will want to enable UART as a DFU transport if you are doing this. If I understand correctly, the DFU libraries and bootloader just&amp;nbsp;trigger a user implemented callback to start sending the image and does not itself take part in the sending. You will only need to enable UART functionality&amp;nbsp;like you do&amp;nbsp;in a regular app. I am not 100% certain about this last part, please go over the resources mentioned in the linked DevZone case.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Secure bootloader ble with UART</title><link>https://devzone.nordicsemi.com/thread/493297?ContentTypeID=1</link><pubDate>Thu, 11 Jul 2024 07:17:11 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2fd73a0d-540a-4dfc-a650-ab27eeb7f17a</guid><dc:creator>AP1</dc:creator><description>&lt;p&gt;1. Hi currently i am using nrf52840 sdk ver 17.1.0 s140 sd we have added UART in the secure bootloader/ Bootloader_ble_debug&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;2. we can able to send multiple bytes once&amp;nbsp; ie&amp;nbsp;&lt;span&gt;&lt;span class="ui-provider a b c d e f g h i j k l m n o p q r s t u v w x y z ab ac ae af ag ah ai aj ak" dir="ltr"&gt;53 46 30 04 02 01 00 FF 00 00 45 46 on reset of device&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="ui-provider a b c d e f g h i j k l m n o p q r s t u v w x y z ab ac ae af ag ah ai aj ak" dir="ltr"&gt;3. we have sending through the func&amp;nbsp;&amp;nbsp;ret_code_t ret = nrf_drv_uart_tx(&amp;amp;m_uart, data, sizeof(data));&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="ui-provider a b c d e f g h i j k l m n o p q r s t u v w x y z ab ac ae af ag ah ai aj ak" dir="ltr"&gt;4. while we tried to connect from mobile app but we are unable to connect to dfuTarg&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="ui-provider a b c d e f g h i j k l m n o p q r s t u v w x y z ab ac ae af ag ah ai aj ak" dir="ltr"&gt;Logs&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="ui-provider a b c d e f g h i j k l m n o p q r s t u v w x y z ab ac ae af ag ah ai aj ak" dir="ltr"&gt;&amp;lt;info&amp;gt; app: Inside main&lt;br /&gt;&amp;lt;debug&amp;gt; app: In nrf_bootloader_init&lt;br /&gt;&amp;lt;debug&amp;gt; nrf_dfu_settings: Calling nrf_dfu_settings_init()...&lt;br /&gt;&amp;lt;debug&amp;gt; nrf_dfu_flash: Initializing nrf_fstorage_nvmc backend.&lt;br /&gt;&amp;lt;debug&amp;gt; nrf_dfu_settings: Using settings page.&lt;br /&gt;&amp;lt;debug&amp;gt; nrf_dfu_settings: Copying forbidden parts from backup page.&lt;br /&gt;&amp;lt;debug&amp;gt; nrf_dfu_settings: Destination settings are identical to source, write not needed. Skipping.&lt;br /&gt;&amp;lt;info&amp;gt; nrf_dfu_settings: Backing up settings page to address 0xFE000.&lt;br /&gt;&amp;lt;debug&amp;gt; nrf_dfu_settings: Destination settings are identical to source, write not needed. Skipping.&lt;br /&gt;&amp;lt;debug&amp;gt; app: Enter nrf_bootloader_fw_activate&lt;br /&gt;&amp;lt;info&amp;gt; app: No firmware to activate.&lt;br /&gt;&amp;lt;info&amp;gt; app: Boot validation failed. No valid app to boot.&lt;br /&gt;&amp;lt;debug&amp;gt; app: DFU mode because app is not valid.&lt;br /&gt;&amp;lt;info&amp;gt; nrf_bootloader_wdt: WDT is not enabled&lt;br /&gt;&amp;lt;debug&amp;gt; app: in weak nrf_dfu_init_user&lt;br /&gt;&amp;lt;debug&amp;gt; app: timer_stop (0x200059BC)&lt;br /&gt;&amp;lt;debug&amp;gt; app: timer_activate (0x200059BC)&lt;br /&gt;&amp;lt;info&amp;gt; app: Entering DFU mode.&lt;br /&gt;&amp;lt;debug&amp;gt; app: Initializing transports (found: 2)&lt;br /&gt;&amp;lt;debug&amp;gt; nrf_dfu_ble: Initializing BLE DFU transport&lt;br /&gt;&amp;lt;debug&amp;gt; nrf_dfu_ble: Setting up vector table: 0x000E8000&lt;br /&gt;&amp;lt;debug&amp;gt; nrf_dfu_ble: Enabling SoftDevice.&lt;br /&gt;&amp;lt;debug&amp;gt; nrf_dfu_ble: Configuring BLE stack.&lt;br /&gt;&amp;lt;debug&amp;gt; nrf_dfu_ble: Enabling the BLE stack.&lt;br /&gt;&amp;lt;debug&amp;gt; nrf_dfu_ble: No advertising name found&lt;br /&gt;&amp;lt;debug&amp;gt; nrf_dfu_ble: Using default advertising name&lt;br /&gt;&amp;lt;debug&amp;gt; nrf_dfu_ble: Advertising...&lt;br /&gt;&amp;lt;debug&amp;gt; nrf_dfu_ble: BLE DFU transport initialized.&lt;br /&gt;&amp;lt;debug&amp;gt; nrf_dfu_serial_uart: serial_dfu_transport_init()&lt;br /&gt;&amp;lt;debug&amp;gt; nrf_dfu_serial_uart: serial_dfu_transport_init() completed&lt;br /&gt;&amp;lt;info&amp;gt; nrf_dfu_serial_uart: Sending initial byte 0x24&lt;br /&gt;&amp;lt;debug&amp;gt; nrf_dfu_flash: Initializing nrf_fstorage_sd backend.&lt;br /&gt;&amp;lt;debug&amp;gt; app: Enter main loop&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="ui-provider a b c d e f g h i j k l m n o p q r s t u v w x y z ab ac ae af ag ah ai aj ak" dir="ltr"&gt;our settings as follows&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="ui-provider a b c d e f g h i j k l m n o p q r s t u v w x y z ab ac ae af ag ah ai aj ak" dir="ltr"&gt;&lt;img alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/pastedimage1720682105719v1.png" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="ui-provider a b c d e f g h i j k l m n o p q r s t u v w x y z ab ac ae af ag ah ai aj ak" dir="ltr"&gt;&lt;img alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/pastedimage1720682124292v2.png" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Secure bootloader ble with UART</title><link>https://devzone.nordicsemi.com/thread/493060?ContentTypeID=1</link><pubDate>Wed, 10 Jul 2024 04:40:43 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:bb8b8360-21fa-454a-8739-e39cb64ade1e</guid><dc:creator>AP1</dc:creator><description>&lt;p&gt;Hi i have updated the requirement can please go through it&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Secure bootloader ble with UART</title><link>https://devzone.nordicsemi.com/thread/492852?ContentTypeID=1</link><pubDate>Tue, 09 Jul 2024 05:06:44 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:57dd58d6-b65d-4af9-a5cd-5573d163bc3c</guid><dc:creator>AP1</dc:creator><description>&lt;p&gt;Hi edvin i have provided the feature requirement anything on this one&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Secure bootloader ble with UART</title><link>https://devzone.nordicsemi.com/thread/492572?ContentTypeID=1</link><pubDate>Sun, 07 Jul 2024 06:05:27 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7ec643a8-e80f-4962-9a46-30d082a64e05</guid><dc:creator>AP1</dc:creator><description>&lt;p&gt;Hi thanks for the reply our setup&amp;nbsp;&lt;/p&gt;
&lt;p&gt;1. Ble bootloader without any modification in this we need to achieve accept non ble bins and TX the non ble bins in uart irrespective of size&lt;/p&gt;
&lt;p&gt;2. so we already able to perform non ble bins DFU OTA for any length thats working fine but we need an UART in the ble boorloader code so that we can tranfer the bin data over UART&amp;nbsp;&lt;/p&gt;
&lt;p&gt;requirement&lt;/p&gt;
&lt;p&gt;1. it can able to accept non ble bins irrespective of the length&amp;nbsp;&lt;/p&gt;
&lt;p&gt;2. we wiill add uart to the ble bootloader for only to transmit ,RX is not required for us&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Description :&lt;/p&gt;
&lt;p&gt;1. In UART bootloader sdk&amp;nbsp; it will not advertise but it has only UART RX but we need both TX and ble bootloader advertise&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Note : so we need a sdk where it will advertise in dfu mode whenever required&amp;nbsp; and able to perform dfu ota through mobile app for both&amp;nbsp; ble bins and non ble bins and&amp;nbsp; also should TX the non ble bins which is received through ble bootloader via UART TX PIN and write the nordic ble bins to the flash area as it is with dfu process&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:613px;max-width:632px;" alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/1264x1226/__key/communityserver-discussions-components-files/4/pastedimage1720332423019v2.png" /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Secure bootloader ble with UART</title><link>https://devzone.nordicsemi.com/thread/492568?ContentTypeID=1</link><pubDate>Sat, 06 Jul 2024 21:40:09 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d7b7d27d-7100-42f0-83da-8061fefbd8c8</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;The length (and the signature of the image) is checked after the init packet is sent.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;From what I understand you have this setup:&lt;/p&gt;
&lt;p&gt;[Mobile device (or other BLE device)] &amp;lt;--- BLE ---&amp;gt; [nRF device running a modified BLE bootloader] &amp;lt;--- UART ---&amp;gt; [nRF running a UART bootloader]&lt;/p&gt;
&lt;p&gt;right?&lt;/p&gt;
&lt;p&gt;So where do you want to check the length? On the device in the middle, or on the nRF running the UART bootloader?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;And how do you generate your DFU images? Using nrfutil? Or are you sending the raw binary files somehow?&lt;/p&gt;
&lt;p&gt;If you are using nrfutil to generate the DFU image (zip file), then it contains the init packet (containing information about length and signature), and the actual DFU image, containing the new application.&lt;/p&gt;
&lt;p&gt;The place that normally checks the init packet (and thus, the length) is the function:&amp;nbsp;nrf_dfu_validation_init_cmd_execute(). But you should decide whether you need to check this on your BLE device, or if you should just forward the command that initializes this check to the UART bootloader.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Edvin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Secure bootloader ble with UART</title><link>https://devzone.nordicsemi.com/thread/492564?ContentTypeID=1</link><pubDate>Sat, 06 Jul 2024 14:50:23 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a713a29d-1384-43ae-881a-dd6382ee4f6e</guid><dc:creator>AP1</dc:creator><description>&lt;p&gt;Hi thanks for the reply what about this point&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;3. one more thing is there any checks for the size for uploading zip file via mobile app if it is there where should i check in secure bootloader/pca10056_ble sdk&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Beacuse we already tried with other than nordic bin in which we observe that if the size of the bin is more than 1 MB than it was unable to perform DFU OTA but for less than 1 MB it is ok to perform DFU OTA&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;It is possible to perform dfu ota&amp;nbsp; and transfer those bytes via UART Transport layer ?&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Secure bootloader ble with UART</title><link>https://devzone.nordicsemi.com/thread/492545?ContentTypeID=1</link><pubDate>Fri, 05 Jul 2024 22:18:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5cc77e72-f3a7-41ca-836d-c12091359eb0</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;Oh, sorry. I misunderstood.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The init packet is sent first, and is used by the bootloader to determine whether or not to store the rest of the image. This protocol isn&amp;#39;t very good documented. But do you want to do this test locally before forwarding the packet over UART, or do you want to check it on the device that receives the UART messages? Because the signature of the init packet and DFU image itself needs to be checked on the device that actually holds the keys for the bootloader/image.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
[quote user="AP1"]4. we added uart to the secure bootloader /pca10056_ble&amp;nbsp; whenever we call func&amp;nbsp;&amp;nbsp;&lt;span&gt;&lt;span dir="ltr"&gt; app_uart_put(data[i]) in main func device unable to advertise&amp;nbsp;&lt;/span&gt;&lt;/span&gt;[/quote]
&lt;p&gt;So what do you observe? Do you just don&amp;#39;t see the advertisements, or did you actually try to debug the bootloader? In cases like these, when you are modifying the bootloader, I suggest you use the pca10056_ble_&lt;strong&gt;debug&amp;nbsp;&lt;/strong&gt;bootloader, so that you can check the logs from the bootloader. This way it is easier to check where things don&amp;#39;t go as planned.&lt;/p&gt;
&lt;p&gt;When it is unable to advertise, what does the log say?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Edvin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Secure bootloader ble with UART</title><link>https://devzone.nordicsemi.com/thread/492287?ContentTypeID=1</link><pubDate>Thu, 04 Jul 2024 13:32:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8125f322-c1ce-4135-8afa-a57ab869e064</guid><dc:creator>AP1</dc:creator><description>&lt;p&gt;1. Hi thanks for the reply our requirements is we will use uart to transport the bin file which will receive in the dfu ota Ie through mobile instead of storing in the flash after uploading the bin from mobile&lt;/p&gt;
&lt;p&gt;2. It should check some condition whether it should perform dfu ble for nordic or just take the bin to uart via uart we will transfer the data to other device so main thing is we should perform dfu via mobile app and the data should transfer in uart&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;3. one more thing is there any checks for the size for uploading zip file via mobile app if it is there where should i check in secure bootloader/pca10056_ble sdk&lt;/p&gt;
&lt;p&gt;4. we added uart to the secure bootloader /pca10056_ble&amp;nbsp; whenever we call func&amp;nbsp;&amp;nbsp;&lt;span&gt;&lt;span class="ui-provider a b c d e f g h i j k l m n o p q r s t u v w x y z ab ac ae af ag ah ai aj ak" dir="ltr"&gt; app_uart_put(data[i]) in main func device unable to advertise&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Secure bootloader ble with UART</title><link>https://devzone.nordicsemi.com/thread/492216?ContentTypeID=1</link><pubDate>Thu, 04 Jul 2024 10:46:07 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7143a2b5-559c-4d90-951a-3649ac6a72f2</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;Oh, you may also need these in your sdk_config.h:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;// &amp;lt;h&amp;gt; nrf_dfu_serial_uart - UART DFU transport

//==========================================================
// &amp;lt;q&amp;gt; NRF_DFU_SERIAL_UART_USES_HWFC  - HWFC configuration
 

#ifndef NRF_DFU_SERIAL_UART_USES_HWFC
#define NRF_DFU_SERIAL_UART_USES_HWFC 1
#endif

// &amp;lt;o&amp;gt; NRF_DFU_SERIAL_UART_RX_BUFFERS - Number of RX buffers. 
// &amp;lt;i&amp;gt; Number of buffers depends on flash access vs.
// &amp;lt;i&amp;gt; transport throughtput. If value is too low it may lead
// &amp;lt;i&amp;gt; to received packets being dropped.

#ifndef NRF_DFU_SERIAL_UART_RX_BUFFERS
#define NRF_DFU_SERIAL_UART_RX_BUFFERS 3
#endif

// &amp;lt;/h&amp;gt; 
//==========================================================

// &amp;lt;/h&amp;gt; 
//==========================================================
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;If it complains about other things that are lacking, look for it in the uart bootloader, and include it in your current bootloader.&lt;/p&gt;
&lt;p&gt;BR,&lt;br /&gt;Edvin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Secure bootloader ble with UART</title><link>https://devzone.nordicsemi.com/thread/492215?ContentTypeID=1</link><pubDate>Thu, 04 Jul 2024 10:44:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3215e588-8345-4625-8084-f40d94a27547</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;It should be possible to add uart to the BLE bootloader. But the way it is added in the bootloader is a bit strange.&lt;/p&gt;
&lt;p&gt;If you look at nrf_dfu_serial_uart.c, line 86:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;DFU_TRANSPORT_REGISTER(nrf_dfu_transport_t const uart_dfu_transport) =
{
    .init_func  = uart_dfu_transport_init,
    .close_func = uart_dfu_transport_close,
};&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;So simply by including this file, uart will be added as a DFU transport layer. This is then fetched by nrf_dfu_transports_init() in nrf_dfu_transport.c.&lt;/p&gt;
&lt;p&gt;So it should be a matter of adding nrf_dfu_serial_uart.c (and including the folder that contains nrf_dfu_serial.h), and try to build. If it complains about lacking functions/files, then keep adding until it builds without warnings/errors.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Edvin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>