<?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>RTT freeze after writing to UICR</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/34690/rtt-freeze-after-writing-to-uicr</link><description>I have a test suite connecting to a nRF52832dk using RTT. This one test writes random data to the UICR config area, resets the chip, then reads back the config. 
 When running this test only, all is fine. So is running the test several times in a row</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 20 Jun 2018 11:08:56 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/34690/rtt-freeze-after-writing-to-uicr" /><item><title>RE: RTT freeze after writing to UICR</title><link>https://devzone.nordicsemi.com/thread/136883?ContentTypeID=1</link><pubDate>Wed, 20 Jun 2018 11:08:56 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:de11308b-83ca-48a7-a200-c1bbcdf93f09</guid><dc:creator>Gauthier</dc:creator><description>&lt;p&gt;Note that it seems like the RTT is more stable with SDK 14.2 than with SDK 15.0.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: RTT freeze after writing to UICR</title><link>https://devzone.nordicsemi.com/thread/136872?ContentTypeID=1</link><pubDate>Wed, 20 Jun 2018 09:10:42 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:65ac5168-9a75-40d5-930d-7224093e5b3c</guid><dc:creator>J&amp;#248;rgen Holmefjord</dc:creator><description>&lt;p&gt;Yes, I will keep you updated on any findings/feedback and possible workarounds.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: RTT freeze after writing to UICR</title><link>https://devzone.nordicsemi.com/thread/136494?ContentTypeID=1</link><pubDate>Mon, 18 Jun 2018 08:23:00 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:73dc50aa-6d48-4a6f-a4bc-7a3d46766173</guid><dc:creator>Gauthier</dc:creator><description>&lt;p&gt;Thanks, I trust you&amp;#39;ll update this ticket with findings and possibly work arounds?&lt;/p&gt;
&lt;p&gt;I saw that pynrfjprog 9.7 had _is_alive(), or something similar. Is there something I can do with that?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: RTT freeze after writing to UICR</title><link>https://devzone.nordicsemi.com/thread/136406?ContentTypeID=1</link><pubDate>Fri, 15 Jun 2018 14:58:06 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:18421bc2-55f5-432e-be6f-5f12e9fef82e</guid><dc:creator>J&amp;#248;rgen Holmefjord</dc:creator><description>&lt;p&gt;Thank you for providing more details. We have been able to reproduce the issue internally. It seems there is some issue with the J-Link pack. We will investigate further, and/or report issue to Segger if this is a bug.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: RTT freeze after writing to UICR</title><link>https://devzone.nordicsemi.com/thread/136280?ContentTypeID=1</link><pubDate>Fri, 15 Jun 2018 07:49:56 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ec8345ba-6b57-461b-bf22-36fbcf25d335</guid><dc:creator>Gauthier</dc:creator><description>&lt;p&gt;It seems the issue wasn&amp;#39;t with UICR, but had to do with timing between calls to pynrfjprog&amp;#39;s rtt_write. Sorry about being misleading.&lt;/p&gt;
&lt;p&gt;The original code failed when splitting a RTT command into several strings (sending max 15 chars at a time):&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="python"&gt;while command_string != &amp;#39;&amp;#39; and retries &amp;gt; 0:
    try:
        sent = self.api.rtt_write(0, bytes(command_string))
    except:
        BuiltIn().log_to_console(&amp;quot;rtt_write error!&amp;quot;)
    command_string = command_string[sent:]
    retries -= 1

if retries == 0:
    raise RpcError(&amp;quot;Could not write command \&amp;quot;&amp;quot;+command_string+&amp;quot;\&amp;quot;&amp;quot;);
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Adding a sleep after rtt_write helped:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="python"&gt;while command_string != &amp;#39;&amp;#39; and retries &amp;gt; 0:
    try:
        sent = self.api.rtt_write(0, bytes(command_string))
        if sent == 0:               # Give time for a missed write to recover!
            time.sleep(0.1)
    except:
        BuiltIn().log_to_console(&amp;quot;rtt_write error!&amp;quot;)
    command_string = command_string[sent:]
    retries -= 1

if retries == 0:
    raise RpcError(&amp;quot;Could not write command \&amp;quot;&amp;quot;+command_string+&amp;quot;\&amp;quot;&amp;quot;);
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;This seems to work for now, but I wonder about the implications.&lt;/p&gt;
&lt;p&gt;The previous version tried to send 100 times in a row, I&amp;#39;ve tested 1000 as well, but the RTT never recovered. It seems that retrying too fast kept it in a state of inability.&lt;/p&gt;
&lt;p&gt;&lt;span&gt;pynrfjprog is 9.6.0.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;nrfjprog 9.6.0&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;JLinkARM.dll version: 6.32c&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Tagging helpful&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;a href="https://devzone.nordicsemi.com/members/joh2"&gt;Jørgen Holmefjord&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: RTT freeze after writing to UICR</title><link>https://devzone.nordicsemi.com/thread/136198?ContentTypeID=1</link><pubDate>Thu, 14 Jun 2018 14:00:21 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a2b7a7a5-8861-47af-9b50-885011e5f845</guid><dc:creator>Gauthier</dc:creator><description>&lt;p&gt;JLinkExe version is V6.32c (was V6.10i, I just upgraded to match the version on a workstation where the issue doesn&amp;#39;t show up (anymore)).&lt;/p&gt;
&lt;p&gt;pynrfjprog is 9.6.0.&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;nrf-hil:/tmp$ nrfjprog -v
nrfjprog version: 9.4.0
JLinkARM.dll version: 6.32c
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;nrfjprog says 9.4.0 here, but we&amp;#39;re dealing with pynrfjprog with venv.&lt;/p&gt;
&lt;p&gt;Edit: upgraded nrfjprog to 9.6.0, we saw that pynrfjprog seemed to have a dependency to it. It did not help though.&lt;/p&gt;
&lt;p&gt;Now my workstation and this test computer have the same versions of nrfjprog, pynrfjprog, and JLink. I don&amp;#39;t know where to look further.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: RTT freeze after writing to UICR</title><link>https://devzone.nordicsemi.com/thread/136190?ContentTypeID=1</link><pubDate>Thu, 14 Jun 2018 13:21:29 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:eaeb1060-4a70-4b07-b922-cfe66b9f29b3</guid><dc:creator>J&amp;#248;rgen Holmefjord</dc:creator><description>&lt;p&gt;Can you provide version numbers of&amp;nbsp;nrfjprog and Segger-DLL?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: RTT freeze after writing to UICR</title><link>https://devzone.nordicsemi.com/thread/135741?ContentTypeID=1</link><pubDate>Tue, 12 Jun 2018 12:25:35 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:eae5c3e3-4727-4baf-9d8a-39094706e230</guid><dc:creator>Gauthier</dc:creator><description>&lt;p&gt;Thank you for that. Unfortunately it doesn&amp;#39;t seem to make a difference.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: RTT freeze after writing to UICR</title><link>https://devzone.nordicsemi.com/thread/135392?ContentTypeID=1</link><pubDate>Fri, 08 Jun 2018 14:39:30 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:707635fe-7845-4f29-87a4-f189ee63bcea</guid><dc:creator>J&amp;#248;rgen Holmefjord</dc:creator><description>&lt;p&gt;Can you test with&amp;nbsp;debug_reset&amp;nbsp;instead of sys_reset? We have seen some issues with&amp;nbsp;re-init of rtt-buffers sometimes after sys_reset.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: RTT freeze after writing to UICR</title><link>https://devzone.nordicsemi.com/thread/135369?ContentTypeID=1</link><pubDate>Fri, 08 Jun 2018 13:14:16 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:bd3e16f2-9a92-4b33-a64b-2b50864c78b9</guid><dc:creator>Gauthier</dc:creator><description>&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;[NRFJPROG DLL LOG]: FUNCTION: open_dll.
[NRFJPROG DLL LOG]: FUNCTION: open_dll.
[NRFJPROG DLL LOG]: FUNCTION: connect_to_emu_with_snr.
[NRFJPROG DLL LOG]: FUNCTION: connect_to_emu_with_snr.
[NRFJPROG DLL LOG]: FUNCTION: connect_to_emu_without_snr.
[NRFJPROG DLL LOG]: FUNCTION: enum_emu_snr.
[NRFJPROG DLL LOG]: Device &amp;quot;NRF52832_XXAA&amp;quot; selected.
[NRFJPROG DLL LOG]: FUNCTION: erase_uicr.
[NRFJPROG DLL LOG]: FUNCTION: erase_uicr.
[NRFJPROG DLL LOG]: Found SWD-DP with ID 0x2BA01477
[NRFJPROG DLL LOG]: AP-IDR: 0x24770011, Type: AHB-AP
[NRFJPROG DLL LOG]: Found Cortex-M4 r0p1, Little endian.
[NRFJPROG DLL LOG]: FPUnit: 6 code (BP) slots and 2 literal slots
[NRFJPROG DLL LOG]: CoreSight components:
[NRFJPROG DLL LOG]: ROMTbl 0 @ E00FF000
[NRFJPROG DLL LOG]: ROMTbl 0 [0]: FFF0F000, CID: B105E00D, PID: 000BB00C SCS
[NRFJPROG DLL LOG]: ROMTbl 0 [1]: FFF02000, CID: B105E00D, PID: 003BB002 DWT
[NRFJPROG DLL LOG]: ROMTbl 0 [2]: FFF03000, CID: B105E00D, PID: 002BB003 FPB
[NRFJPROG DLL LOG]: ROMTbl 0 [3]: FFF01000, CID: B105E00D, PID: 003BB001 ITM
[NRFJPROG DLL LOG]: ROMTbl 0 [4]: FFF41000, CID: B105900D, PID: 000BB9A1 TPIU
[NRFJPROG DLL LOG]: ROMTbl 0 [5]: FFF42000, CID: B105900D, PID: 000BB925 ETM
[NRFJPROG DLL LOG]: FUNCTION: sys_reset.
[NRFJPROG DLL LOG]: FUNCTION: sys_reset.
[NRFJPROG DLL LOG]: FUNCTION: go.
[NRFJPROG DLL LOG]: FUNCTION: go.
[NRFJPROG DLL LOG]: FUNCTION: rtt_start.
[NRFJPROG DLL LOG]: FUNCTION: rtt_start.
[NRFJPROG DLL LOG]: FUNCTION: rtt_is_control_block_found.
[NRFJPROG DLL LOG]: FUNCTION: rtt_is_control_block_found.
[NRFJPROG DLL LOG]: FUNCTION: rtt_is_control_block_found.
[NRFJPROG DLL LOG]: FUNCTION: rtt_is_control_block_found.
[NRFJPROG DLL LOG]: FUNCTION: rtt_is_control_block_found.
[NRFJPROG DLL LOG]: FUNCTION: rtt_is_control_block_found.
[NRFJPROG DLL LOG]: FUNCTION: rtt_read.
[NRFJPROG DLL LOG]: FUNCTION: rtt_read.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_read.
[NRFJPROG DLL LOG]: FUNCTION: rtt_read.
[NRFJPROG DLL LOG]: FUNCTION: rtt_read.
[NRFJPROG DLL LOG]: FUNCTION: rtt_read.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_read.
[NRFJPROG DLL LOG]: FUNCTION: rtt_read.
[NRFJPROG DLL LOG]: FUNCTION: rtt_read.
[NRFJPROG DLL LOG]: FUNCTION: rtt_read.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_read.
[NRFJPROG DLL LOG]: FUNCTION: rtt_read.
[NRFJPROG DLL LOG]: FUNCTION: rtt_read.
[NRFJPROG DLL LOG]: FUNCTION: rtt_read.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_read.
[NRFJPROG DLL LOG]: FUNCTION: rtt_read.
[NRFJPROG DLL LOG]: FUNCTION: rtt_read.
[NRFJPROG DLL LOG]: FUNCTION: rtt_read.
[NRFJPROG DLL LOG]: FUNCTION: rtt_stop.
[NRFJPROG DLL LOG]: FUNCTION: rtt_stop.
[NRFJPROG DLL LOG]: FUNCTION: sys_reset.
[NRFJPROG DLL LOG]: FUNCTION: sys_reset.
[NRFJPROG DLL LOG]: FUNCTION: go.
[NRFJPROG DLL LOG]: FUNCTION: go.
[NRFJPROG DLL LOG]: FUNCTION: rtt_start.
[NRFJPROG DLL LOG]: FUNCTION: rtt_start.
[NRFJPROG DLL LOG]: FUNCTION: rtt_is_control_block_found.
[NRFJPROG DLL LOG]: FUNCTION: rtt_is_control_block_found.
[NRFJPROG DLL LOG]: FUNCTION: rtt_is_control_block_found.
[NRFJPROG DLL LOG]: FUNCTION: rtt_is_control_block_found.
[NRFJPROG DLL LOG]: FUNCTION: rtt_is_control_block_found.
[NRFJPROG DLL LOG]: FUNCTION: rtt_is_control_block_found.
[NRFJPROG DLL LOG]: FUNCTION: rtt_is_control_block_found.
[NRFJPROG DLL LOG]: FUNCTION: rtt_is_control_block_found.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: rtt_write.
[NRFJPROG DLL LOG]: FUNCTION: disconnect_from_emu.
[NRFJPROG DLL LOG]: FUNCTION: disconnect_from_emu.
[NRFJPROG DLL LOG]: FUNCTION: close_dll.
[NRFJPROG DLL LOG]: FUNCTION: close_dll.
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Right, this is what I got.&lt;/p&gt;
&lt;p&gt;The reason why the writes and reads are duplicated is because the commands are sent 15 bytes at a time, and they are longer than that. I&amp;#39;m a bit surprised by the duplicated &amp;quot;go&amp;quot;, &amp;quot;sys_reset&amp;quot;, ...&lt;/p&gt;
&lt;p&gt;Things go well until the second sys_reset, line 70/71.&lt;/p&gt;
&lt;p&gt;rtt_start seems fine, the control block is found at least.&lt;/p&gt;
&lt;p&gt;Subsequent rtt_write return 0 (number of bytes sent), until max number of retries (100) is reached.&lt;/p&gt;
&lt;p&gt;To be honest, I&amp;#39;m not so sure this is related to UICR anymore.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: RTT freeze after writing to UICR</title><link>https://devzone.nordicsemi.com/thread/135314?ContentTypeID=1</link><pubDate>Fri, 08 Jun 2018 09:04:04 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6fc31bf2-7107-447e-a568-33f151e88011</guid><dc:creator>J&amp;#248;rgen Holmefjord</dc:creator><description>&lt;p&gt;Can you try to enable logging by passing a filename to the parameter &lt;a href="https://github.com/NordicSemiconductor/pynrfjprog/blob/master/pynrfjprog/MultiAPI.py#L59"&gt;log_file_path&lt;/a&gt;? Remember to provide a separate filename to each instance of MultiAPI. Please upload the generated log files.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: RTT freeze after writing to UICR</title><link>https://devzone.nordicsemi.com/thread/135142?ContentTypeID=1</link><pubDate>Thu, 07 Jun 2018 11:56:53 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ef561ac9-42d9-48f9-a19e-9850287b476a</guid><dc:creator>Gauthier</dc:creator><description>&lt;p&gt;It&amp;#39;s `pynrfjprog` that isn&amp;#39;t doing&amp;nbsp; what I expect. I don&amp;#39;t have the source, so I can&amp;#39;t debug that.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;`pynrfjprog`&amp;#39;s `rtt_write` does not manage to send all bytes to the devkit, if the devkit&amp;#39;s UICR has just been flashed. I suspect that the devkit&amp;#39;s write function is missing some kind of termination for the write itself?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: RTT freeze after writing to UICR</title><link>https://devzone.nordicsemi.com/thread/133625?ContentTypeID=1</link><pubDate>Mon, 28 May 2018 10:47:26 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d73bfb3c-279e-4aeb-84fe-abc92275201b</guid><dc:creator>J&amp;#248;rgen Holmefjord</dc:creator><description>&lt;p&gt;Have you tried &lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/10729/my-device-is-freezing-and-restarting"&gt;debugging&lt;/a&gt; the device when you write the UICR registers, to see if any error codes are returned or if any hardfaults are happening?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: RTT freeze after writing to UICR</title><link>https://devzone.nordicsemi.com/thread/133052?ContentTypeID=1</link><pubDate>Wed, 23 May 2018 15:02:45 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3603186f-7316-4ffa-b72d-8dd7955ddb6d</guid><dc:creator>Gauthier</dc:creator><description>&lt;p&gt;Thanks. I&amp;#39;ve tried running `nrfjprog --eraseall` and redo the test, behavior is unchanged.&lt;/p&gt;
&lt;p&gt;I&amp;#39;ve been using pynrfjprog&amp;#39;s `MultiAPI.write()` to write to address 0x10001080. Shouldn&amp;#39;t pynrfjprog deal with read/modify/write?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: RTT freeze after writing to UICR</title><link>https://devzone.nordicsemi.com/thread/133044?ContentTypeID=1</link><pubDate>Wed, 23 May 2018 14:19:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5d1aa383-2702-46cd-930d-63767f4242c8</guid><dc:creator>hmolesworth</dc:creator><description>&lt;p&gt;Might I suggest looking at&amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/34262/system-reset-after-uicr-erase-and-write-leads-to-system-off"&gt;this post&lt;/a&gt;. UICR is not just a hardware register and some care is required when when writing, particularly multiple times.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>