<?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>One firmware compatible with 2 different external flash models.</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/108499/one-firmware-compatible-with-2-different-external-flash-models</link><description>Hi, 
 
 Our project using a 4M bytes qspi external flash, is it possible to build one firmware which is compatible with 2 different external flash models? 
 These 2 models have different jedec-id and both of them are using the same quad-enable-requirements</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Sun, 07 Apr 2024 02:48:13 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/108499/one-firmware-compatible-with-2-different-external-flash-models" /><item><title>RE: One firmware compatible with 2 different external flash models.</title><link>https://devzone.nordicsemi.com/thread/477410?ContentTypeID=1</link><pubDate>Sun, 07 Apr 2024 02:48:13 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:961c076d-ad12-412b-bc8e-63aa863f18b7</guid><dc:creator>Anthony Yuan</dc:creator><description>&lt;p&gt;Hi Hieu,&lt;/p&gt;
&lt;p&gt;Got it and many thanks for the update.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: One firmware compatible with 2 different external flash models.</title><link>https://devzone.nordicsemi.com/thread/476711?ContentTypeID=1</link><pubDate>Tue, 02 Apr 2024 23:05:05 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:74c78efd-f0cc-46c6-ac26-a291625710dd</guid><dc:creator>Hieu</dc:creator><description>&lt;p&gt;Hi Anthony,&lt;/p&gt;
&lt;p&gt;My apology, but my previous answer appears to be incorrect.&lt;/p&gt;
&lt;p&gt;There is a Kconfig option that let the application to discover the&amp;nbsp;parameters of the external flash device on runtime, and therefore doesn&amp;#39;t require the jedec-id declared. It&amp;nbsp;&lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/2.6.0/kconfig/index.html#CONFIG_SPI_NOR_SFDP_RUNTIME"&gt;CONFIG_SPI_NOR_SFDP_RUNTIME&lt;/a&gt;.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I tested and it worked with the AT45 Flash Driver sample, modified&amp;nbsp;for the nRF52840 DK.&lt;/p&gt;
&lt;p&gt;I would like to test if DFU also work with this Kconfig too but couldn&amp;#39;t get to it yet. I am not sure when I can return to that, so I opt to inform you earlier than later.&lt;/p&gt;
&lt;p&gt;Sorry again for my lacking answer.&lt;/p&gt;
&lt;p&gt;Regards,&lt;/p&gt;
&lt;p&gt;Hieu&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: One firmware compatible with 2 different external flash models.</title><link>https://devzone.nordicsemi.com/thread/470245?ContentTypeID=1</link><pubDate>Thu, 22 Feb 2024 12:42:01 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:53073bcd-2013-46c4-ae2a-39f25304202d</guid><dc:creator>Hieu</dc:creator><description>&lt;p&gt;No problem. Happy to help &lt;span class="emoticon" data-url="https://devzone.nordicsemi.com/cfs-file/__key/system/emoji/1f642.svg" title="Slight smile"&gt;&amp;#x1f642;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: One firmware compatible with 2 different external flash models.</title><link>https://devzone.nordicsemi.com/thread/470136?ContentTypeID=1</link><pubDate>Thu, 22 Feb 2024 02:59:43 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4f915bac-ba8d-4f01-a85f-35a3192f44d2</guid><dc:creator>Anthony Yuan</dc:creator><description>&lt;p&gt;Understood, Many thanks Hieu.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: One firmware compatible with 2 different external flash models.</title><link>https://devzone.nordicsemi.com/thread/470091?ContentTypeID=1</link><pubDate>Wed, 21 Feb 2024 17:04:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f221f3e5-639c-4036-bd82-5d33c0f885cd</guid><dc:creator>Hieu</dc:creator><description>&lt;p&gt;**Update: this answer is incorrect. Please see my later answer, where I learned of a new Kconfig that helps..&lt;/p&gt;
&lt;p&gt;Hi Anthony,&lt;/p&gt;
&lt;p&gt;I have looked into it, and unless you are using the external flash for your own data,&amp;nbsp;I cannot find a way to use only one firmware for it either.&lt;/p&gt;
&lt;p&gt;If you use external flash for your own data, you might be able to declare both flash devices on the same DeviceTree. You will have to implement your own flash access and memory management, because if you use any built-in support, the OS will try to initialize the flash device, and runs into error.&amp;nbsp;To detect which flash device should be used, you can either just ignore the device that fail to initialize, or setup the hardware to have a pin tied to ground or logic high to differentiate the two hardware models.&lt;/p&gt;
&lt;p&gt;I don&amp;#39;t imagine this approach is of interested if you are using QSPI flash though.&lt;/p&gt;
&lt;p&gt;By the way, if you are using 2.4.0, please consider moving to 2.4.3, where a few bugs are fixed. The change log can be found in the &lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/releases_and_maturity/release_notes.html"&gt;Release Notes&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Regards,&lt;/p&gt;
&lt;p&gt;Hieu&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>