<?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>peer_manager_pds: Could not initialize flash storage. fds_init() returned 0x860A</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/74074/peer_manager_pds-could-not-initialize-flash-storage-fds_init-returned-0x860a</link><description>When the application is started I get the following error: 
 &amp;lt;error&amp;gt; peer_manager_pds: Could not initialize flash storage. fds_init() returned 0x860A. 00&amp;gt; 00&amp;gt; &amp;lt;error&amp;gt; peer_manager: pm_init failed because pds_init() returned NRF_ERROR_STORAGE_FULL. 00</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 12 May 2021 08:45:43 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/74074/peer_manager_pds-could-not-initialize-flash-storage-fds_init-returned-0x860a" /><item><title>RE: peer_manager_pds: Could not initialize flash storage. fds_init() returned 0x860A</title><link>https://devzone.nordicsemi.com/thread/309412?ContentTypeID=1</link><pubDate>Wed, 12 May 2021 08:45:43 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b448f9f9-39a5-46ee-b11b-15260f482225</guid><dc:creator>Amanda Hsieh</dc:creator><description>&lt;p&gt;Hi,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The FDS pages are allocated from the end of flash as shown &lt;a href="https://infocenter.nordicsemi.com/topic/sdk_nrf5_v17.0.2/lib_fstorage.html"&gt;here&lt;/a&gt;:&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/320x0/__key/communityserver-discussions-components-files/4/pastedimage1620808853708v1.png" /&gt;&lt;/p&gt;
&lt;p&gt;FDS address range on the 52810 is 0x2D 000 - 0x30 000 if the have set FDS_VIRTUAL_PAGES=3&lt;/p&gt;
[quote user=""]In my application, I wrote some data in flash. More precisely, I reserved 8kB for my data from&amp;nbsp;0x2E000 to&amp;nbsp;0x30000. [/quote]
&lt;p&gt;It sounds like you are writing some other user data that are overlapping with the FDS. You are&amp;nbsp;probably corrupting the filesystem.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;You can use the &lt;a href="https://infocenter.nordicsemi.com/topic/sdk_nrf5_v17.0.2/group__fds__config.html#ga28b38ad7ba33f489f4b3de4c67cdfa7f"&gt;&lt;span&gt;FDS_VIRTUAL_PAGES_RESERVED&lt;/span&gt;&lt;/a&gt;&amp;nbsp;option to allocate a free area for the other data.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;img src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/4/pastedimage1620809040235v2.png" alt=" " /&gt;&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: peer_manager_pds: Could not initialize flash storage. fds_init() returned 0x860A</title><link>https://devzone.nordicsemi.com/thread/308876?ContentTypeID=1</link><pubDate>Mon, 10 May 2021 07:45:00 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:993d8fc5-88c0-4567-9c1e-14e679da76a3</guid><dc:creator>control</dc:creator><description>&lt;p&gt;Is the following statement really true?&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Record keys should be in the range 0x0001 - 0xBFFF. The value 0x0000 is reserved by the system. The values from 0xC000 to 0xFFFF are reserved for use by the&amp;nbsp;&lt;/span&gt;&lt;a class="el" href="https://infocenter.nordicsemi.com/topic/sdk_nrf5_v17.0.2/lib_peer_manager.html"&gt;Peer Manager&lt;/a&gt;&lt;span&gt;&amp;nbsp;module and can only be used in applications that do not include&amp;nbsp;&lt;/span&gt;&lt;a class="el" href="https://infocenter.nordicsemi.com/topic/sdk_nrf5_v17.0.2/lib_peer_manager.html"&gt;Peer Manager&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;My program is written based on ble_periperal_template and default FDS settings&amp;nbsp;are used such&amp;nbsp;as:&lt;/p&gt;
&lt;p&gt;FDS_VIRTUAL_PAGES 3&lt;br /&gt;FDS_VIRTUAL_PAGE_SIZE 1024&lt;/p&gt;
&lt;p&gt;It means that the peer manager will not reserve addresses from&amp;nbsp;&lt;span&gt;0xC000 to 0xFFFF because this is one page more than it is actually needed. Is my observation correct? If so please let me know what is the starting address in this case? Is it 0xD000 instead of 0xC000?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: peer_manager_pds: Could not initialize flash storage. fds_init() returned 0x860A</title><link>https://devzone.nordicsemi.com/thread/308480?ContentTypeID=1</link><pubDate>Thu, 06 May 2021 09:00:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:946f82eb-1e67-4d31-b472-d8f1ea1fc361</guid><dc:creator>Amanda Hsieh</dc:creator><description>&lt;p&gt;Hi,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Yes, those id is reserved for the peer manager to store&amp;nbsp;&lt;span&gt;bond information for example. See&amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/question/92146/peer-manager-flash-cycling-requirements/"&gt;this&lt;/a&gt;&amp;nbsp;and &lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/34789/is-it-safe-to-use-peer-manager-s-peer-ids-for-other-fds-files"&gt;this&amp;nbsp;&lt;/a&gt;for more information and&amp;nbsp;&lt;a title="Restrictions on keys and IDs" href="https://infocenter.nordicsemi.com/topic/sdk_nrf5_v17.0.2/lib_fds_functionality.html?cp=7_1_3_16_1_4#lib_fds_functionality_keys"&gt;Restrictions on keys and IDs&lt;/a&gt;&amp;nbsp;doc.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;-Amanda H.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: peer_manager_pds: Could not initialize flash storage. fds_init() returned 0x860A</title><link>https://devzone.nordicsemi.com/thread/308129?ContentTypeID=1</link><pubDate>Tue, 04 May 2021 10:12:52 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f4f354f1-4e0a-4994-a593-594a7b0aa36a</guid><dc:creator>control</dc:creator><description>&lt;p&gt;I observed the following situation. I using flash on the following addresses&lt;/p&gt;
&lt;p&gt;#define FLASH_START_ADD 0x2E000&lt;/p&gt;
&lt;p&gt;&lt;span&gt;#define FLASH_HISTORY_ADD 0x2F000&lt;/span&gt;&lt;br /&gt;#define FLASH_END_ADD 0x2FFFF &lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;It means that my entire space is 8kB which means that 2 pages are reserved just for arbitrary data. If the write and the read command is executed in the first page&amp;nbsp;address starts at 0x2E000 I do not get any kind of error even the chip is restarted. The error occurs just in case when the writing command is executed on address 0x2F000&amp;nbsp;ahead. I am wondering why erasing is not necessary after the chip restarts&amp;nbsp;as long as&amp;nbsp;the flash is used just on the first page.&lt;/p&gt;
&lt;p&gt;I do some additional tests. I changed the range of flash to one 4kB which is one page and addresses are the following ones&lt;/p&gt;
&lt;p&gt;#define FLASH_START_ADD 0x2E000&lt;br /&gt;#define FLASH_END_ADD &amp;nbsp;0x2EFFF&lt;/p&gt;
&lt;p&gt;when I check the flash without&amp;nbsp;peer_manager_init it shows that the addresses which I&amp;nbsp;reserved for my&amp;nbsp;data are reserved and this behavior is expected.&amp;nbsp; If I add&amp;nbsp;peer_manager_init and do not change&amp;nbsp;&lt;span&gt;FLASH_START_ADD&amp;nbsp;and&amp;nbsp;FLASH_END_ADD&amp;nbsp;constants the addresses 0x2F000&amp;nbsp;and ahead are reserved. I suspect that this reservation id made by&amp;nbsp;peer_manager_init, is it true?&amp;nbsp; Why these addresses are reserved and who reserved them? As I asked in my previous post, which flash memory is reserved for peer_manager?&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: peer_manager_pds: Could not initialize flash storage. fds_init() returned 0x860A</title><link>https://devzone.nordicsemi.com/thread/307878?ContentTypeID=1</link><pubDate>Mon, 03 May 2021 11:05:45 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:60552dbe-75c2-494a-b983-09779ce4b9c8</guid><dc:creator>Amanda Hsieh</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Do you see any errors?&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Reset will not erase the device/flash&lt;/span&gt;&lt;span&gt;.&amp;nbsp;&lt;/span&gt;If you initial FDS after the reset, it might be better to erase the flash every time.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;-Amanda H.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: peer_manager_pds: Could not initialize flash storage. fds_init() returned 0x860A</title><link>https://devzone.nordicsemi.com/thread/307844?ContentTypeID=1</link><pubDate>Mon, 03 May 2021 08:25:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d9d832ae-89a0-48db-a082-46c419ed6bd3</guid><dc:creator>control</dc:creator><description>&lt;p&gt;The chip is erased with the help of Erasing the kit.&amp;nbsp; I have one concern regarding erasing the chip. Please let me know if I have to erase the chip just the first time or every time it is restarted. At the moment, I erase the chip just the first time (this is actually done with the help of Erasing the kit and in code) and then I start adding some data in flash.&amp;nbsp; if I reset the chip I get the mentioned problem. Please note, when the module is reset the erase function is not called just read the data from flash.&amp;nbsp; Is it ok or I have to ease the flash every time it is reset of course after the data are read from flash.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: peer_manager_pds: Could not initialize flash storage. fds_init() returned 0x860A</title><link>https://devzone.nordicsemi.com/thread/306211?ContentTypeID=1</link><pubDate>Thu, 22 Apr 2021 06:05:03 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7fabfc33-1c0f-4e5a-a138-3f7e4904ba1d</guid><dc:creator>Amanda Hsieh</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
[quote user="control"]Every time I load the program the entire flash is erased.[/quote]
&lt;p&gt;How do you erase the entire flash?&lt;/p&gt;
&lt;p&gt;Do you&amp;nbsp;&lt;span&gt;run &amp;#39;nrfjprog --eraseall&amp;#39; command on your board or&amp;nbsp;&lt;a title="Erasing the kit" href="https://infocenter.nordicsemi.com/topic/ug_gsg_ses/UG/gsg/erase_board_ses.html?cp=1_1_2_7_0"&gt;Erasing the kit&lt;/a&gt; before flashing the application?&lt;/span&gt;&lt;/p&gt;
[quote user="control"]If the problem lies in the fact that the pages are not erased then&amp;nbsp;fstorage_init should throw an error and not peer_manager_init().&amp;nbsp;Which addresses the&amp;nbsp;peer_manager occupies for storing the data in the flash? [/quote]
&lt;p&gt;&lt;em&gt;&amp;lt;error&amp;gt; peer_manager_pds: Could not initialize flash storage. fds_init() returned 0x860A.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;The log indicates the error comes from fds_init().&amp;nbsp;&lt;/span&gt;&lt;span&gt;Error 34314 (0x860A) means&amp;nbsp;&lt;/span&gt;&lt;a href="https://infocenter.nordicsemi.com/topic/sdk_nrf5_v16.0.0/group__fds.html#ggafa9be5679ab03d785820f2474c5ccc6ea4cefb883ac53148fe36c9775b4ff67b9"&gt;FDS_ERR_NO_PAGES&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&amp;nbsp;Does&amp;nbsp;&lt;span&gt;pages_init() return NO_SWAP and fds_init() quit with FDS_ERR_NO_PAGES?&amp;nbsp;If so, it seem you didn&amp;#39;t erase the page fully at first, and the&amp;nbsp;nrf_fstorage_erase did that later.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;-Amanda H.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: peer_manager_pds: Could not initialize flash storage. fds_init() returned 0x860A</title><link>https://devzone.nordicsemi.com/thread/305473?ContentTypeID=1</link><pubDate>Mon, 19 Apr 2021 10:03:06 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2a551a55-e110-49ce-a44d-7ba0fb6bd746</guid><dc:creator>control</dc:creator><description>&lt;p&gt;Thanks for the reply. Every time I load the program the entire flash is erased. Due to this fact, I think that this is not the problem. I am wondering why error&amp;nbsp;&lt;span&gt;NRF_ERROR_STORAGE_FULL is thrown from&amp;nbsp;pm_init method. If the problem lies in the fact that the pages are not erased then&amp;nbsp;fstorage_init should throw an error and not peer_manager_init().&amp;nbsp;Which addresses the&amp;nbsp;peer_manager occupies for storing the data in the flash? Thanks for your help in advance.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: peer_manager_pds: Could not initialize flash storage. fds_init() returned 0x860A</title><link>https://devzone.nordicsemi.com/thread/305293?ContentTypeID=1</link><pubDate>Fri, 16 Apr 2021 12:48:30 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:29d7ac35-8f88-4c45-9941-1e7792a8e934</guid><dc:creator>Amanda Hsieh</dc:creator><description>&lt;p&gt;Hi,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;This is expected behavior. You need to provide erased pages for the system to be able to setup. FDS requires fully erased pages, and it will not erase any unknown pages by itself.&amp;nbsp;You can erase the flash pages before flashing the application, or you can use the&amp;nbsp;&lt;a href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.sdk5.v14.2.0/group__nrf__nvmc.html?cp=4_0_0_6_9_7"&gt;NVMC driver&lt;/a&gt;. When FDS initializes the pages it will use, the pages will be tagged with a&amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/question/172209/deadcode-in-flash/?answer=172211#post-id-172211"&gt;&amp;quot;magic word&amp;quot;&lt;/a&gt;&amp;nbsp;that FDS recognizes.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;-Amanda H.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>