<?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>Firmware Update over UART Interface</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/70274/firmware-update-over-uart-interface</link><description>Hello, 
 Background: I have a custom board that contains nRF52832 module and exposes UART pins (RX, TX, RTS, CTS). I have developed an application using nRF5 SDK v17.0.2. The application does not use any so -called SoftDevice. 
 Objective: I want to develop</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 16 Feb 2021 13:01:13 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/70274/firmware-update-over-uart-interface" /><item><title>RE: Firmware Update over UART Interface</title><link>https://devzone.nordicsemi.com/thread/294630?ContentTypeID=1</link><pubDate>Tue, 16 Feb 2021 13:01:13 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b7253b04-be8b-4d5f-b506-08aaef346bc8</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Jatala,&amp;nbsp;&lt;br /&gt;If you update without a softdevice you should use the --sd-req 0x00 instead of 0xFF, my mistake.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;It&amp;#39;s described &lt;a href="https://infocenter.nordicsemi.com/topic/sdk_nrf5_v17.0.2/lib_bootloader_dfu_validation.html?cp=7_1_3_5_1_1_2_2#lib_bootloader_sd_families"&gt;here&lt;/a&gt;. Please look for &amp;quot;Updates without a Softdevice&amp;quot; section.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I attached&amp;nbsp; here my mergehex.exe I used. It&amp;#39;s version 10.10.0 But I don&amp;#39;t think v10.12.1 would be the real cause. Please try merge again.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/mergehex.exe"&gt;devzone.nordicsemi.com/.../mergehex.exe&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Firmware Update over UART Interface</title><link>https://devzone.nordicsemi.com/thread/294488?ContentTypeID=1</link><pubDate>Mon, 15 Feb 2021 20:43:42 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:36c8cba3-5767-4483-9a05-5b46c084cbfc</guid><dc:creator>Jatala</dc:creator><description>[quote userid="2121" url="~/f/nordic-q-a/70274/firmware-update-over-uart-interface/293292#293292"]So I strongly suggest you to check the mergehex version you are using.&amp;nbsp;[/quote]
&lt;p&gt;That is puzzling. I installed &amp;#39;mergehex&amp;#39; as a part of &amp;#39;nRF Command Line Tools&amp;#39; nRF-Command-Line-Tools_10_12_1_Installer_64.exe. &lt;/p&gt;
&lt;p&gt;mergehex version: 10.12.1&lt;/p&gt;
&lt;p&gt;Could you please tell me the mergehex version that you are using. May be the version that I am using has some bug. &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Firmware Update over UART Interface</title><link>https://devzone.nordicsemi.com/thread/294485?ContentTypeID=1</link><pubDate>Mon, 15 Feb 2021 19:33:57 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:72a7f71c-c6f4-49ee-b135-02217a723320</guid><dc:creator>Jatala</dc:creator><description>&lt;p&gt;Hi Hung, &lt;/p&gt;
&lt;p&gt;I generated DFU .zip package for an updated version of application:&lt;/p&gt;
&lt;p&gt;nrfutil pkg generate --hw-version 52 --application-version 1 --application appnew.hex --sd-req 0xFF --key-file my_private_key.key app_dfu_package_new.zip&lt;/p&gt;
&lt;p&gt;But when tried to do DFU with &amp;#39;nrfutil dfu serial&amp;#39; command, I get the following error&amp;nbsp;&lt;strong&gt; &amp;#39;Extended Error 0x07: The array of supported SoftDevices for the update does not contain the FWID of the current SoftDevice&amp;#39;&lt;/strong&gt;, although I am not using any softdevice. Any idea how to resolve this problem. &lt;/p&gt;
&lt;p&gt;Complete log of the&amp;nbsp; command &amp;#39;nrfutil dfu serial&amp;#39; here: &lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;Traceback (most recent call last):&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;&amp;nbsp; File &amp;quot;/home/pi/.local/bin/nrfutil&amp;quot;, line 10, in &amp;lt;module&amp;gt;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sys.exit(cli())&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;&amp;nbsp; File &amp;quot;/usr/lib/python2.7/dist-packages/click/core.py&amp;quot;, line 764, in __call__&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return self.main(*args, **kwargs)&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;&amp;nbsp; File &amp;quot;/usr/lib/python2.7/dist-packages/click/core.py&amp;quot;, line 717, in main&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; rv = self.invoke(ctx)&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;&amp;nbsp; File &amp;quot;/usr/lib/python2.7/dist-packages/click/core.py&amp;quot;, line 1137, in invoke&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return _process_result(sub_ctx.command.invoke(sub_ctx))&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;&amp;nbsp; File &amp;quot;/usr/lib/python2.7/dist-packages/click/core.py&amp;quot;, line 1137, in invoke&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return _process_result(sub_ctx.command.invoke(sub_ctx))&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;&amp;nbsp; File &amp;quot;/usr/lib/python2.7/dist-packages/click/core.py&amp;quot;, line 956, in invoke&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return ctx.invoke(self.callback, **ctx.params)&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;&amp;nbsp; File &amp;quot;/usr/lib/python2.7/dist-packages/click/core.py&amp;quot;, line 555, in invoke&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return callback(*args, **kwargs)&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;&amp;nbsp; File &amp;quot;/home/pi/.local/lib/python2.7/site-packages/nordicsemi/__main__.py&amp;quot;, line 1042, in serial&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; timeout)&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;&amp;nbsp; File &amp;quot;/home/pi/.local/lib/python2.7/site-packages/nordicsemi/__main__.py&amp;quot;, line 956, in do_serial&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; dfu.dfu_send_images()&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;&amp;nbsp; File &amp;quot;/home/pi/.local/lib/python2.7/site-packages/nordicsemi/dfu/dfu.py&amp;quot;, line 129, in dfu_send_images&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; self._dfu_send_image(self.manifest.application)&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;&amp;nbsp; File &amp;quot;/home/pi/.local/lib/python2.7/site-packages/nordicsemi/dfu/dfu.py&amp;quot;, line 97, in _dfu_send_image&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; self.dfu_transport.send_init_packet(data)&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;&amp;nbsp; File &amp;quot;/home/pi/.local/lib/python2.7/site-packages/nordicsemi/dfu/dfu_transport_serial.py&amp;quot;, line 256, in send_init_packet&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; self.__execute()&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;&amp;nbsp; File &amp;quot;/home/pi/.local/lib/python2.7/site-packages/nordicsemi/dfu/dfu_transport_serial.py&amp;quot;, line 421, in __execute&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; self.__get_response(DfuTransportSerial.OP_CODE['Execute'])&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;&amp;nbsp; File &amp;quot;/home/pi/.local/lib/python2.7/site-packages/nordicsemi/dfu/dfu_transport_serial.py&amp;quot;, line 502, in __get_response&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; raise NordicSemiException(&amp;#39;Extended Error 0x{:02X}: {}&amp;#39;.format(resp[3], data))&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;pc_ble_driver_py.exceptions.NordicSemiException: Extended Error 0x07: The array of supported SoftDevices for the update does not contain the FWID of the current SoftDevice.&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Firmware Update over UART Interface</title><link>https://devzone.nordicsemi.com/thread/293860?ContentTypeID=1</link><pubDate>Wed, 10 Feb 2021 18:21:08 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:bababbd9-1d87-492f-a673-0bd4060781d7</guid><dc:creator>Jatala</dc:creator><description>&lt;p&gt;Thanks Hung for all the help. Flashing the merged file works and booloader is successfully entered in DFU mode from my application by resetting the bit of the relevant register and softrest. Now I will attempt the DFU over UART.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Firmware Update over UART Interface</title><link>https://devzone.nordicsemi.com/thread/293292?ContentTypeID=1</link><pubDate>Mon, 08 Feb 2021 10:35:42 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ccfb5c19-e762-4803-af91-5ab50b90e5fa</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi&amp;nbsp; Jatala,&amp;nbsp;&lt;br /&gt;Sorry that I forgot to attach the allmerged2.hex.&amp;nbsp;&lt;br /&gt;I reattached it here, with the allmerged.hex that you generated. There are some slight different (you can use Notepad++ to compare the 2 hex files)&amp;nbsp;&lt;br /&gt;So I strongly suggest you to check the mergehex version you are using.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Please don&amp;#39;t use nRF COnnect app for DFU and bootloader project, please use nrfjprog.exe&amp;nbsp;&lt;/p&gt;
&lt;p&gt;You don&amp;#39;t even need to use merge hex.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
[quote user="Jatala"]&lt;p&gt;&lt;span style="font-size:inherit;"&gt;- For the MBR, I just take the hex file from \components\softdevice\mbr\hex and merge it with the others and then flash the result, right? &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:inherit;"&gt;- Moving application to address 0x1000, I suppose I need to specify this in the Linker settings (Segger Embedded Studio) of application, very much like it is done in the configuration of&amp;nbsp; \examples\peripheral\blinky\pca10040\mbr&lt;/span&gt;&lt;/p&gt;[/quote]
&lt;p&gt;&amp;nbsp;=&amp;gt; Correct.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/allmerged2.hex"&gt;devzone.nordicsemi.com/.../allmerged2.hex&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/8865.allmerged.hex"&gt;devzone.nordicsemi.com/.../8865.allmerged.hex&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Firmware Update over UART Interface</title><link>https://devzone.nordicsemi.com/thread/293002?ContentTypeID=1</link><pubDate>Thu, 04 Feb 2021 23:26:49 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ef373608-565a-4b0c-a441-87cd3dd4ffcb</guid><dc:creator>Jatala</dc:creator><description>&lt;p&gt;Thanks Hung,&lt;/p&gt;
&lt;p&gt;- As I reported in my last two posts. The flashing of allmerged.hex file works with &amp;#39;&lt;strong&gt;nrfjprog --reset --program allmerged.hex --family NRF52 --sectoranduicrerase&lt;/strong&gt;&amp;#39; command. But when the same file is opened with&lt;span style="font-size:inherit;"&gt; the Programmer tool in nRF Connect app, gives error message &amp;quot;&lt;strong&gt;Overlapping data around address ....&lt;/strong&gt;&amp;quot;. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:inherit;"&gt;- For the MBR, I just take the hex file from \components\softdevice\mbr\hex and merge it with the others and then flash the result, right? &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:inherit;"&gt;- Moving application to address 0x1000, I suppose I need to specify this in the Linker settings (Segger Embedded Studio) of application, very much like it is done in the configuration of&amp;nbsp; \examples\peripheral\blinky\pca10040\mbr &lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:inherit;"&gt;&lt;img src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/4/pastedimage1612482882097v1.png" alt=" " /&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Firmware Update over UART Interface</title><link>https://devzone.nordicsemi.com/thread/292950?ContentTypeID=1</link><pubDate>Thu, 04 Feb 2021 14:19:11 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:29c880d9-22c4-4cd5-abd8-e1ce848469e4</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi,&amp;nbsp;&lt;br /&gt;Please check your&amp;nbsp; mergehex.exe, because when I did exact command you used:&amp;nbsp;&lt;br /&gt;&lt;strong&gt;mergehex --merge bootloader_setting.hex bootloader.hex app.hex --output allmerged.hex&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I got a allmerged2.hex and I can flash withour any problem.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;However, there is an issue that you don&amp;#39;t flash the MBR. I mentioned in the previous reply, if you don&amp;#39;t flash the softdevice you need to flash the MBR (located at \components\softdevice\mbr\hex) . It&amp;#39;s the piece of code that execute the bootloader instead of the application when the device booting up.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;And also you need to move your application to address 0x1000 when you use it with the MBR, please have a look at the Blinky example which we has the MBR version: \examples\peripheral\blinky\pca10040\mbr&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Firmware Update over UART Interface</title><link>https://devzone.nordicsemi.com/thread/292773?ContentTypeID=1</link><pubDate>Wed, 03 Feb 2021 21:18:30 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a2dad037-afc0-4385-bf17-117020537884</guid><dc:creator>Jatala</dc:creator><description>&lt;p&gt;Hi Hung,&lt;/p&gt;
&lt;p&gt;See files (bootloader, bootloader setting, application, and merged) in attachment&amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/7384.bootloader.hex"&gt;devzone.nordicsemi.com/.../7384.bootloader.hex&lt;/a&gt;. ,&amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/5241.bootloader_5F00_setting.hex"&gt;devzone.nordicsemi.com/.../5241.bootloader_5F00_setting.hex&lt;/a&gt;,&amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/4645.app.hex"&gt;devzone.nordicsemi.com/.../4645.app.hex&lt;/a&gt;,&amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/allmerged.hex"&gt;devzone.nordicsemi.com/.../allmerged.hex&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Here is output log from relevant commands :&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;gt;&amp;nbsp; nrfutil settings generate --family NRF52 --application app.hex --application-version 0 --bootloader-version 0 --bl-settings-version 2 bootloader_setting.hex&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Note: Generating a DFU settings page with backup page included.&lt;br /&gt;This is only required for bootloaders from nRF5 SDK 15.1 and newer.&lt;br /&gt;If you want to skip backup page generation, use --no-backup option.&lt;br /&gt;&lt;br /&gt;Generated Bootloader DFU settings .hex file and stored it in: bootloader_setting.hex&lt;br /&gt;&lt;br /&gt;Bootloader DFU Settings:&lt;br /&gt;* File:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bootloader_setting.hex&lt;br /&gt;* Family:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nRF52&lt;br /&gt;* Start Address:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x0007F000&lt;br /&gt;* CRC:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00197635&lt;br /&gt;* Settings Version:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000002 (2)&lt;br /&gt;* App Version:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000000 (0)&lt;br /&gt;* Bootloader Version:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000000 (0)&lt;br /&gt;* Bank Layout:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000000&lt;br /&gt;* Current Bank:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000000&lt;br /&gt;* Application Size:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x000045EC (17900 bytes)&lt;br /&gt;* Application CRC:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x3ACE56BA&lt;br /&gt;* Bank0 Bank Code:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000001&lt;br /&gt;* Softdevice Size:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000000 (0 bytes)&lt;br /&gt;* Boot Validation CRC:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xE04E9893&lt;br /&gt;* SD Boot Validation Type:&amp;nbsp; 0x00000000 (0)&lt;br /&gt;* App Boot Validation Type: 0x00000001 (1)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;gt; mergehex --merge bootloader_setting.hex bootloader.hex app.hex --output allmerged.hex&lt;/strong&gt;&lt;br /&gt;Parsing input files.&lt;br /&gt;Merging file &amp;quot;bootloader_setting.hex&amp;quot; into output.&lt;br /&gt;Merging file &amp;quot;bootloader.hex&amp;quot; into output.&lt;br /&gt;Merging file &amp;quot;app.hex&amp;quot; into output.&lt;br /&gt;Storing merged file.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;gt; nrfjprog --reset --program allmerged.hex --family NRF52 --sectoranduicrerase&lt;/strong&gt;&lt;br /&gt;Parsing image file.&lt;br /&gt;Erasing page at address 0x0.&lt;br /&gt;Erasing page at address 0x1000.&lt;br /&gt;Erasing page at address 0x2000.&lt;br /&gt;Erasing page at address 0x3000.&lt;br /&gt;Erasing page at address 0x4000.&lt;br /&gt;Erasing page at address 0x5000.&lt;br /&gt;Erasing page at address 0x78000.&lt;br /&gt;Erasing page at address 0x79000.&lt;br /&gt;Erasing page at address 0x7A000.&lt;br /&gt;Erasing page at address 0x7B000.&lt;br /&gt;Erasing page at address 0x7C000.&lt;br /&gt;Erasing page at address 0x7D000.&lt;br /&gt;Erasing page at address 0x7E000.&lt;br /&gt;Erasing page at address 0x7F000.&lt;br /&gt;Erasing UICR flash area.&lt;br /&gt;Applying system reset.&lt;br /&gt;Checking that the area to write is not protected.&lt;br /&gt;Programming device.&lt;br /&gt;Applying system reset.&lt;br /&gt;Run.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;gt; nRF52832 device memory map after flashing the allmerged.hex file&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;img alt=" " height="243" src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/4/pastedimage1612387041586v1.png" width="284" /&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;gt; &lt;/strong&gt;When tried to open&lt;strong&gt; allmerged.hex &lt;/strong&gt;file with&lt;span style="font-size:inherit;"&gt; Programmer tool in nRF Connect app, got error message &amp;quot;&lt;strong&gt;Overlapping data around address ....&lt;/strong&gt;&amp;quot;. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;img alt=" " height="73" src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/4/pastedimage1612387449487v5.png" width="349" /&gt;&lt;/strong&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Firmware Update over UART Interface</title><link>https://devzone.nordicsemi.com/thread/292620?ContentTypeID=1</link><pubDate>Wed, 03 Feb 2021 09:02:19 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4185ee57-9c48-4772-9ba2-682449f8dc4a</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Jalata,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I would suggest to try testing with BLE DFU as well just to get familiar with the process.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;If you have a look at the documentation of the nrfutil &lt;a href="https://infocenter.nordicsemi.com/topic/ug_nrfutil/UG/nrfutil/nrfutil_pkg.html?cp=9_6_3"&gt;here&lt;/a&gt;&amp;nbsp;you can find that if you don&amp;#39;t use softdevice you can use any --sd-req value, it will be ignored when doing DFU. ( I suggest to use&amp;nbsp; 0xFF)&lt;/p&gt;
&lt;p&gt;Please send the full log when you do mergehex, as well as the bootloader, application, and bootloader setting. Please try testing with one of our application example before testing with your own example.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Firmware Update over UART Interface</title><link>https://devzone.nordicsemi.com/thread/292470?ContentTypeID=1</link><pubDate>Tue, 02 Feb 2021 12:45:17 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5a283d00-a47c-4c24-aab4-a4598a186061</guid><dc:creator>Jatala</dc:creator><description>&lt;p&gt;&lt;span style="font-family:times new roman, times;font-size:inherit;"&gt;Hi Hung, &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:times new roman, times;font-size:inherit;"&gt;After quite a bit of struggle I found a way out of the UART problem. I am able to run the same code (with UART RX Pin 11) on another sample of the same board. So somehow pin 11 on the previous samples was malfunctioning. &amp;nbsp; The bootloader works fine, enabling the uart transport layer, and enters &amp;#39;loop_forever&amp;#39; function waiting for the DFU trigger event. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:times new roman, times;font-size:inherit;"&gt;Now in the next step I attempted following tasks:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:times new roman, times;font-size:inherit;"&gt;- While following your&lt;a href="https://devzone.nordicsemi.com/nordic/short-range-guides/b/software-development-kit/posts/getting-started-with-nordics-secure-dfu-bootloader#h61sjziauupw1j397q9s9ldr01q4j6d5"&gt; tutorial,&lt;/a&gt; I was trying to .zip file from my app.hex. With the command&amp;nbsp;&lt;strong&gt; &amp;#39;&lt;code&gt;nrfutil pkg generate&lt;/code&gt;&amp;#39;&amp;nbsp;&lt;/strong&gt; argument&amp;nbsp; &lt;strong&gt;&amp;#39;&lt;code&gt;--sd-req&lt;/code&gt;&amp;#39;&lt;/strong&gt; is required. However I am not using any softdvice in my application. But looks like I have to provide some value to this argument but which one? &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:times new roman, times;font-size:inherit;"&gt;- I generated &lt;a href="https://devzone.nordicsemi.com/nordic/short-range-guides/b/software-development-kit/posts/getting-started-with-nordics-secure-dfu-bootloader#h61sjziauupw1j397q9s9ldr01q4j6d5"&gt;bootloader setting hex file&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:times new roman, times;font-size:inherit;"&gt;nrfutil settings generate --family NRF52 --application app.hex --application-version 0 --bootloader-version 0 --bl-settings-version 2 bld_setting.hex&lt;/span&gt;&lt;span style="font-family:times new roman, times;font-size:inherit;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:inherit;"&gt;&lt;code&gt;Then with &amp;#39;&lt;strong&gt;mergehex --merge&lt;/strong&gt;&amp;#39; command merged the setting hex file with bootloader&lt;/code&gt;&lt;code&gt; and app hex files. But when I tried to program the resulting merged file &lt;/code&gt;(using Programmer tool in nRF Connect app) I get error &lt;strong&gt;&amp;quot;Overlapping data around address 0x7d12c&amp;quot;&lt;/strong&gt;. Any way out?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;- Using command &amp;#39;&lt;strong&gt;nrfjprog --reset --program mergd.hex --family NRF52 --sectoranduicrerase&lt;/strong&gt;&amp;#39;, &amp;nbsp; t&lt;span style="font-family:times new roman, times;font-size:inherit;"&gt;he programming of the merged hex file is successful. Howerever, he bootloader does not entered&lt;code&gt;&lt;/code&gt; &lt;code&gt;when the application program sets NRF_POWER-&amp;gt;GPREGRET and does softreset of the device. &lt;/code&gt;&lt;/span&gt;&lt;code&gt;&lt;br /&gt;&lt;/code&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Firmware Update over UART Interface</title><link>https://devzone.nordicsemi.com/thread/290671?ContentTypeID=1</link><pubDate>Fri, 22 Jan 2021 09:01:30 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:56888f44-dda1-45e3-a4e1-7e776c37ff69</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;You need to test with a simple UART example, to check if you can communicate normally with the external MCU via the TX and RX pin you defined.&amp;nbsp;&lt;br /&gt;Having a floating RX pin will cause such error.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Firmware Update over UART Interface</title><link>https://devzone.nordicsemi.com/thread/290596?ContentTypeID=1</link><pubDate>Thu, 21 Jan 2021 16:49:00 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:01963e1f-b9d7-4d80-b85e-925dae65ed92</guid><dc:creator>Jatala</dc:creator><description>&lt;p&gt;Thanks for the correction. I am wondering why with the Rx pin, such an error is thrown.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Firmware Update over UART Interface</title><link>https://devzone.nordicsemi.com/thread/290454?ContentTypeID=1</link><pubDate>Thu, 21 Jan 2021 10:32:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:156263b1-dd16-4613-8e0e-a5a0601612b4</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Jatala,&amp;nbsp;&lt;br /&gt;In your screenshot it&amp;#39;s chapter 34 are you sure it&amp;#39;s about UART ? UARTE and UART is on chapter 35 and 50.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;What you showed in the screenshot is for TWI.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;0x0C in the error mask meant both FRAMING and BREAK got error.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Firmware Update over UART Interface</title><link>https://devzone.nordicsemi.com/thread/290353?ContentTypeID=1</link><pubDate>Wed, 20 Jan 2021 18:58:06 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8509f83d-8c22-4aa9-808e-48051b2127e1</guid><dc:creator>Jatala</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;- Error 4 value in&amp;nbsp; &lt;strong&gt;ERRORSRC&lt;/strong&gt; register corresponds to TX buffer over-read... what link UART RX pin has with the TX buffer?&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " height="164" src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/4/ErrorSrc.png" width="372" /&gt;&lt;/p&gt;
&lt;p&gt;- Captured the error in the &lt;strong&gt;uart_event_handler()&lt;/strong&gt; and it shows &lt;strong&gt;error_mask&lt;/strong&gt; &lt;strong&gt;=&lt;/strong&gt; &lt;strong&gt;0x0000000C&lt;/strong&gt;.&amp;nbsp; Could not find in the SDK any description of this error-mask!&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " height="159" src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/4/CallStack_5F00_2.png" width="380" /&gt;&lt;/p&gt;
&lt;p&gt;- In normal application program I am using the same UART port (to send and receive data, but without hardware flow-control) and never faced any problem.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;I would appreciate any thought that could be helpful.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Firmware Update over UART Interface</title><link>https://devzone.nordicsemi.com/thread/290279?ContentTypeID=1</link><pubDate>Wed, 20 Jan 2021 13:49:24 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6e76c05e-e0e5-453d-89ac-284a82bd6c4f</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Error 4 you see is most likely the UART FRAMING error. Please check the ERRORSRC in the UART peripheral in the nRF52 spec.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;If you add a breakpoint inside&amp;nbsp;uart_event_handler() in nrf_dfu_serial_uart.c you may catch the error.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I would suggest to test with normal UART example and make sure it works first.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;If normal application works but not the bootloader, you may want to hook a logic analyzer to check if the communication would work properly.&amp;nbsp;&lt;br /&gt;I don&amp;#39;t see any reason why RX pin doesn&amp;#39;t work with pin 9 10 11.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Firmware Update over UART Interface</title><link>https://devzone.nordicsemi.com/thread/290085?ContentTypeID=1</link><pubDate>Tue, 19 Jan 2021 22:58:32 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:40a0a4ab-6191-408b-8112-13d3e6c909ac</guid><dc:creator>Jatala</dc:creator><description>&lt;p&gt;I tested the secure bootloader debug project. It seems to work fine. But the bootloader program crashes when I change the UART pin assignment in pca10040.h&amp;nbsp; as follows.&lt;/p&gt;
&lt;table height="83" width="491"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;Original&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;Changed&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;#define RX_PIN_NUMBER&amp;nbsp; 8&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;#define TX_PIN_NUMBER&amp;nbsp; 6&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;#define CTS_PIN_NUMBER 7&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;#define RTS_PIN_NUMBER 5&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;#define RX_PIN_NUMBER&amp;nbsp; 11&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;#define TX_PIN_NUMBER&amp;nbsp; 5 &lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;#define CTS_PIN_NUMBER 7&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;#define RTS_PIN_NUMBER 6&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Following is the RTT viewer log:&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;&amp;lt;info&amp;gt; app: Inside main&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;00&amp;gt; &amp;lt;debug&amp;gt; app: In nrf_bootloader_init&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;00&amp;gt; &amp;lt;debug&amp;gt; nrf_dfu_settings: Calling nrf_dfu_settings_init()...&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;00&amp;gt; &amp;lt;debug&amp;gt; nrf_dfu_flash: Initializing nrf_fstorage_nvmc backend.&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;00&amp;gt; &amp;lt;debug&amp;gt; nrf_dfu_settings: Using settings page.&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;00&amp;gt; &amp;lt;debug&amp;gt; nrf_dfu_settings: Copying forbidden parts from backup page.&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;00&amp;gt; &amp;lt;debug&amp;gt; nrf_dfu_settings: Destination settings are identical to source, write not needed. Skipping.&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;00&amp;gt; &amp;lt;info&amp;gt; nrf_dfu_settings: Backing up settings page to address 0x7E000.&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;00&amp;gt; &amp;lt;debug&amp;gt; nrf_dfu_settings: Destination settings are identical to source, write not needed. Skipping.&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;00&amp;gt; &amp;lt;debug&amp;gt; app: Enter nrf_bootloader_fw_activate&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;00&amp;gt; &amp;lt;info&amp;gt; app: No firmware to activate.&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;00&amp;gt; &amp;lt;info&amp;gt; app: Boot validation failed. No valid app to boot.&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;00&amp;gt; &amp;lt;debug&amp;gt; app: DFU mode because app is not valid.&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;00&amp;gt; &amp;lt;info&amp;gt; nrf_bootloader_wdt: WDT is not enabled&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;00&amp;gt; &amp;lt;debug&amp;gt; app: in weak nrf_dfu_init_user&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;00&amp;gt; &amp;lt;debug&amp;gt; app: timer_stop (0x20000024)&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;00&amp;gt; &amp;lt;debug&amp;gt; app: timer_activate (0x20000024)&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;00&amp;gt; &amp;lt;info&amp;gt; app: Entering DFU mode.&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;00&amp;gt; &amp;lt;debug&amp;gt; app: Initializing transports (found: 1)&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;00&amp;gt; &amp;lt;debug&amp;gt; nrf_dfu_serial_uart: serial_dfu_transport_init()&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;00&amp;gt; &amp;lt;debug&amp;gt; nrf_dfu_serial_uart: serial_dfu_transport_init() completed&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;00&amp;gt; &amp;lt;debug&amp;gt; nrf_dfu_flash: Initializing nrf_fstorage_nvmc backend.&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;00&amp;gt; &amp;lt;debug&amp;gt; app: Enter main loop&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;00&amp;gt; &amp;lt;error&amp;gt; app: Received an error: 0x00000004!&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:inherit;"&gt;I did a few more tests where I changed&lt;/span&gt;&amp;nbsp; &lt;span style="font-size:inherit;"&gt;RX_PIN_NUMBER to 8, 9, 10, 11, 12, 13. The same error occurs for pin 9, 10, 11 but not for the others. My challenge is in my board the pin 11 is used as RX and is interfaced with another board (cannot change this pin assignment). So either the same pin number is used for some other purpose in the bootloader program, although I do not see that in the code. Or some special configuration has to be applied to configure this pin as UART_RX. &lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Firmware Update over UART Interface</title><link>https://devzone.nordicsemi.com/thread/290053?ContentTypeID=1</link><pubDate>Tue, 19 Jan 2021 15:43:18 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7beed322-2a59-4702-a609-8706e538c7d3</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Please show the log you have on RTT viewer. Basically we need to know which function throwed the error and which error code.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Please try to test the secure bootloader debug project with no modification and list the steps you did for testing.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Firmware Update over UART Interface</title><link>https://devzone.nordicsemi.com/thread/289877?ContentTypeID=1</link><pubDate>Mon, 18 Jan 2021 21:28:37 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b474f681-556c-416e-be9f-929806a545f7</guid><dc:creator>Jatala</dc:creator><description>&lt;p&gt;Hi Hung,&lt;/p&gt;
&lt;p&gt;Thanks. I tested the bootloader in debug mode and apparently the bootloader throws an error from the UART port, please see attached call-stack trace where I have marked the code lines in respective functions where failure is occurring. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/1373.CallStack.png" /&gt;&lt;/p&gt;
&lt;p&gt;I noticed that in sdk_config.h both UARTE and UART drivers are enabled, not sure if this is causing the error.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Firmware Update over UART Interface</title><link>https://devzone.nordicsemi.com/thread/289627?ContentTypeID=1</link><pubDate>Mon, 18 Jan 2021 08:24:42 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:522bb65b-8762-4178-b9f0-76b7e1d1be62</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Jatala,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;You can follow what we have in the _debug bootloader. For example here you have the project setting with 100kB of flash reserved for the bootloader:&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/1040x876/__key/communityserver-discussions-components-files/4/pastedimage1610958266214v1.png" /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Firmware Update over UART Interface</title><link>https://devzone.nordicsemi.com/thread/289535?ContentTypeID=1</link><pubDate>Fri, 15 Jan 2021 23:08:15 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b8a37796-d1d4-4668-b3c4-c53f5d930a40</guid><dc:creator>Jatala</dc:creator><description>&lt;p&gt;That is clear. To &amp;#39;&lt;strong&gt;increase the allocated flash for bootloader&lt;/strong&gt;&amp;#39;, I need to change of the&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/7691/implications-of-changing-bootloader-size"&gt; start address of the bootloader&lt;/a&gt;, but I do not see such a parameter in the project &lt;strong&gt;flash_placement.xml&lt;/strong&gt; file.&amp;nbsp; I also do not see any option in the SEGGER &lt;strong&gt;project options&lt;/strong&gt;.&amp;nbsp; Any idea how to go about it. &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Firmware Update over UART Interface</title><link>https://devzone.nordicsemi.com/thread/289514?ContentTypeID=1</link><pubDate>Fri, 15 Jan 2021 17:32:30 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2e0bdd48-3759-4565-9891-ecf41895a22c</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;I meant just do a DFU update, without trying to implement&amp;nbsp;switching to DFU from application.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Firmware Update over UART Interface</title><link>https://devzone.nordicsemi.com/thread/289478?ContentTypeID=1</link><pubDate>Fri, 15 Jan 2021 15:09:28 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6756f069-c9e0-4f7d-9921-58f6f406a209</guid><dc:creator>Jatala</dc:creator><description>&lt;p&gt;Thanks for the insight. Please bear with me, this is my first attempt at this kind of task.&amp;nbsp; By &lt;strong&gt;normal DFU update&lt;/strong&gt;, do you mean without using the security keys? &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Firmware Update over UART Interface</title><link>https://devzone.nordicsemi.com/thread/289473?ContentTypeID=1</link><pubDate>Fri, 15 Jan 2021 14:51:38 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e38425d3-6ee4-4910-b087-a12fd7711179</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Please try to follow my steps and made sure&amp;nbsp; you can do a normal DFU udpate.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;When you change optimization level to 0, the size of the bootloader getting bigger. So it won&amp;#39;t fit into the current setting of the flash size and location.&amp;nbsp;&lt;br /&gt;You would need to move it down in flash and extend the size of the bootloader. Please have a look at the project configuration to increase the allocated flash for bootloader.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Firmware Update over UART Interface</title><link>https://devzone.nordicsemi.com/thread/289462?ContentTypeID=1</link><pubDate>Fri, 15 Jan 2021 14:15:17 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b12d3e38-7a51-49dd-a2d0-61e65c68b180</guid><dc:creator>Jatala</dc:creator><description>&lt;p&gt;- When I set the optimization level to &lt;strong&gt;zero&lt;/strong&gt;, for debugging the bootloader,&amp;nbsp; I get the following errors:&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;../SEGGER Embedded Studio for ARM 4.52c/gcc/arm-none-eabi/bin/ld: error: .text is too large to fit in FLASH memory segment&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;../SEGGER Embedded Studio for ARM 4.52c/gcc/arm-none-eabi/bin/ld: error: .dfu_trans is too large to fit in FLASH memory segment&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;../SEGGER Embedded Studio for ARM 4.52c/gcc/arm-none-eabi/bin/ld: error: .nrf_balloc is too large to fit in FLASH memory segment&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;../SEGGER Embedded Studio for ARM 4.52c/gcc/arm-none-eabi/bin/ld: error: .fs_data is too large to fit in FLASH memory segment&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;../SEGGER Embedded Studio for ARM 4.52c/gcc/arm-none-eabi/bin/ld: error: .rodata is too large to fit in FLASH memory segment&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;../SEGGER Embedded Studio for ARM 4.52c/gcc/arm-none-eabi/bin/ld: error: .data is too large to fit in FLASH memory segment&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:75%;"&gt;&lt;strong&gt;../SEGGER Embedded Studio for ARM 4.52c/gcc/arm-none-eabi/bin/ld: error: section .tdata overlaps absolute placed section .mbr_params_page&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;For&amp;nbsp; optimization level &amp;gt; 0, some break points show message &lt;strong&gt;no code for breakpoint&lt;/strong&gt;. Anyway I noticed that the bootloader &lt;em&gt;repeatedly enters and exits&lt;/em&gt; the main() function. Not sure if it is normal behavior?&lt;/p&gt;
&lt;p&gt;- From your tutorial, I know how to create the bootloader setttings file. But I must say I still struggling to comprehend the complete sequence to flash the bootloader, and the application.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Firmware Update over UART Interface</title><link>https://devzone.nordicsemi.com/thread/289354?ContentTypeID=1</link><pubDate>Fri, 15 Jan 2021 08:58:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6946874f-4511-4ebf-bff6-c389cbf6accf</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Please try debugging the bootloader, you can put a breakpoint in&amp;nbsp;dfu_enter_check() in nrf_bootloader.c It&amp;#39;s where the bootloader check if it would need to enter DFU mode or not.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;You may need to compile the bootloader in debug mode (no optimization) to be able to put breakpoint and step in the code of the bootloader.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I assume that you have tested the functionality of the bootloader (DFU update) and also know how to create bootloader settting etc.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Please also try testing that you can enter the bootloader by holding a button when you reset.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>