<?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>nrf connect sdk add custom section(UICR)</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/76979/nrf-connect-sdk-add-custom-section-uicr</link><description>Hello 
 
 I want to add a UICR section. but I don&amp;#39;t know how to add a custom section in ncs(also zephyr). 
 I have researched about this for days and I&amp;#39;ve found zephyr code realocation, but I don&amp;#39;t want realocate the code. (SRAM, SRAM2, TEXT ...) 
 All</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 28 Jul 2021 18:16:25 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/76979/nrf-connect-sdk-add-custom-section-uicr" /><item><title>RE: nrf connect sdk add custom section(UICR)</title><link>https://devzone.nordicsemi.com/thread/322305?ContentTypeID=1</link><pubDate>Wed, 28 Jul 2021 18:16:25 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9b74337e-8624-4612-9cfc-da8d72227e50</guid><dc:creator>s0872x7</dc:creator><description>&lt;p&gt;Finally I have wrote this code.&lt;/p&gt;
&lt;p&gt;It works very well.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;div style="background-color:#1e1e1e;color:#d4d4d4;font-family:D2Coding, &amp;#39;Courier New&amp;#39;, monospace, Consolas, &amp;#39;Courier New&amp;#39;, monospace;font-size:14px;font-weight:500;line-height:19px;white-space:pre;"&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#6a9955;"&gt;//&amp;nbsp;Write&amp;nbsp;UICR&amp;#39;s&amp;nbsp;REGOUT0&amp;nbsp;register&amp;nbsp;to&amp;nbsp;given&amp;nbsp;value&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#569cd6;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#if&amp;nbsp;(&amp;nbsp;CONFIG_NRF52_ENABLE_DCDC&amp;nbsp;&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;==&lt;/span&gt;&lt;span style="color:#569cd6;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#b5cea8;"&gt;1&lt;/span&gt;&lt;span style="color:#569cd6;"&gt;&amp;nbsp;)&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#569cd6;"&gt;if&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;nbsp;(&amp;nbsp;NRF_UICR-&amp;gt;REGOUT0&amp;nbsp;!=&amp;nbsp;(&lt;/span&gt;&lt;span style="color:#569cd6;"&gt;uint32_t&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;)CONFIG_NRF52_DCDC_REGOUT_VALUE&amp;nbsp;)&amp;nbsp;{&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;nrfx_err_t&amp;nbsp;err&amp;nbsp;=&amp;nbsp;NRFX_SUCCESS;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;NRF_UICR_Type&amp;nbsp;tmp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;memcpy(&amp;nbsp;&amp;amp;tmp,&amp;nbsp;NRF_UICR,&amp;nbsp;&lt;/span&gt;&lt;span style="color:#569cd6;"&gt;sizeof&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;(NRF_UICR_Type)&amp;nbsp;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tmp.REGOUT0&amp;nbsp;=&amp;nbsp;(&lt;/span&gt;&lt;span style="color:#569cd6;"&gt;uint32_t&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;)CONFIG_NRF52_DCDC_REGOUT_VALUE;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;err&amp;nbsp;=&amp;nbsp;nrfx_nvmc_uicr_erase(&amp;nbsp;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;__ASSERT(&amp;nbsp;(err&amp;nbsp;==&amp;nbsp;NRFX_SUCCESS),&amp;nbsp;&lt;/span&gt;&lt;span style="color:#ce9178;"&gt;&amp;quot;NVMC&amp;nbsp;erase&amp;nbsp;UICR&amp;nbsp;failed&amp;quot;&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;nbsp;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;nrfx_nvmc_bytes_write(&amp;nbsp;NRF_UICR_BASE,&amp;nbsp;&amp;amp;tmp,&amp;nbsp;&lt;/span&gt;&lt;span style="color:#569cd6;"&gt;sizeof&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;(NRF_UICR_Type)&amp;nbsp;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#569cd6;"&gt;while&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;nbsp;(&amp;nbsp;nrfx_nvmc_write_done_check()&amp;nbsp;!=&amp;nbsp;&lt;/span&gt;&lt;span style="color:#569cd6;"&gt;true&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;nbsp;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;LOG_INF(&amp;nbsp;&lt;/span&gt;&lt;span style="color:#ce9178;"&gt;&amp;quot;REGOUT0&amp;nbsp;writed&amp;nbsp;to&amp;nbsp;%u&amp;quot;&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;,&amp;nbsp;CONFIG_NRF52_DCDC_REGOUT_VALUE&amp;nbsp;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#569cd6;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#endif&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrf connect sdk add custom section(UICR)</title><link>https://devzone.nordicsemi.com/thread/318723?ContentTypeID=1</link><pubDate>Tue, 06 Jul 2021 06:47:46 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:51fccd6c-f877-497b-98ac-2a5309b88823</guid><dc:creator>Susheel Nuguru</dc:creator><description>&lt;p&gt;If writing to UICR is the thing you are trying to achieve then probably &lt;a href="https://docs.zephyrproject.org/latest/reference/kconfig/CONFIG_SOC_FLASH_NRF_UICR.html"&gt;SOC_FLASH_NRF_UICR &lt;/a&gt;is your helper feature. You do not need any additional linker scripts when you enable this feature. You can write to this register as a normal flash write.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrf connect sdk add custom section(UICR)</title><link>https://devzone.nordicsemi.com/thread/318282?ContentTypeID=1</link><pubDate>Thu, 01 Jul 2021 15:30:42 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:feb51f5d-a7cb-4e7e-9401-b3911cf43ca7</guid><dc:creator>s0872x7</dc:creator><description>&lt;p&gt;Is there an any example?&lt;/p&gt;
&lt;p&gt;I don&amp;#39;t know how to write a linker script.&lt;/p&gt;
&lt;p&gt;Also in my research, add a custom linker script should rewrite the whole sections. and I dont want to do that.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;* All I want is change REGOUT0 value to change the gpip reference voltage. and I dont care about the method.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrf connect sdk add custom section(UICR)</title><link>https://devzone.nordicsemi.com/thread/318165?ContentTypeID=1</link><pubDate>Thu, 01 Jul 2021 11:40:03 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3b46a8e1-25c1-4f85-a965-ab5274afef61</guid><dc:creator>Susheel Nuguru</dc:creator><description>[quote user=""]I want to add a UICR section. but I don&amp;#39;t know how to add a custom section in ncs(also zephyr).[/quote]
&lt;p&gt;&amp;nbsp;You need to have a linker script (*.ld for gcc)Where you create a MEMORY section and define that section in SECTIONS of the linker script. Once you have that linker script you can include your custom linker scripts using &lt;a href="https://docs.zephyrproject.org/latest/reference/kconfig/CONFIG_CUSTOM_LINKER_SCRIPT.html"&gt;this &lt;/a&gt;define.&amp;nbsp;&lt;/p&gt;
[quote user=""]Also I want to know how to change UICR REGOUT0 register value in ncs(also zephyr).[/quote]
&lt;p&gt;&amp;nbsp;UICR registers are not designed to be edited/changed after writing one value to the register. You need to erase the whole flash to be able to rewrite to UICR registers.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>