<?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>Enter Bootloader from App SDK15</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/36611/enter-bootloader-from-app-sdk15</link><description>I am struggling with getting a Secure UART(Serial) DFU operation to function correctly when I attempt to enter the bootloader with a call from my app. I am using the basic Secure Serial Bootloader example from SDK15. The bootloader enters DFU and correctly</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 31 Jul 2018 21:20:49 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/36611/enter-bootloader-from-app-sdk15" /><item><title>RE: Enter Bootloader from App SDK15</title><link>https://devzone.nordicsemi.com/thread/142266?ContentTypeID=1</link><pubDate>Tue, 31 Jul 2018 21:20:49 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ffe746e0-22de-4b4a-9642-2d2e774bc316</guid><dc:creator>W9</dc:creator><description>&lt;p&gt;Hi Hung Bui-&lt;/p&gt;
&lt;p&gt;SUCCESS!&lt;/p&gt;
&lt;p&gt;I played with the HW Flow Control setting some more and determined that was the issue. My app does not use HWFC but the BL/dfu does. If I create images where both BL/dfu and my app use HWFC, it works fine! If I create images where both BL/dfu and my app DON&amp;#39;T use HWFC, it works just fine.&lt;/p&gt;
&lt;p&gt;I consider this issue resolved!!&lt;/p&gt;
&lt;p&gt;Thanks for letting me whine and chase through the stuff!&lt;/p&gt;
&lt;p&gt;Wayne&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Enter Bootloader from App SDK15</title><link>https://devzone.nordicsemi.com/thread/142257?ContentTypeID=1</link><pubDate>Tue, 31 Jul 2018 18:06:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:30f89fc9-6c22-473c-90d9-7bd901c8515a</guid><dc:creator>W9</dc:creator><description>&lt;p&gt;HiHung Bui,&lt;/p&gt;
&lt;p&gt;one more item to consider: I have been looking at the two log files and chasing through the code in the BootLoader/dfu. I notice that the device replies to the Ping request, but nrfutil never sees it.&lt;/p&gt;
&lt;p&gt;I go to great pains to disable the timer and the uart used in my app so that the bootloader has a relatively clean peripheral set when it starts up.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I know that my app does not use HW Flow Control thru the UART, but I see that the BL/dfu does use HWFC. Could my uart config be hanging around and messing with the BL process?&lt;/p&gt;
&lt;p&gt;Wayne&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Enter Bootloader from App SDK15</title><link>https://devzone.nordicsemi.com/thread/142225?ContentTypeID=1</link><pubDate>Tue, 31 Jul 2018 15:10:53 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b6cc4224-5b2f-40d2-92d3-4c1fdf22912c</guid><dc:creator>W9</dc:creator><description>&lt;p&gt;Hi Hung Bui,&lt;/p&gt;
&lt;p&gt;Thanks for insight. I took the uart_debug project and added a few extra logging statements.&lt;/p&gt;
&lt;p&gt;I also took my basic app and added logging into it. I also used a load file to insure that the app was loading just above the mbr. (I don&amp;#39;t need a SoftDevice for this app.)&lt;/p&gt;
&lt;p&gt;After doing that, I flashed the BootLoader/MBR into my device and then performed a dfu operation to load my app. (I entered the dfu process because, as expected,&amp;nbsp;there was NO app found by the bootloader. ) That dfu worked just fine.&lt;/p&gt;
&lt;p&gt;My app then started and I could see the log entries for it.&lt;/p&gt;
&lt;p&gt;I then caused the app to enter the bootload process by a uart cmd that I had created. I can see the app generating the gpregret request for the bootloader and then see the bootloader actually taking over.&lt;/p&gt;
&lt;p&gt;I then entered an nrfutil cmd to initiate a dfu process. That command terminates with an error of &amp;quot;No ping response after opening COM port.&amp;quot;&lt;/p&gt;
&lt;p&gt;In the RTTViewer, I can see the app&amp;#39;s request for the dfu operation; the bootloader init process; and eventually see the Ping received. I can see that the dfu sends a response, but sits there until finally I get an Inactivity timeout.&lt;/p&gt;
&lt;p&gt;I am putting copies of the RTT window and the nrfutil window at the end of this message.&lt;/p&gt;
&lt;p&gt;Can you tell why the ping response gets lost?&lt;/p&gt;
&lt;p&gt;Thanks for your help.&lt;/p&gt;
&lt;p&gt;Wayne&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;RTTViewer output==&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;0&amp;gt; &amp;lt;info&amp;gt; app: TCK_happens_NORM&lt;br /&gt;&amp;nbsp;0&amp;gt; &amp;lt;info&amp;gt; app: Inside My secure BL main&lt;br /&gt;&amp;nbsp;0&amp;gt; &amp;lt;info&amp;gt; app: Gpregret == B1&amp;nbsp; :&lt;br /&gt;&amp;nbsp;0&amp;gt; &amp;lt;info&amp;gt; app: Calling nrf_bootloader_init&lt;br /&gt;&amp;nbsp;0&amp;gt; &amp;lt;debug&amp;gt; app: In nrf_bootloader_init&lt;br /&gt;&amp;nbsp;0&amp;gt; &amp;lt;debug&amp;gt; nrf_dfu_settings: Calling nrf_dfu_settings_init()...&lt;br /&gt;&amp;nbsp;0&amp;gt; &amp;lt;debug&amp;gt; nrf_dfu_flash: Initializing nrf_fstorage_nvmc backend.&lt;br /&gt;&amp;nbsp;0&amp;gt; &amp;lt;debug&amp;gt; app: Enter nrf_bootloader_fw_activate&lt;br /&gt;&amp;nbsp;0&amp;gt; &amp;lt;info&amp;gt; app: No firmware to activate.&lt;br /&gt;&amp;nbsp;0&amp;gt; &amp;lt;debug&amp;gt; app: Enter nrf_dfu_app_is_valid&lt;br /&gt;&amp;nbsp;0&amp;gt; &amp;lt;debug&amp;gt; app: Return true. App was valid&lt;br /&gt;&amp;nbsp;0&amp;gt; &amp;lt;debug&amp;gt; app: DFU mode requested via GPREGRET.&lt;br /&gt;&amp;nbsp;0&amp;gt; &amp;lt;info&amp;gt; nrf_bootloader_wdt: WDT is not enabled&lt;br /&gt;&amp;nbsp;0&amp;gt; &amp;lt;debug&amp;gt; app: in weak nrf_dfu_init_user&lt;br /&gt;&amp;nbsp;0&amp;gt; &amp;lt;info&amp;gt; app_timer: RTC: initialized.&lt;br /&gt;&amp;nbsp;0&amp;gt; &amp;lt;info&amp;gt; app: Entering DFU mode.&lt;br /&gt;&amp;nbsp;0&amp;gt; &amp;lt;debug&amp;gt; app: Initializing transports (found: 1)&lt;br /&gt;&amp;nbsp;0&amp;gt; &amp;lt;debug&amp;gt; nrf_dfu_serial_uart: serial_dfu_transport_init()&lt;br /&gt;&amp;nbsp;0&amp;gt; &amp;lt;debug&amp;gt; nrf_dfu_serial_uart: serial_dfu_transport_init() completed&lt;br /&gt;&amp;nbsp;0&amp;gt; &amp;lt;debug&amp;gt; nrf_dfu_flash: Initializing nrf_fstorage_nvmc backend.&lt;br /&gt;&amp;nbsp;0&amp;gt; &amp;lt;debug&amp;gt; app: Enter main loop&lt;br /&gt;&amp;nbsp;0&amp;gt; &amp;lt;debug&amp;gt; app: Shutting down transports (found: 1)&lt;br /&gt;&amp;nbsp;0&amp;gt; &amp;lt;debug&amp;gt; nrf_dfu_serial: Received ping 1&lt;br /&gt;&amp;nbsp;0&amp;gt; &amp;lt;info&amp;gt; nrf_dfu_serial_uart: Allocated buffer 20001318&lt;br /&gt;&amp;nbsp;0&amp;gt; &amp;lt;debug&amp;gt; nrf_dfu_req_handler: Handle NRF_DFU_OP_PING&lt;br /&gt;&amp;nbsp;0&amp;gt; &amp;lt;debug&amp;gt; nrf_dfu_req_handler: Request handling complete. Result: 0x1&lt;br /&gt;&amp;nbsp;0&amp;gt; &amp;lt;debug&amp;gt; nrf_dfu_serial: Sending Response: [0x9, 0x1]&lt;br /&gt;&amp;nbsp;0&amp;gt; &amp;lt;info&amp;gt; app: Inactivity timeout.&lt;br /&gt;&amp;nbsp;0&amp;gt; &amp;lt;debug&amp;gt; app: Resetting bootloader.&lt;br /&gt;&amp;nbsp;0&amp;gt; &amp;lt;info&amp;gt; app: Inside My secure BL main&lt;br /&gt;&amp;nbsp;0&amp;gt; &amp;lt;info&amp;gt; app: Gpregret == 0&amp;nbsp; :&lt;br /&gt;&amp;nbsp;0&amp;gt; &amp;lt;info&amp;gt; app: Calling nrf_bootloader_init&lt;/p&gt;
&lt;p&gt;********************************************************************************************************************&lt;/p&gt;
&lt;p&gt;CndShell_output ==&amp;gt;&lt;/p&gt;
&lt;p&gt;PS C:\...&amp;gt; nrfutil dfu serial -pkg MyLoad_v1022.zip -p COM5 -b 115200&lt;br /&gt;&amp;nbsp; [------------------------------------]&amp;nbsp;&amp;nbsp;&amp;nbsp; 0%&lt;br /&gt;Traceback (most recent call last):&lt;br /&gt;&amp;nbsp; File &amp;quot;c:\python27\lib\runpy.py&amp;quot;, line 174, in _run_module_as_main&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;__main__&amp;quot;, fname, loader, pkg_name)&lt;br /&gt;&amp;nbsp; File &amp;quot;c:\python27\lib\runpy.py&amp;quot;, line 72, in _run_code&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; exec code in run_globals&lt;br /&gt;&amp;nbsp; File &amp;quot;C:\Python27\Scripts\nrfutil.exe\__main__.py&amp;quot;, line 9, in &amp;lt;module&amp;gt;&lt;br /&gt;&amp;nbsp; File &amp;quot;c:\python27\lib\site-packages\click\core.py&amp;quot;, line 722, in __call__&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return self.main(*args, **kwargs)&lt;br /&gt;&amp;nbsp; File &amp;quot;c:\python27\lib\site-packages\click\core.py&amp;quot;, line 697, in main&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; rv = self.invoke(ctx)&lt;br /&gt;&amp;nbsp; File &amp;quot;c:\python27\lib\site-packages\click\core.py&amp;quot;, line 1066, in invoke&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return _process_result(sub_ctx.command.invoke(sub_ctx))&lt;br /&gt;&amp;nbsp; File &amp;quot;c:\python27\lib\site-packages\click\core.py&amp;quot;, line 1066, in invoke&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return _process_result(sub_ctx.command.invoke(sub_ctx))&lt;br /&gt;&amp;nbsp; File &amp;quot;c:\python27\lib\site-packages\click\core.py&amp;quot;, line 895, in invoke&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return ctx.invoke(self.callback, **ctx.params)&lt;br /&gt;&amp;nbsp; File &amp;quot;c:\python27\lib\site-packages\click\core.py&amp;quot;, line 535, in invoke&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return callback(*args, **kwargs)&lt;br /&gt;&amp;nbsp; File &amp;quot;c:\python27\lib\site-packages\nordicsemi\__main__.py&amp;quot;, line 745, in serial&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; do_serial(package, port, connect_delay, flow_control, packet_receipt_notification, baud_rate, True)&lt;br /&gt;&amp;nbsp; File &amp;quot;c:\python27\lib\site-packages\nordicsemi\__main__.py&amp;quot;, line 680, in do_serial&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; dfu.dfu_send_images()&lt;br /&gt;&amp;nbsp; File &amp;quot;c:\python27\lib\site-packages\nordicsemi\dfu\dfu.py&amp;quot;, line 129, in dfu_send_images&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; self._dfu_send_image(self.manifest.application)&lt;br /&gt;&amp;nbsp; File &amp;quot;c:\python27\lib\site-packages\nordicsemi\dfu\dfu.py&amp;quot;, line 90, in _dfu_send_image&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; self.dfu_transport.open()&lt;br /&gt;&amp;nbsp; File &amp;quot;c:\python27\lib\site-packages\nordicsemi\dfu\dfu_transport_serial.py&amp;quot;, line 211, in open&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; raise NordicSemiException(&amp;quot;No ping response after opening COM port&amp;quot;)&lt;br /&gt;pc_ble_driver_py.exceptions.NordicSemiException: No ping response after opening COM port&lt;br /&gt;PS C:\...&amp;gt;&lt;/p&gt;
&lt;p&gt;***********************************************************************************&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Enter Bootloader from App SDK15</title><link>https://devzone.nordicsemi.com/thread/140891?ContentTypeID=1</link><pubDate>Sat, 21 Jul 2018 19:18:45 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:94366fac-b509-40ef-ba6e-66fe1dc2f9ac</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I don&amp;#39;t see what could be the issue here. But could you try to test using the _uart_debug project ? It has logging enabled and you can see the log with Jlink RTT Viewer. You may want to check if the bootloader actually enter DFU mode after reset or not (GPREGRET register has been written and read correctly, check function dfu_enter_check() ). Make sure you set NRF_BL_DFU_ENTER_METHOD_GPREGRET = 1 in sdk_config.h&lt;br /&gt;If the log doesn&amp;#39;t reveal what could be the problem, you may need to step/add breakpoint into the code to see if it receive any command from the PC. You may need to change the optimization level to level 0 to be able to step .&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>