<?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: Command complete interrupt in S32K</title>
    <link>https://community.nxp.com/t5/S32K/Command-complete-interrupt/m-p/1063429#M7196</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hello Daniel,&lt;/P&gt;&lt;P&gt;The code calls are configured in the following order：&lt;/P&gt;&lt;P&gt;step 1：&lt;/P&gt;&lt;P&gt;FLASH_DRV_Program(&amp;amp;flashSSDConfig, 0x10000048, 48, sourceBuffer);&lt;/P&gt;&lt;P&gt;step 2：&lt;/P&gt;&lt;P&gt;FTFC-&amp;gt;FERCNFG |= 0x02;//DFDIE enable&lt;/P&gt;&lt;P&gt;then when this above p&lt;SPAN&gt;rogram command completed, it will generate interrupt!&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;because if enable DIFIE firstly&amp;nbsp; it will&amp;nbsp;Interrupt (CCIF = 1) immediately, the order can't&amp;nbsp; as the following:&lt;/P&gt;&lt;P&gt;step 1：&lt;/P&gt;&lt;P&gt;FTFC-&amp;gt;FERCNFG |= 0x02;//DFDIE enable&lt;/P&gt;&lt;P&gt;step 2：&lt;/P&gt;&lt;P&gt;FLASH_DRV_Program(&amp;amp;flashSSDConfig, 0x10000048, 48, sourceBuffer);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;is&amp;nbsp; my understanding right?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 26 Aug 2020 08:00:32 GMT</pubDate>
    <dc:creator>814420552</dc:creator>
    <dc:date>2020-08-26T08:00:32Z</dc:date>
    <item>
      <title>Command complete interrupt</title>
      <link>https://community.nxp.com/t5/S32K/Command-complete-interrupt/m-p/1063427#M7194</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&amp;nbsp; when FTFC command comlete will set CCIF =1&amp;nbsp; and if enable CCIE(Command complete interrupt), then wii trigger &lt;SPAN&gt;Command complete interrupt,&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; My question is that CCIF is always equal to 1, so is it that the interruption will always occur？&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;and how to make a&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;FTFC Read Collision Error interrupt？ can you geive me a demo code for this?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt; &lt;BR style="font-weight: normal;" /&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 25 Aug 2020 03:51:23 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/Command-complete-interrupt/m-p/1063427#M7194</guid>
      <dc:creator>814420552</dc:creator>
      <dc:date>2020-08-25T03:51:23Z</dc:date>
    </item>
    <item>
      <title>Re: Command complete interrupt</title>
      <link>https://community.nxp.com/t5/S32K/Command-complete-interrupt/m-p/1063428#M7195</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello &lt;A class="jx-jive-macro-user" href="https://community.nxp.com/people/814420552@qq.com"&gt;814420552@qq.com&lt;/A&gt;,&lt;/P&gt;&lt;P&gt;Regarding CCIE,&lt;/P&gt;&lt;P&gt;Clear the CCIF flag to launch an FTFC command and enable the interrupt after that CCIE = 1.&lt;/P&gt;&lt;P&gt;In the interrupt handler function, disable the interrupt CCIE = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can generate the FTFC Read Collision Error interrupt by launching an FTFC command on a certain flash block (or partition) and reading some data from the flash block while waiting for the CCIF flag.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Daniel&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 25 Aug 2020 14:43:47 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/Command-complete-interrupt/m-p/1063428#M7195</guid>
      <dc:creator>danielmartynek</dc:creator>
      <dc:date>2020-08-25T14:43:47Z</dc:date>
    </item>
    <item>
      <title>Re: Command complete interrupt</title>
      <link>https://community.nxp.com/t5/S32K/Command-complete-interrupt/m-p/1063429#M7196</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hello Daniel,&lt;/P&gt;&lt;P&gt;The code calls are configured in the following order：&lt;/P&gt;&lt;P&gt;step 1：&lt;/P&gt;&lt;P&gt;FLASH_DRV_Program(&amp;amp;flashSSDConfig, 0x10000048, 48, sourceBuffer);&lt;/P&gt;&lt;P&gt;step 2：&lt;/P&gt;&lt;P&gt;FTFC-&amp;gt;FERCNFG |= 0x02;//DFDIE enable&lt;/P&gt;&lt;P&gt;then when this above p&lt;SPAN&gt;rogram command completed, it will generate interrupt!&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;because if enable DIFIE firstly&amp;nbsp; it will&amp;nbsp;Interrupt (CCIF = 1) immediately, the order can't&amp;nbsp; as the following:&lt;/P&gt;&lt;P&gt;step 1：&lt;/P&gt;&lt;P&gt;FTFC-&amp;gt;FERCNFG |= 0x02;//DFDIE enable&lt;/P&gt;&lt;P&gt;step 2：&lt;/P&gt;&lt;P&gt;FLASH_DRV_Program(&amp;amp;flashSSDConfig, 0x10000048, 48, sourceBuffer);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;is&amp;nbsp; my understanding right?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 26 Aug 2020 08:00:32 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/Command-complete-interrupt/m-p/1063429#M7196</guid>
      <dc:creator>814420552</dc:creator>
      <dc:date>2020-08-26T08:00:32Z</dc:date>
    </item>
    <item>
      <title>Re: Command complete interrupt</title>
      <link>https://community.nxp.com/t5/S32K/Command-complete-interrupt/m-p/1063430#M7197</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello &lt;A class="jx-jive-macro-user" href="https://community.nxp.com/people/814420552@qq.com"&gt;814420552@qq.com&lt;/A&gt;,&lt;/P&gt;&lt;P&gt;The FLASH_DRV_Program() function calls the FLASH_DRV_CommandSequence() function that clears the CCIF flag and polls the flag in a loop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_2.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/111224i2573F2EDDB9B8FBF/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_2.png" alt="pastedImage_2.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;If you program more than one phrase using the&amp;nbsp;FLASH_DRV_Program() function, at the time the function is complete, the CCIF flag has been cleared and set a few times already.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;There is no point in enabling the CCIF interrupt after that function.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You would need to modify the driver as I explained above.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Daniel&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 26 Aug 2020 08:38:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/Command-complete-interrupt/m-p/1063430#M7197</guid>
      <dc:creator>danielmartynek</dc:creator>
      <dc:date>2020-08-26T08:38:35Z</dc:date>
    </item>
    <item>
      <title>Re: Command complete interrupt</title>
      <link>https://community.nxp.com/t5/S32K/Command-complete-interrupt/m-p/1063431#M7198</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hello,&amp;nbsp;&lt;/P&gt;&lt;P&gt;i have got it , thanks very much!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 27 Aug 2020 01:12:58 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/Command-complete-interrupt/m-p/1063431#M7198</guid>
      <dc:creator>814420552</dc:creator>
      <dc:date>2020-08-27T01:12:58Z</dc:date>
    </item>
    <item>
      <title>Re: Command complete interrupt</title>
      <link>https://community.nxp.com/t5/S32K/Command-complete-interrupt/m-p/1135064#M8086</link>
      <description>&lt;P&gt;hello，&lt;/P&gt;&lt;P&gt;my&amp;nbsp; test flow is the following code !!&lt;/P&gt;&lt;P&gt;void EraseFlashSector(void)&lt;BR /&gt;{&lt;BR /&gt;uint32_t address = 0x00008000;&lt;BR /&gt;uint32_t flashData = 0 ;&lt;BR /&gt;uint32_t i = 0;&lt;/P&gt;&lt;P&gt;//erase 4KB flash sector (the smallest entity that can be erased)&lt;BR /&gt;while((FTFC-&amp;gt;FSTAT &amp;amp; FTFC_FSTAT_CCIF_MASK) == 0); // Wait if operation in progress&lt;BR /&gt;FTFC-&amp;gt;FSTAT = FTFC_FSTAT_ACCERR_MASK | FTFC_FSTAT_FPVIOL_MASK;&lt;/P&gt;&lt;P&gt;FTFC-&amp;gt;FCCOB[3] = 0x09; //Erase Flash Sector command (0x09)&lt;BR /&gt;FTFC-&amp;gt;FCCOB[2] = (address &amp;gt;&amp;gt; 16) &amp;amp; 0xff; //Flash address [23:16]&lt;BR /&gt;FTFC-&amp;gt;FCCOB[1] = (address &amp;gt;&amp;gt; &lt;LI-EMOJI id="lia_smiling-face-with-sunglasses" title=":smiling_face_with_sunglasses:"&gt;&lt;/LI-EMOJI&gt; &amp;amp; 0xff; //Flash address [15:08]&lt;BR /&gt;FTFC-&amp;gt;FCCOB[0] = address &amp;amp; 0xff; //Flash address [7:0]&lt;/P&gt;&lt;P&gt;FTFC-&amp;gt;FSTAT = FTFC_FSTAT_CCIF_MASK; //launch command&lt;BR /&gt;while(( FTFC-&amp;gt;FSTAT &amp;amp; FTFC_FSTAT_CCIF_MASK) == 0)&lt;BR /&gt;{&lt;/P&gt;&lt;P&gt;flashData = *(uint32_t *)(0x8000 + 4);&lt;/P&gt;&lt;P&gt;flashData = *(uint32_t *)(0x8000 + 8);&lt;/P&gt;&lt;P&gt;flashData = *(uint64_t *)(0x8000 + 16);&lt;/P&gt;&lt;P&gt;for(i = 0; i&amp;lt; 1024;i++)&lt;BR /&gt;{&lt;BR /&gt;flashData = *(uint32_t *)(0x8000 + i*4);&lt;BR /&gt;}&lt;BR /&gt;}//wait for done&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;main ()&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;/* Enable global interrupt */&lt;BR /&gt;INT_SYS_EnableIRQGlobal();&lt;/P&gt;&lt;P&gt;FTFC-&amp;gt;FCNFG |= 0x40;// enable read conflcit interrupt&lt;/P&gt;&lt;P&gt;INT_SYS_EnableIRQ(Read_Collision_IRQn);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;EraseFlashSector();&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;my it can't generate read conflision interrupt !&amp;nbsp; can you help me?&amp;nbsp; thanks very much!&lt;/P&gt;</description>
      <pubDate>Thu, 03 Sep 2020 08:28:20 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/Command-complete-interrupt/m-p/1135064#M8086</guid>
      <dc:creator>814420552</dc:creator>
      <dc:date>2020-09-03T08:28:20Z</dc:date>
    </item>
  </channel>
</rss>

