<?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>writing UICR registers (Customer 0 and Customer 1) using JLINK or nrfjprog</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/101333/writing-uicr-registers-customer-0-and-customer-1-using-jlink-or-nrfjprog</link><description>We would like to write BLE MAC Addresses to UICR Customer[0] and Customer[1] registers. 
 Using JLINK Commander I was able to read the registers using the mem32 0x10001080, 1 command but I could not write using the write or Write4 commands. 
 
 Please</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 24 Aug 2023 08:54:20 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/101333/writing-uicr-registers-customer-0-and-customer-1-using-jlink-or-nrfjprog" /><item><title>RE: writing UICR registers (Customer 0 and Customer 1) using JLINK or nrfjprog</title><link>https://devzone.nordicsemi.com/thread/442906?ContentTypeID=1</link><pubDate>Thu, 24 Aug 2023 08:54:20 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2116d492-f281-4e90-ad27-e2f35cfc283a</guid><dc:creator>Learner</dc:creator><description>&lt;p&gt;Hi Daniel,&lt;/p&gt;
&lt;p&gt;I am faced with a slightly different problem using nrfjprog when writing to the UICR customer[] register.&lt;/p&gt;
&lt;p&gt;I want to write some values at production time in the UICR customer register such as device ID etc.... So, I do this&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;nrfjprog --memwr 0x10001080 --val 0x000AAE60 --verify&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;to write the device ID which is 4 bytes long and it works fine.&lt;/p&gt;
&lt;p&gt;However, when I try to write a signed 16-bit data value to the next location in the customer register I am not sure how to do it?&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;nrfjprog --memwr 0x10001084 --val 0x0320&amp;nbsp; &amp;nbsp; &amp;nbsp;--verify&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;If I read the content of the customer register back I find both values occupy 4 bytes. see below,&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;:10108000&lt;span style="color:#ff0000;"&gt;B5B80018&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;20030000&lt;/span&gt;FFFFFFFFFFFFFFFFC0&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;How do I tell nrfjprog to write only &amp;#39;n&amp;#39; bytes and not 4 bytes each time?&lt;/p&gt;
&lt;p&gt;Note, This operation is done at production time, just before flashing the application hex file into the target board.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Thank you.&lt;/p&gt;
&lt;p&gt;Kind regards&lt;/p&gt;
&lt;p&gt;Mohamed&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: writing UICR registers (Customer 0 and Customer 1) using JLINK or nrfjprog</title><link>https://devzone.nordicsemi.com/thread/433560?ContentTypeID=1</link><pubDate>Wed, 28 Jun 2023 23:34:25 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7b9a9cb1-b7e1-42e1-95cd-3c18e9011199</guid><dc:creator>Daniel Veilleux</dc:creator><description>&lt;p&gt;You can easily read (e.g. &amp;quot;nrfjprog --memrd 0x10001208&amp;quot;) and write (e.g. &amp;quot;nrfjprog --memwr 0x10001208 --val 0x00&amp;quot;)&amp;nbsp; the UICR using nrfjprog. You can accomplish the same thing with JLink.exe but that approach requires you to manually manipulate NRF_NVMC-&amp;gt;CONFIG.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>