<?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>Partial Erase feature of NVMC</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/101840/partial-erase-feature-of-nvmc</link><description>Hi, 
 I have gone through the nRF52840 Product Specification and Partial Erase feature of NVMC . 
 It is not mentioned anywhere what should be the minimum value that can be used as ERASEPAGEPARTIALCFG. 
 Going through the nRF Connect SDK Flash Kconfig</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 13 Jul 2023 14:52:00 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/101840/partial-erase-feature-of-nvmc" /><item><title>RE: Partial Erase feature of NVMC</title><link>https://devzone.nordicsemi.com/thread/436302?ContentTypeID=1</link><pubDate>Thu, 13 Jul 2023 14:52:00 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2fa3712a-85f4-4307-836c-0959846a68c7</guid><dc:creator>Ankit Modi</dc:creator><description>&lt;p&gt;Thanks for responding to my query and solving the confusion.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Thanks again.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Partial Erase feature of NVMC</title><link>https://devzone.nordicsemi.com/thread/436299?ContentTypeID=1</link><pubDate>Thu, 13 Jul 2023 14:48:20 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:cb7120cb-9b0b-4d31-9634-24f2ced7d4e7</guid><dc:creator>J&amp;#248;rgen Holmefjord</dc:creator><description>&lt;p&gt;As you correctly mentions, the CPU is halted during flash write/erase operations, this is needed as the CPU executes code from flash, and this can&amp;#39;t happen at the same time as flash is written/erased.&lt;/p&gt;
&lt;p&gt;It is not possible to configure the partial flash erase time slice lower than 1ms, so it would not be possible to trigger the timer exactly at 1ms intervals. There will also be some overhead in time for switching to the timer handler.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Partial Erase feature of NVMC</title><link>https://devzone.nordicsemi.com/thread/436294?ContentTypeID=1</link><pubDate>Thu, 13 Jul 2023 14:34:16 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a88e3257-7fbc-47b2-a1e8-80a1ad081fd9</guid><dc:creator>Ankit Modi</dc:creator><description>&lt;p&gt;Hi&amp;nbsp;J&amp;oslash;rgen Holmefjord,&lt;/p&gt;
&lt;p&gt;Thanks for responding.&lt;/p&gt;
&lt;p&gt;I am going to use storage partition on the internal flash to store some data using LittleFS File System.&lt;/p&gt;
&lt;p&gt;It was observed that during the file write/erase operation on the internal flash, the CPU halts. During this erase&amp;nbsp;process also, I would like to have a 1 milli-second Timer running. So, I am going to use Partial Erase Functionality of NVMC. But as per the tests, when S&lt;span&gt;OC_FLASH_NRF_PARTIAL_ERASE_MS=1&lt;/span&gt;, this timer functionality is affected, the Timer Callback function is called after some delay of 300 uSec up to 1.5 mSec.&lt;/p&gt;
&lt;p&gt;So, is there any configuration that can be used to achieve this?&lt;/p&gt;
&lt;p&gt;FYI, I also tried Zero Latency Interrupts configuration for Timer. The results are still the same.&lt;/p&gt;
&lt;p&gt;Thanks again.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Partial Erase feature of NVMC</title><link>https://devzone.nordicsemi.com/thread/436279?ContentTypeID=1</link><pubDate>Thu, 13 Jul 2023 13:46:27 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b497ac37-dfca-4966-bf1d-6bb95a3f92fb</guid><dc:creator>J&amp;#248;rgen Holmefjord</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;As far as I can see, there is no HW limitations preventing you from setting&amp;nbsp;&lt;span&gt;ERASEPAGEPARTIALCFG to 1ms, but according to the nRF Connect SDK Developers, they observed some issues when it was set to 1ms. If it works at 1ms on your end, it should be fine to use this, but I would recommend sticking with the minimum value stated in the comment.&lt;/span&gt;&lt;/p&gt;
[quote user=""]&lt;p&gt;Can anybody give how to configure this value and what value can be used as per the following use case:&lt;/p&gt;
&lt;p&gt;Timer1 is to be used as Counter and the Timer Callback needs to be called every 1 ms irrespective of any other functionality.&lt;/p&gt;[/quote]
&lt;p&gt;Not sure I understand what you are asking for here. Are you planning to perform the flash erase manually in the application? The config is intended for use with the &lt;a href="https://github.com/nrfconnect/sdk-zephyr/blob/v3.3.99-ncs1/drivers/flash/soc_flash_nrf.c#L47-L49"&gt;soc_flash driver&lt;/a&gt;. It is not possible to set the config below 1ms, so it would not be possible to erase flash pages if you require the timer callback to be called exactly every 1ms.&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Best regards,&lt;br /&gt;Jørgen&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>