<?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: How to use OTFAD function in K81 in Kinetis Microcontrollers</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/How-to-use-OTFAD-function-in-K81/m-p/641351#M38858</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. Fisrtly confirmed that qspi operation are normal.&lt;/P&gt;&lt;P&gt;2. Could you try to change&lt;/P&gt;&lt;P&gt;" memcpy(ucReadSflashDataAfterEnableOTF,(uint8_t *)0x68080000,sizeof(ucReadSflashDataAfterEnableOTF));"&lt;/P&gt;&lt;P&gt;to&lt;/P&gt;&lt;P&gt;"for(i=0; i&amp;lt;sizeof(ucReadSflashDataAfterEnableOTF)); i++)&lt;BR /&gt;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ucReadSflashDataAfterEnableOTF[i] = ((uint8_t)(*(volatile uint8_t*)(0x68080000 + i)));&lt;BR /&gt;&amp;nbsp; }"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;Juying&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 04 May 2017 08:49:55 GMT</pubDate>
    <dc:creator>juying_zhong</dc:creator>
    <dc:date>2017-05-04T08:49:55Z</dc:date>
    <item>
      <title>How to use OTFAD function in K81</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/How-to-use-OTFAD-function-in-K81/m-p/641350#M38857</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;&amp;nbsp; I 'm trying to configure OTFAD in my own code,which is ported from NXP_Kinetis_Bootloader_2_0_0.But when I read data from flash after enable OTFAD,it is the same as the data before enable OTFAD.I don't know why.See annex for test code.&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;OTFAD all register values are as follows.&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #92d050;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;OTFAD_CR is 0x80000000&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #92d050;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;OTFAD_SR is 0x20000040&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #92d050;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;OTFAD_CRC is 0x00000000&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #92d050;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;OTFAD_CTX0_KEY_W0 is 0x03020100&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #92d050;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;OTFAD_CTX0_KEY_W1 is 0x07060504&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #92d050;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;OTFAD_CTX0_KEY_W2 is 0x0b0a0908&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #92d050;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;OTFAD_CTX0_KEY_W3 is 0x0f0e0d0c&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #92d050;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;OTFAD_CTX0_CTR_W0 is 0x67452301&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #92d050;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;OTFAD_CTX0_CTR_W1 is 0xefcdab89&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #92d050;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;OTFAD_CTX0_RGD_W0 is 0x68080000&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #92d050;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;OTFAD_CTX0_RGD_W1 is 0x680fffff&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #92d050;"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;the test code result is as follows.&lt;SPAN style="color: #92d050;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #92d050;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;enable interrupt&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Read Before Enable OTF&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x55 0xaa 0xcc 0x44 0x5a 0xa5 0x4c 0xc4 0x53 0x30 0x2d 0x55 0x53 0x45 0x52 0x20 &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x38 0x35 0x30 0x30 0x2d 0x46 0x2d 0x31 0x30 0x33 0x20 0x20 0x20 0x20 0x20 0x20 &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x30 0x30 0x30 0x30 0x2d 0x30 0x31 0x30 0x30 0x2d 0x30 0x30 0x20 0x20 0x20 0x20 &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 &lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Read After Enable OTF&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x55 0xaa 0xcc 0x44 0x5a 0xa5 0x4c 0xc4 0x53 0x30 0x2d 0x55 0x53 0x45 0x52 0x20 &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x38 0x35 0x30 0x30 0x2d 0x46 0x2d 0x31 0x30 0x33 0x20 0x20 0x20 0x20 0x20 0x20 &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x30 0x30 0x30 0x30 0x2d 0x30 0x31 0x30 0x30 0x2d 0x30 0x30 0x20 0x20 0x20 0x20 &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 &lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Read After Disable OTF&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x55 0xaa 0xcc 0x44 0x5a 0xa5 0x4c 0xc4 0x53 0x30 0x2d 0x55 0x53 0x45 0x52 0x20 &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x38 0x35 0x30 0x30 0x2d 0x46 0x2d 0x31 0x30 0x33 0x20 0x20 0x20 0x20 0x20 0x20 &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x30 0x30 0x30 0x30 0x2d 0x30 0x31 0x30 0x30 0x2d 0x30 0x30 0x20 0x20 0x20 0x20 &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 &lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;OTFAD_CR is 0x80000000&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;OTFAD_SR is 0x20000040&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;OTFAD_CRC is 0x00000000&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;OTFAD_CTX0_KEY_W0 is 0x03020100&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;OTFAD_CTX0_KEY_W1 is 0x07060504&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;OTFAD_CTX0_KEY_W2 is 0x0b0a0908&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;OTFAD_CTX0_KEY_W3 is 0x0f0e0d0c&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;OTFAD_CTX0_CTR_W0 is 0x67452301&lt;BR /&gt;&amp;nbsp;&amp;nbsp; OTFAD_CTX0_CTR_W1 is 0xefcdab89&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;OTFAD_CTX0_RGD_W0 is 0x68080000&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;OTFAD_CTX0_RGD_W1 is 0x680fffff&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Original Attachment has been moved to: &lt;A _jive_internal="true" href="https://community.nxp.com/docs/DOC-337621"&gt;otftest.c.zip&lt;/A&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Original Attachment has been moved to: &lt;A _jive_internal="true" href="https://community.nxp.com/docs/DOC-337621"&gt;fsl_otfad_hal.c.zip&lt;/A&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 26 Apr 2017 02:15:33 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/How-to-use-OTFAD-function-in-K81/m-p/641350#M38857</guid>
      <dc:creator>熊化春</dc:creator>
      <dc:date>2017-04-26T02:15:33Z</dc:date>
    </item>
    <item>
      <title>Re: How to use OTFAD function in K81</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/How-to-use-OTFAD-function-in-K81/m-p/641351#M38858</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. Fisrtly confirmed that qspi operation are normal.&lt;/P&gt;&lt;P&gt;2. Could you try to change&lt;/P&gt;&lt;P&gt;" memcpy(ucReadSflashDataAfterEnableOTF,(uint8_t *)0x68080000,sizeof(ucReadSflashDataAfterEnableOTF));"&lt;/P&gt;&lt;P&gt;to&lt;/P&gt;&lt;P&gt;"for(i=0; i&amp;lt;sizeof(ucReadSflashDataAfterEnableOTF)); i++)&lt;BR /&gt;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ucReadSflashDataAfterEnableOTF[i] = ((uint8_t)(*(volatile uint8_t*)(0x68080000 + i)));&lt;BR /&gt;&amp;nbsp; }"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;Juying&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 04 May 2017 08:49:55 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/How-to-use-OTFAD-function-in-K81/m-p/641351#M38858</guid>
      <dc:creator>juying_zhong</dc:creator>
      <dc:date>2017-05-04T08:49:55Z</dc:date>
    </item>
  </channel>
</rss>

