<?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>nRF5340 - Cannot read UICR.OTP in relase mode</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/112628/nrf5340---cannot-read-uicr-otp-in-relase-mode</link><description>Hi, in order to reuse the original factory public Bluetooth MAC of nRF5340 based radio module, I had introduced a function that reads the MAC address out of UICR.OTP area of the Flash, and sends it to the network core after a quick validation. 
 where</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 05 Jul 2024 09:07:40 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/112628/nrf5340---cannot-read-uicr-otp-in-relase-mode" /><item><title>RE: nRF5340 - Cannot read UICR.OTP in relase mode</title><link>https://devzone.nordicsemi.com/thread/492399?ContentTypeID=1</link><pubDate>Fri, 05 Jul 2024 09:07:40 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7597f9a7-3cb5-4843-a09e-0fc95b8957f7</guid><dc:creator>Gabriele</dc:creator><description>&lt;p&gt;yes I do. Thank you so much&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF5340 - Cannot read UICR.OTP in relase mode</title><link>https://devzone.nordicsemi.com/thread/492377?ContentTypeID=1</link><pubDate>Fri, 05 Jul 2024 07:58:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b4139a0e-221e-4736-b2df-d2530f65e20e</guid><dc:creator>Hieu</dc:creator><description>&lt;p&gt;I&amp;#39;m not sure what you mean by hacking the UICR lock. I assume you disable the lock altogether. Please just be aware that it is locked for security reasons, and by disabling the lock, you compromise that&amp;nbsp;security measure.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF5340 - Cannot read UICR.OTP in relase mode</title><link>https://devzone.nordicsemi.com/thread/492364?ContentTypeID=1</link><pubDate>Fri, 05 Jul 2024 06:55:28 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b6f3c195-1050-4735-a032-32d956249097</guid><dc:creator>Gabriele</dc:creator><description>&lt;p&gt;I&amp;#39;ve hacked the UICR lock. This ticket can be closed&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF5340 - Cannot read UICR.OTP in relase mode</title><link>https://devzone.nordicsemi.com/thread/492172?ContentTypeID=1</link><pubDate>Thu, 04 Jul 2024 06:54:37 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:afbb9927-b33d-47df-8b99-bb49ba6a596c</guid><dc:creator>Gabriele</dc:creator><description>&lt;p&gt;It seems very complicated stuff. Can you guide me with some concrete coding sample ? Alternatively, can I remove the access restriction to UICR ? Or, is there a non-protected register where I can copy the bluetooth address, in such a way I can&amp;nbsp;read it at runtime without any restriction ?&lt;/p&gt;
&lt;p&gt;I have a bash script on host, used for the first device programming.&lt;br /&gt;It does the following&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;1) Retrieve and save in a local variable the factory MAC from device, using
    uicrotp=&amp;quot;$(nrfjprog -f nrf53 --memrd 0x00FF8100 --n 8)&amp;quot;
2) Erase and program device with application
3) Restore the original bluetooth address into device from the local variable, using
    nrfjprog -f nrf53 --memwr 0x00FF8104 --${uicrotp:21:8} 0x
    nrfjprog -f nrf53 --memwr 0x00FF8100 --${uicrotp:12:8} 0x&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Is there any 8-bytes flash area, other than 0x00FF8100, where I can copy the MAC address, which is easily readable at runtime, without any restriction ? Maybe a different UICR register ?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF5340 - Cannot read UICR.OTP in relase mode</title><link>https://devzone.nordicsemi.com/thread/491614?ContentTypeID=1</link><pubDate>Mon, 01 Jul 2024 13:07:17 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:fd691888-dc93-47ca-8c06-04b72cceb2c0</guid><dc:creator>Hieu</dc:creator><description>&lt;p&gt;Hi Gabriele,&lt;/p&gt;
&lt;p&gt;The Nordic Secure Immutable Bootloader uses the&amp;nbsp;&lt;a href="https://docs.nordicsemi.com/bundle/ncs-2.6.1/page/nrf/libraries/others/hw_unique_key.html"&gt;Hardware unique key&lt;/a&gt;&amp;nbsp;library, which in turn uses the nRF5340&amp;#39;s&amp;nbsp;&lt;a href="https://docs.nordicsemi.com/bundle/ps_nrf5340/page/kmu.html/"&gt;KMU — Key management unit&lt;/a&gt;&amp;nbsp;to&amp;nbsp;limit the access to a part of the&amp;nbsp;UICR. The OTP registers that you want to use is one of the registers with access restricted.&lt;/p&gt;
&lt;p&gt;To read the OTP, you need to use the Hardware Unique Key library&amp;#39;s API.&amp;nbsp;You can refer to its sample:&amp;nbsp;&lt;a href="https://docs.nordicsemi.com/bundle/ncs-2.6.1/page/nrf/samples/keys/hw_unique_key/README.html"&gt;https://docs.nordicsemi.com/bundle/ncs-2.6.1/page/nrf/samples/keys/hw_unique_key/README.html&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Hieu&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>