<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: LPC 1857 with SPIFI MX25L25635F in LPC Microcontrollers</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC-1857-with-SPIFI-MX25L25635F/m-p/844012#M33577</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi &lt;SPAN class=""&gt;&lt;A _jive_internal="true" data-content-finding="Community" data-userid="321768" data-username="mathiasmonse" href="https://community.nxp.com/people/mathiasmonse"&gt;Mathias Monse&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;According to the introduction of the issue, I get that the SPIFI initialization usually fails when first execute the&amp;nbsp; spifi_init() after entering the debugging, however, it will succeed after recall the spifi_init(), is it?&lt;BR /&gt;If yes, I think it's not a software issue, it obviously relates the hardware circuit, as I pointed out that the device takes a bit longer time to be ready after power on.&lt;BR /&gt;Have a great day,&lt;BR /&gt;TIC&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;BR /&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 22 Nov 2018 05:46:42 GMT</pubDate>
    <dc:creator>jeremyzhou</dc:creator>
    <dc:date>2018-11-22T05:46:42Z</dc:date>
    <item>
      <title>LPC 1857 with SPIFI MX25L25635F</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC-1857-with-SPIFI-MX25L25635F/m-p/844009#M33574</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;For our product we would like to use the SPIFI flash memory Macronix MX25L25635F in our design as second source. &lt;/P&gt;&lt;P&gt;The manual UM10430 reads on page 49 "A reset delay is needed on the LPC18xx to allow this memory time to come up before booting."&lt;/P&gt;&lt;P&gt;How can I maintain such a reset delay by software?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The implemented bootloader and application are using NXP's SPIFI rom api which sufficiently works with SPANSION type flash S25FL2566S.&lt;/P&gt;&lt;P&gt;During my investigations I experienced the following behaviour:&lt;/P&gt;&lt;P&gt;- loading bootloader and application binaries into flash with LPCScrypt v2.0 does work&lt;/P&gt;&lt;P&gt;- starting the application afterwards fails with spifi_init()&lt;/P&gt;&lt;P&gt;- resetting the target with the debugger will start the application&lt;/P&gt;&lt;P&gt;- after such a debugger reset every successive reboot starts the application again without delay or spifi_init failure even after power down&lt;/P&gt;&lt;P&gt;Does somebody have experiences with a similar setup and behaviour?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 16 Nov 2018 11:23:44 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC-1857-with-SPIFI-MX25L25635F/m-p/844009#M33574</guid>
      <dc:creator>mathiasmonse</dc:creator>
      <dc:date>2018-11-16T11:23:44Z</dc:date>
    </item>
    <item>
      <title>Re: LPC 1857 with SPIFI MX25L25635F</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC-1857-with-SPIFI-MX25L25635F/m-p/844010#M33575</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi &lt;A _jive_internal="true" data-content-finding="Community" data-userid="321768" data-username="mathiasmonse" href="https://community.nxp.com/people/mathiasmonse"&gt;Mathias Monse&lt;/A&gt;,&lt;/P&gt;&lt;P&gt;Thank you for your interest in NXP Semiconductor products and for the opportunity to serve you.&lt;BR /&gt;1) How can I maintain such a reset delay by software?&lt;BR /&gt;--These devices take a longer time to be ready after power on. You may need to delay the startup of LPC18xx. One way to achieve this sequence is to delay&lt;BR /&gt;RESETN signal of LPC18xx. It needs to adjust the RC circuit of reset pin.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_1.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/76485i494C1351DBB43C2D/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_1.png" alt="pastedImage_1.png" /&gt;&lt;/span&gt;&lt;BR /&gt;RESETN signal of LPC18xx.&lt;BR /&gt;2) Does somebody have experiences with a similar setup and behavior?&lt;BR /&gt;-- I'd like to know the more information about this phenomenon, so whether you like to share the code.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Have a great day,&lt;BR /&gt;TIC&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;BR /&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 20 Nov 2018 02:31:46 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC-1857-with-SPIFI-MX25L25635F/m-p/844010#M33575</guid>
      <dc:creator>jeremyzhou</dc:creator>
      <dc:date>2018-11-20T02:31:46Z</dc:date>
    </item>
    <item>
      <title>Re: LPC 1857 with SPIFI MX25L25635F</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC-1857-with-SPIFI-MX25L25635F/m-p/844011#M33576</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN&gt;Hi jeremyzhou&amp;lt;&lt;/SPAN&gt;&lt;A class="jive-link-profile-small jiveTT-hover-user" data-containerid="-1" data-containertype="-1" data-objectid="213424" data-objecttype="3" href="https://community.nxp.com/people/jeremyzhou?et=notification.mention" rel="nofollow noopener noreferrer" target="_blank"&gt;https://community.nxp.com/people/jeremyzhou?et=notification.mention&lt;/A&gt;&lt;SPAN&gt;&amp;gt;,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thank you for your support.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1) For the idea of delaying RESETN we plan to test with a reset controller with adjustable delay. In the recent layout we do use a MCP130 with fix delay of about 350ms. I will tell about the results when available.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2) Another and preferred approach is to find a software solution. My hope is based on the observation that after a successful call to spifi_init() the start succeeds always in the following reboots (both cold and warm reset).&lt;/P&gt;&lt;P&gt;For a successful reboot the used sequence is:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;Set device into LPC boot mode&lt;/LI&gt;&lt;LI&gt;Load binaries (boot loader and application) using LPCScrypt (v2.0) into FLASH (internal and SPIFI)&lt;/LI&gt;&lt;LI&gt;Connect Debugger (w/o device reset)&lt;/LI&gt;&lt;LI&gt;Start device (booting from FLASH)&lt;/LI&gt;&lt;LI&gt;STOP application using debugger --&amp;gt; while(1) loop after spifi_init() failed&lt;STRONG&gt; [[-- without further actions every other reboot ends here]]&lt;BR /&gt;&lt;/STRONG&gt;&lt;/LI&gt;&lt;LI&gt;RESTART application and use debugger to break just before call to spifi_init()&lt;/LI&gt;&lt;LI&gt;Step into spifi_init() and through the whole function&lt;/LI&gt;&lt;LI&gt;After spifi_init() run free &lt;STRONG&gt;[[--&amp;gt; application start succeeds]]&lt;/STRONG&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The init sequence is as follows:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="language-python line-numbers"&gt;&lt;CODE&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; startup_LPC18xx&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;s&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;Reset Handler
Reset_Handler PROC
EXPORT Reset_Handler
IMPORT SystemInit
IMPORT __main
LDR R0&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;SystemInit
BLX R0
LDR R0&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;__main
BX R0
ENDP&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;PRE class="language-c line-numbers"&gt;&lt;CODE&gt;&lt;SPAN class="comment token"&gt;/*------------------------------------------------------------------------
&amp;nbsp; Initialize the system
*----------------------------------------------------------------------*/&lt;/SPAN&gt;
&lt;SPAN class="keyword token"&gt;void&lt;/SPAN&gt; SystemInit &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="keyword token"&gt;void&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint32_t &lt;SPAN class="operator token"&gt;*&lt;/SPAN&gt;MAM&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;t&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;/* Set up flash controller for both banks */&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;/* Bank A */&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MAM &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;uint32_t &lt;SPAN class="operator token"&gt;*&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;LPC_CREG_BASE &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x120&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; t&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;*&lt;/SPAN&gt;MAM&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; t &lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;~&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0xF&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;12&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="operator token"&gt;*&lt;/SPAN&gt;MAM &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; t &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;FLASH_ACCELERATOR_SPEED&lt;SPAN class="operator token"&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;12&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;/* Bank B */&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MAM &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;uint32_t &lt;SPAN class="operator token"&gt;*&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;LPC_CREG_BASE &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x124&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; t&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;*&lt;/SPAN&gt;MAM&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; t &lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;~&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0xF&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;12&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="operator token"&gt;*&lt;/SPAN&gt;MAM &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; t &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;FLASH_ACCELERATOR_SPEED&lt;SPAN class="operator token"&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;12&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&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 class="token function"&gt;__disable_irq&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&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 class="token function"&gt;SystemInit_PortPins&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;/* Port Pins Init */&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token function"&gt;SystemInit_Core&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;/* Init CPU Core */&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token function"&gt;SystemInit_Clock&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;/* Init CPU CLK */&lt;/SPAN&gt;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SystemInit_ExtMemCtl &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;/* Configure External Memory Controller */&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token function"&gt;SystemInit_SPIFI&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;/* Configure SPI Flash Interface */&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token function"&gt;SystemInit_LCD&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;/* Configure LCD Controller */&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token function"&gt;SCT_Init&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;/* Configure State Configurable Timer */&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="language-c line-numbers"&gt;&lt;CODE&gt;&lt;SPAN class="keyword token"&gt;void&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;SystemInit_SPIFI&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="keyword token"&gt;void&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; EMCClk &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;CGU_GetPCLKFrequency&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;CGU_PERIPHERAL_M3CORE&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;/&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;2&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;// call spifi rom lib function to configure SPIFI&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;spifi_init&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt;sobj&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;9&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; S_RCVCLK &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt; S_FULLCLK&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; EMCClk&lt;SPAN class="operator token"&gt;/&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;1000000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&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 class="keyword token"&gt;if&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;spifi_init&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt;sobj&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;9&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; S_RCVCLK &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt; S_FULLCLK&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; EMCClk&lt;SPAN class="operator token"&gt;/&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;1000000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;while&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&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 class="punctuation token"&gt;}&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="margin-left: 35.4pt;"&gt;&lt;SPAN style="font-size: 11.0pt; color: #1f497d;"&gt;My attempts to delay the spifi_init() sequence by using loops or timer delays haven’t been successfully yet.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-left: 35.4pt;"&gt;&lt;SPAN style="font-size: 11.0pt; color: #1f497d;"&gt;The source code of spifi_init() is not available for me.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-left: 35.4pt;"&gt;&lt;SPAN style="font-size: 11.0pt; color: #1f497d;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-left: 35.4pt;"&gt;&lt;SPAN style="font-size: 11.0pt; color: #1f497d;"&gt;I ‘d like any ideas how to proceed. Thank you.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-left: 35.4pt;"&gt;&lt;SPAN style="font-size: 11.0pt; color: #1f497d;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.0pt; color: #1f497d;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.0pt; color: #1f497d;"&gt;Kind regards&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.5pt; color: #666666;"&gt;&lt;A _jive_internal="true" href="https://community.nxp.com/people/mathiasmonse" rel="nofollow noopener noreferrer" target="_blank"&gt;Mathias Monse&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 21 Nov 2018 09:50:12 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC-1857-with-SPIFI-MX25L25635F/m-p/844011#M33576</guid>
      <dc:creator>mathiasmonse</dc:creator>
      <dc:date>2018-11-21T09:50:12Z</dc:date>
    </item>
    <item>
      <title>Re: LPC 1857 with SPIFI MX25L25635F</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC-1857-with-SPIFI-MX25L25635F/m-p/844012#M33577</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi &lt;SPAN class=""&gt;&lt;A _jive_internal="true" data-content-finding="Community" data-userid="321768" data-username="mathiasmonse" href="https://community.nxp.com/people/mathiasmonse"&gt;Mathias Monse&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;According to the introduction of the issue, I get that the SPIFI initialization usually fails when first execute the&amp;nbsp; spifi_init() after entering the debugging, however, it will succeed after recall the spifi_init(), is it?&lt;BR /&gt;If yes, I think it's not a software issue, it obviously relates the hardware circuit, as I pointed out that the device takes a bit longer time to be ready after power on.&lt;BR /&gt;Have a great day,&lt;BR /&gt;TIC&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;BR /&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 22 Nov 2018 05:46:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC-1857-with-SPIFI-MX25L25635F/m-p/844012#M33577</guid>
      <dc:creator>jeremyzhou</dc:creator>
      <dc:date>2018-11-22T05:46:42Z</dc:date>
    </item>
    <item>
      <title>Re: LPC 1857 with SPIFI MX25L25635F</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC-1857-with-SPIFI-MX25L25635F/m-p/844013#M33578</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi &lt;A _jive_internal="true" href="https://community.nxp.com/people/jeremyzhou"&gt;jeremyzhou&lt;/A&gt;,&lt;/P&gt;&lt;P&gt;the behaviour as a bit tricky:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;calling spifi_init() twice in a row --&amp;gt; fail&lt;/LI&gt;&lt;LI&gt;delaying 1st and 2nd call several seconds (2..30s) by code --&amp;gt; fail&lt;/LI&gt;&lt;LI&gt;breakpoint before either call to spifi_init() and stepping over functions calls --&amp;gt; fail&lt;/LI&gt;&lt;LI&gt;breakpoint before 1st call to spifi_init() and stepping into function (until spifi_init()::return) --&amp;gt; success&lt;BR /&gt;-- and from then on every reboot (cold/hot) succeeds&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;I agree that a delay of an initialisation routine of spifi_init() is the key but which?&lt;/P&gt;&lt;P&gt;I would like to check what part of spifi_init() fails and why.&lt;/P&gt;&lt;P&gt;Where can I find the source code of spifi_init()?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Mathias&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 22 Nov 2018 08:14:28 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC-1857-with-SPIFI-MX25L25635F/m-p/844013#M33578</guid>
      <dc:creator>mathiasmonse</dc:creator>
      <dc:date>2018-11-22T08:14:28Z</dc:date>
    </item>
    <item>
      <title>Re: LPC 1857 with SPIFI MX25L25635F</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC-1857-with-SPIFI-MX25L25635F/m-p/844014#M33579</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi &lt;A _jive_internal="true" data-content-finding="Community" data-userid="321768" data-username="mathiasmonse" href="https://community.nxp.com/people/mathiasmonse"&gt;Mathias Monse&lt;/A&gt;，&lt;/P&gt;&lt;P&gt;Thanks for your reply.&lt;BR /&gt;You can learn more information about the SPIFI library via the following link, for instance, library project and library application project.&lt;/P&gt;&lt;P&gt;&lt;A class="link-titled" href="https://www.nxp.com/products/processors-and-microcontrollers/arm-based-processors-and-mcus/lpc-cortex-m-mcus/lpc1800-cortex-m3/lpc-spifi-peripheral:SPIFI-NXP-MICROCONTROLLERS" title="https://www.nxp.com/products/processors-and-microcontrollers/arm-based-processors-and-mcus/lpc-cortex-m-mcus/lpc1800-cortex-m3/lpc-spifi-peripheral:SPIFI-NXP-MICROCONTROLLERS"&gt;LPC SPIFI Peripheral|NXP&lt;/A&gt; &lt;BR /&gt;Have a great day,&lt;BR /&gt;TIC&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;BR /&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 23 Nov 2018 02:53:41 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC-1857-with-SPIFI-MX25L25635F/m-p/844014#M33579</guid>
      <dc:creator>jeremyzhou</dc:creator>
      <dc:date>2018-11-23T02:53:41Z</dc:date>
    </item>
    <item>
      <title>Re: LPC 1857 with SPIFI MX25L25635F</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC-1857-with-SPIFI-MX25L25635F/m-p/844015#M33580</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;After some more investigation a solution/workaround had been found:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;at first start after storing the application using LPCScypt v.2.0 the call to spifi_rom_api::spifi_init() fails&lt;UL&gt;&lt;LI&gt;connect SPIFI base clock (CGU_BASE_SPIFI) to CGU_CLKSRC_IRC&lt;/LI&gt;&lt;LI&gt;re-run spifi_rom_api::spifi_init()&lt;/LI&gt;&lt;LI&gt;connect SPIFI base clock to normal CGU_CLKSRC_XXX (eg. CGU_CLKSRC_IDIVA)&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;LI&gt;all starts from then on will succeed (also without changing&amp;nbsp; source of SPIFI base clock)&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;Unclear is:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;what non-volatile setting does change LPCScrypt to require a slower SPIFI clock&lt;/LI&gt;&lt;LI&gt;does adjust (repair) spifi_rom_api::spifi_init() that setting when called with a slower SPIFI clock or what else causes this behaviour&lt;/LI&gt;&lt;/UL&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 27 Nov 2018 11:53:55 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC-1857-with-SPIFI-MX25L25635F/m-p/844015#M33580</guid>
      <dc:creator>mathiasmonse</dc:creator>
      <dc:date>2018-11-27T11:53:55Z</dc:date>
    </item>
    <item>
      <title>Re: LPC 1857 with SPIFI MX25L25635F</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC-1857-with-SPIFI-MX25L25635F/m-p/844016#M33581</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi &lt;SPAN class=""&gt;&lt;A _jive_internal="true" data-content-finding="Community" data-userid="321768" data-username="mathiasmonse" href="https://community.nxp.com/people/mathiasmonse"&gt;Mathias Monse&lt;/A&gt;&lt;/SPAN&gt;,&lt;/P&gt;&lt;P&gt;Thanks for your reply.&lt;/P&gt;&lt;P&gt;Firstly, the LPC18XX doesn't contain the ROM SPIFI API, the LPCScrypt receive a boot image via the USB and store it to RAM, then execute from there.&lt;BR /&gt;The boot image is able to do the flash operations via the inputting command in CMD window.&lt;BR /&gt;1) what non-volatile setting does change LPCScrypt to require a slower SPIFI clock？&lt;BR /&gt;-- As I mentioned above, the boot image is in charge of the flash operations, however, itis invisible to us.&lt;BR /&gt;2) Does adjust (repair) spifi_rom_api::spifi_init() that setting when called with a slower SPIFI clock or what else causes this behavior?&lt;BR /&gt;-- It's available to configure a slow BASE_SPIFI_CLK during initializing the SPIFI module prior to calling spifi_init().&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Have a great day,&lt;BR /&gt;TIC&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;BR /&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 28 Nov 2018 05:52:10 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC-1857-with-SPIFI-MX25L25635F/m-p/844016#M33581</guid>
      <dc:creator>jeremyzhou</dc:creator>
      <dc:date>2018-11-28T05:52:10Z</dc:date>
    </item>
    <item>
      <title>Re: LPC 1857 with SPIFI MX25L25635F</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC-1857-with-SPIFI-MX25L25635F/m-p/844017#M33582</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi &lt;A class="jx-jive-macro-user" href="https://community.nxp.com/people/jeremyzhou"&gt;jeremyzhou&lt;/A&gt;,&lt;/P&gt;&lt;P&gt;many thanks for your reply.&lt;/P&gt;&lt;P&gt;After your remarks I cross-checked with our implementation and have to agree with your statement the LPC18XX does not contain the ROM SPIFI API. We link 'CMSIS\drivers\lib\spifi_drv_M3.lib' to our project and use the spifi_rom_api.o for handling the SPIFI devices. There I found also a draft version of 'SPIFI_report v0.1.pdf' (Rev. 0.01 — 27 April 2012) which explains a lot of my questions.&lt;/P&gt;&lt;P&gt;The need to call spifi_init() with a SPIFI base clock set to 12 MHz could be a special property of the MACRONIX flash device -- at least I take it that way.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Kind regards&lt;/P&gt;&lt;P&gt;Mathias&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 28 Nov 2018 09:23:28 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC-1857-with-SPIFI-MX25L25635F/m-p/844017#M33582</guid>
      <dc:creator>mathiasmonse</dc:creator>
      <dc:date>2018-11-28T09:23:28Z</dc:date>
    </item>
  </channel>
</rss>

