<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://test-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>nrfjprog --memwr 0x10001080 --val 0x01010101 shouldn&amp;#39;t fail second time</title><link>https://test-devzone.nordicsemi.com/f/nordic-q-a/70043/nrfjprog---memwr-0x10001080---val-0x01010101-shouldn-t-fail-second-time</link><description>nrfjprog checks the target for 0xFFFFFF before attempting to write. 
 It should be successful not only if attempt to write the same value as is already present but also 
 if the value to be written is only writing 0s where there are existing 1s. 
 For</description><dc:language>en-US</dc:language><generator>Telligent Community 13 Non-Production</generator><lastBuildDate>Thu, 12 May 2022 12:21:41 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://test-devzone.nordicsemi.com/f/nordic-q-a/70043/nrfjprog---memwr-0x10001080---val-0x01010101-shouldn-t-fail-second-time" /><item><title>RE: nrfjprog --memwr 0x10001080 --val 0x01010101 shouldn't fail second time</title><link>https://test-devzone.nordicsemi.com/thread/367603?ContentTypeID=1</link><pubDate>Thu, 12 May 2022 12:21:41 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a5a30de4-05c4-428e-bcf2-4cea69c1ab82</guid><dc:creator>user54487</dc:creator><description>&lt;p&gt;Has there been any change in ideas&amp;nbsp;on nrfjprog&amp;#39;s requirement that destination must be FFFFFFFF ?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrfjprog --memwr 0x10001080 --val 0x01010101 shouldn't fail second time</title><link>https://test-devzone.nordicsemi.com/thread/289534?ContentTypeID=1</link><pubDate>Fri, 15 Jan 2021 23:03:49 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9db5d6b1-5a97-445f-88c5-c7182cb318b6</guid><dc:creator>user18935</dc:creator><description>&lt;p&gt;Violating nWrite won&amp;#39;t get you an invalid value &lt;em&gt;immidiately&lt;/em&gt;. You would get a &lt;em&gt;weak&lt;/em&gt; cell that &lt;em&gt;could&lt;/em&gt; change its value inside the (otherwise guaranteed) time period in the PS.&lt;/p&gt;
&lt;p&gt;You don&amp;#39;t want your flash data changing in, for example, one or two years instead of 20.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrfjprog --memwr 0x10001080 --val 0x01010101 shouldn't fail second time</title><link>https://test-devzone.nordicsemi.com/thread/289531?ContentTypeID=1</link><pubDate>Fri, 15 Jan 2021 22:36:20 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d63b5605-6b74-4c7f-b0a5-14fde72261b6</guid><dc:creator>user54487</dc:creator><description>&lt;p&gt;Thank you for your response and the link to the previous discussion which states that &amp;quot;&lt;span&gt;flash endurance is given only in erase cycles&amp;quot;&lt;br /&gt;&lt;br /&gt;It also states that &amp;quot;You &lt;em&gt;&lt;strong&gt;can&lt;/strong&gt; &lt;/em&gt;write again to the same location,&amp;nbsp; but &lt;em&gt;only to change more ones to zeros&amp;quot;&amp;nbsp;&lt;br /&gt;&lt;/em&gt;&lt;/span&gt;&lt;span&gt;&lt;br /&gt;This is limited&amp;nbsp;to the nWrite specification which for the NRF52382 is 181 (for a particular 512 byte block,) and for the&amp;nbsp;NRF52840 and NRF52811 is 2 (for a particular word) before an erase must be done.&lt;br /&gt;&lt;br /&gt;Perhaps you could create an&amp;nbsp;enhancement issue for nrfjprog to check if the current contents of the word has any 0&amp;nbsp;bits that &amp;nbsp;--memwr &amp;nbsp;is attempting to change (back to) a 1 and permit the write if there are none.&lt;br /&gt;A&amp;nbsp;better&amp;nbsp;approach would be to&amp;nbsp;issue&amp;nbsp;the write, verify it and only fail if the verify&amp;nbsp;fails which would only be&amp;nbsp;successful no 0s were attempted to be changed and&amp;nbsp;&amp;nbsp;nWrite has not been violated.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Either of these are&amp;nbsp;a much better approach than forcing an erasure of the entire page.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrfjprog --memwr 0x10001080 --val 0x01010101 shouldn't fail second time</title><link>https://test-devzone.nordicsemi.com/thread/289456?ContentTypeID=1</link><pubDate>Fri, 15 Jan 2021 14:05:24 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:378b9d2b-a7a7-45aa-bc68-9080d1a90e15</guid><dc:creator>user77782</dc:creator><description>&lt;p&gt;Hi Dennis,&lt;/p&gt;
[quote user="dgerman0"]Are flash erasures more &amp;quot;wear&amp;quot; intense than simply zeroing several bits?[/quote]
&lt;p&gt;Yes, see this &lt;a href="https://test-devzone.nordicsemi.com/f/nordic-q-a/51349/flash-max-number-of-writing/205852#205852"&gt;post&lt;/a&gt;.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
[quote user="dgerman0"]Would successful&amp;nbsp;&amp;nbsp;-&lt;span&gt;-verify &amp;nbsp;in combination with&amp;nbsp;memwr insure correct writing?&lt;/span&gt;[/quote]
&lt;p&gt;The provided image_file&amp;nbsp;contents are compared with the contents in the&amp;nbsp;device code flash, RAM, UICR and XIP regions for&amp;nbsp;devices equipped with a QSPI peripheral connected&lt;br /&gt; to an external memory device, and fail if there is&amp;nbsp;a mismatch.&amp;nbsp;&lt;/p&gt;
[quote user="dgerman0"]Is there a better way to change a single bit?[/quote]
&lt;p&gt;I believe this is the only way now.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;-Amanda H.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrfjprog --memwr 0x10001080 --val 0x01010101 shouldn't fail second time</title><link>https://test-devzone.nordicsemi.com/thread/287601?ContentTypeID=1</link><pubDate>Tue, 05 Jan 2021 23:51:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:92c455cd-7ffa-4b1d-8ab4-7f55f372310b</guid><dc:creator>user54487</dc:creator><description>&lt;p&gt;Thank you for your prompt reply.&lt;/p&gt;
&lt;p&gt;Are flash erasures more &amp;quot;wear&amp;quot; intense than simply zeroing several bits?&lt;/p&gt;
&lt;p&gt;Would successful&amp;nbsp;&amp;nbsp;-&lt;span&gt;-verify &amp;nbsp;in combination with&amp;nbsp;memwr insure correct writing?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;In many cases only some of the words in UICR need to be changed.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;It seems that what is required to modify a single bit is to:&lt;/p&gt;
&lt;p&gt;1) --readuicr UICR.HEX&lt;br /&gt;2) --&lt;span&gt;eraseuicr&lt;br /&gt;&lt;/span&gt;3) Edit UICR.HEX and extract to 16 byte line containing the address of the data to be changed&lt;br /&gt;4) create 4&amp;nbsp;--&lt;span&gt;memwr --verify commands from the line extracted from UICR.HEX revising the desire word&lt;br /&gt;&lt;/span&gt;&lt;span&gt;5) run the 4 --memwr -- verify commands&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Is there a better way to change a single bit?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Seeger J-LINK permits this type of operation.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrfjprog --memwr 0x10001080 --val 0x01010101 shouldn't fail second time</title><link>https://test-devzone.nordicsemi.com/thread/287295?ContentTypeID=1</link><pubDate>Mon, 04 Jan 2021 15:06:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:608a9199-6b5f-46d0-96a1-bffd41bb8fad</guid><dc:creator>user18935</dc:creator><description>[quote userid="54487" url="~/f/nordic-q-a/70043/nrfjprog---memwr-0x10001080---val-0x01010101-shouldn-t-fail-second-time"]For example&amp;nbsp;&amp;nbsp;0x10001080 &amp;nbsp;contains FFFFFF00 writing 00FFFF00 should succede&amp;nbsp;[/quote]
&lt;p&gt;Touble is the limited amount of allowed flash overwrites.&lt;/p&gt;
&lt;p&gt;For example: NRF52840 PS (1.1) chapter 4.3.10.1: nWrite maximum is 2 (two). Your changes could allow more overwrites than that, violating flash specs. The way nrfjprog implements writes is safer.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrfjprog --memwr 0x10001080 --val 0x01010101 shouldn't fail second time</title><link>https://test-devzone.nordicsemi.com/thread/287278?ContentTypeID=1</link><pubDate>Mon, 04 Jan 2021 14:09:46 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:02e0e658-4271-42bb-9fcd-e1fc5e39bb8d</guid><dc:creator>user77782</dc:creator><description>&lt;p&gt;Hi Dennis,&amp;nbsp;&lt;/p&gt;
[quote user=""]nrfjprog checks the target for 0xFFFFFF before attempting to write.[/quote]
&lt;p&gt;&amp;nbsp;That&amp;#39;s correct.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;-Amanda H.&amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>