<?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>Where should I put manufacturing value?</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/30855/where-should-i-put-manufacturing-value</link><description>I need to be able to reserve some flash to permanently store manufacturing values that will never change. I did this on an nRF51 by reserving a 4KB block and setting the necessary PROTENSET bit in the bootloader to avoid a chance of unintended modification</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 06 Mar 2018 14:59:03 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/30855/where-should-i-put-manufacturing-value" /><item><title>RE: Where should I put manufacturing value?</title><link>https://devzone.nordicsemi.com/thread/123107?ContentTypeID=1</link><pubDate>Tue, 06 Mar 2018 14:59:03 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f7787acb-de70-4121-85be-4fb533bbc0e2</guid><dc:creator>Rune Holmgren</dc:creator><description>&lt;p&gt;Yes, you may do this. The bootloader only knows what region to avoid and is unaffected by where in this region FDS is working. Moving FDS and non-FDS data around within the reserved area is not a problem.&lt;/p&gt;
&lt;p&gt;Take care when making such changes though since there isn&amp;#39;t any way to recover erased data if your device happens to have an issue with the configuration which causes FDS to overwrite manufacturing values.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;br /&gt;Rune Holmgren&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Where should I put manufacturing value?</title><link>https://devzone.nordicsemi.com/thread/122210?ContentTypeID=1</link><pubDate>Wed, 28 Feb 2018 03:49:29 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:887f5bbf-49af-4d08-bfc3-ebab3c81c706</guid><dc:creator>yuxin</dc:creator><description>&lt;p&gt;good idea&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Where should I put manufacturing value?</title><link>https://devzone.nordicsemi.com/thread/122208?ContentTypeID=1</link><pubDate>Wed, 28 Feb 2018 01:35:07 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9b896299-c72c-4d01-9340-afa8efb10dac</guid><dc:creator>yuxin</dc:creator><description>&lt;p&gt;i don&amp;#39;t konw....&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Where should I put manufacturing value?</title><link>https://devzone.nordicsemi.com/thread/122205?ContentTypeID=1</link><pubDate>Tue, 27 Feb 2018 22:57:17 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:13facc39-0b88-451c-99cc-9215e1bc5e5a</guid><dc:creator>rabarton</dc:creator><description>&lt;p&gt;Actually one follow up question is if we were to modify the FDS lib so that we could specify the address range used, do you see any issue with putting manufacturing values just below the bootloader in a 4KB block, and then app data below that? With this change we would have the option to grow the app data in the future. (I realize this may not be trivial with how FDS data is stored in flash)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Where should I put manufacturing value?</title><link>https://devzone.nordicsemi.com/thread/122203?ContentTypeID=1</link><pubDate>Tue, 27 Feb 2018 21:52:04 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7b393641-319e-43e5-b1c9-cda825f4364e</guid><dc:creator>rabarton</dc:creator><description>&lt;p&gt;Thank you for the explanation Rune. This will work. I&amp;#39;ll probably want to grab a 4KB block below the FDS area so I can turn on PROTENSET protection in the bootloader. &amp;nbsp;Request for a future product would be a few lockable flash/registers so we don&amp;#39;t need to use 4KB of flash. As things are designed, we need to estimate future size of the bootloader, and future size of the app FDS data and put our manufacturing values below that which is fragmenting flash quite a bit.&lt;/p&gt;
&lt;p&gt;Thanks again for the answer!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Where should I put manufacturing value?</title><link>https://devzone.nordicsemi.com/thread/122174?ContentTypeID=1</link><pubDate>Tue, 27 Feb 2018 17:04:10 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e83f4b68-1b81-4c49-a9ab-2381abf80990</guid><dc:creator>Rune Holmgren</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;(&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/30788/preserve-device-unique-information"&gt;This is a slightly edited version of the nRF52 answer given to the user kentaharada&amp;nbsp;in this questio&lt;/a&gt;n) There are two different answers for systems with and without a bootloader:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Without a bootloader&lt;/strong&gt;, you should store these data in the last flash page on the device towards the top of the device flash area. Typically 0x3FC00. Ensure that there are no other flash operations in this area done by the application.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;With a bootloader,&amp;nbsp;&lt;/strong&gt;you should store these data in a flash page in the &amp;quot;Application data&amp;quot; area in a region before the FDS pages. The default in the bootloader project is that the &amp;quot;Application data&amp;quot; area is 3 pages determined by the define&amp;nbsp;DFU_APP_DATA_RESERVED. The default in most of the SDK applications using peer_manager is that the FDS uses 3 virtual pages with a page size equal to 1 physical page determined by the define&amp;nbsp;FDS_VIRTUAL_PAGES. If you set the size of the &amp;quot;Application data&amp;quot; area to 1 page larger than the FDS area this additional page can be safely used to store data. It will never be written to by the bootloader because it&amp;#39;s in the &amp;quot;Application&amp;nbsp;data&amp;quot; area, and it will never be written to the by the&lt;span&gt;&amp;nbsp;&lt;/span&gt;FDS&lt;span&gt;&amp;nbsp;&lt;/span&gt;because it&amp;#39;s outside the FDS area. I have added an annotated flash map below showing where this page will be:&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/794x1222/__key/support-attachments/beef5d1b77644c448dabff31668f3a47-66afdd3c0f874ab0a0e3595514b2bba9/mem_5F00_map_5F00_51.png" /&gt;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;br /&gt;Rune Holmgren&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Where should I put manufacturing value?</title><link>https://devzone.nordicsemi.com/thread/121924?ContentTypeID=1</link><pubDate>Mon, 26 Feb 2018 08:05:06 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a50abcdb-aa22-42f5-8609-28d5cda13717</guid><dc:creator>Ronnie Bajwa</dc:creator><description>&lt;p&gt;I&amp;rsquo;d love&amp;nbsp;to know the official response from Nordic as well...&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Where should I put manufacturing value?</title><link>https://devzone.nordicsemi.com/thread/121904?ContentTypeID=1</link><pubDate>Mon, 26 Feb 2018 02:01:51 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:afd8a7cb-96c9-406c-9276-f85562bf0702</guid><dc:creator>Kenta Harada</dc:creator><description>&lt;p&gt;Similar&amp;nbsp;to my question. But no response from Nordic.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/30788/preserve-device-unique-information" rel="noopener noreferrer" target="_blank"&gt;Preserve device unique information&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>