<?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: FLASH_ReadOnce KSDK2.0 parameter in Kinetis Software Development Kit</title>
    <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/FLASH-ReadOnce-KSDK2-0-parameter/m-p/599897#M6113</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi David,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thank you for your fast response.&lt;/P&gt;&lt;P&gt;So I have to put the variable "index" with values&amp;nbsp;(0x00 ... 0x07) in the function call FLASH_ReadOnce() and FLASH_ProgramOnce().&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;There is only a correction of "Kinetis SDK v.2.0 API Reference Manual.pdf", section 19.5.9 in the table of parameters "start" --&amp;gt; "index" (with a meaningful description) necessary.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards&lt;/P&gt;&lt;P&gt;Manfred&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 08 Sep 2016 14:48:11 GMT</pubDate>
    <dc:creator>manfredschnell</dc:creator>
    <dc:date>2016-09-08T14:48:11Z</dc:date>
    <item>
      <title>FLASH_ReadOnce KSDK2.0 parameter</title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/FLASH-ReadOnce-KSDK2-0-parameter/m-p/599895#M6111</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I use K64, IAR Workbench, with KSDK2.0.&lt;/P&gt;&lt;P&gt;I'm confused about parameter of FLASH_ReadOnce(&lt;SPAN style="font-family: NimbusRomNo9L-Medi; font-size: large;"&gt;flash_config_t * &lt;/SPAN&gt;&lt;SPAN style="font-family: NimbusSanL-BoldItal; font-size: large;"&gt;config, &lt;/SPAN&gt;&lt;SPAN style="font-family: NimbusSanL-Bold; font-size: large;"&gt;uint32_t &lt;/SPAN&gt;&lt;SPAN style="font-family: NimbusSanL-BoldItal; font-size: large;"&gt;index, &lt;/SPAN&gt;&lt;SPAN style="font-size: large; font-family: NimbusSanL-Bold;"&gt;uint32_t * &lt;/SPAN&gt;&lt;SPAN style="font-size: large; font-family: NimbusSanL-BoldItal;"&gt;dst,&lt;/SPAN&gt;&lt;SPAN style="font-size: large; font-family: NimbusSanL-BoldItal;"&gt; &lt;/SPAN&gt;&lt;SPAN style="font-size: large; font-family: NimbusSanL-BoldItal;"&gt;uin&lt;/SPAN&gt;&lt;SPAN style="font-size: large; font-family: NimbusSanL-Bold;"&gt;t32_t &lt;/SPAN&gt;&lt;SPAN style="font-size: large; font-family: NimbusSanL-BoldItal;"&gt;lengthInBytes&lt;/SPAN&gt;&lt;SPAN style="font-size: large; font-family: NimbusSanL-Bold;"&gt;)&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="font-size: large; font-family: NimbusSanL-Bold;"&gt;In API Reference Manual parameter&amp;nbsp; description is no Parameter "index", instead there ist "start".&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: large; font-family: NimbusSanL-Bold;"&gt;I got the following code working.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: large; font-family: NimbusSanL-Bold;"&gt;But I'm insecure about the Parameter "index".&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="font-size: large; font-family: NimbusSanL-Bold;"&gt;Can someone please make things clearer?!?&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="font-size: large; font-family: NimbusSanL-Bold;"&gt;Best regards &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: large; font-family: NimbusSanL-Bold;"&gt;Manfred&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE class="language-c line-numbers"&gt;&lt;CODE&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;/* Get flash properties*/&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token function"&gt;FLASH_GetProperty&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt;flashDriver&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; kFLASH_propertyPflashBlockBaseAddr&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt;pflashBlockBase&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token function"&gt;FLASH_GetProperty&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt;flashDriver&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; kFLASH_propertyPflashTotalSize&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt;pflashTotalSize&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token function"&gt;FLASH_GetProperty&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt;flashDriver&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; kFLASH_propertyPflashSectorSize&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt;pflashSectorSize&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token function"&gt;FLASH_GetProperty&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt;flashDriver&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; kFLASH_propertyDflashTotalSize&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt;dflashTotalSize&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token function"&gt;FLASH_GetProperty&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt;flashDriver&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; kFLASH_propertyDflashBlockBaseAddr&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt;dflashBlockBase&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token function"&gt;FLASH_GetProperty&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt;flashDriver&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; kFLASH_propertyEepromTotalSize&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt;eepromTotalSize&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;// read before programming&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; result &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;FLASH_ReadOnce&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt;flashDriver&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="comment token"&gt;/*index*/&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; ulTestBufferRead&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;sizeof&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;ulTestBufferRead&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; &lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;kStatus_FLASH_Success &lt;SPAN class="operator token"&gt;!=&lt;/SPAN&gt; result&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&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;&amp;nbsp; &lt;SPAN class="token function"&gt;__no_operation&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; &lt;SPAN class="comment token"&gt;// error_trap();&lt;/SPAN&gt;
&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="comment token"&gt;// program&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token function"&gt;FLASH_ProgramOnce&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt;flashDriver&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; ulTestBuffer&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;8&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; &lt;SPAN class="comment token"&gt;// read back&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; result &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;FLASH_ReadOnce&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt;flashDriver&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="comment token"&gt;/*index*/&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; ulTestBufferRead&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;sizeof&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;ulTestBufferRead&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; &lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;kStatus_FLASH_Success &lt;SPAN class="operator token"&gt;!=&lt;/SPAN&gt; result&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&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;&amp;nbsp; &lt;SPAN class="token function"&gt;__no_operation&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; &lt;SPAN class="comment token"&gt;// error_trap();&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;
&lt;SPAN class="line-numbers-rows"&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Sep 2016 12:22:21 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/FLASH-ReadOnce-KSDK2-0-parameter/m-p/599895#M6111</guid>
      <dc:creator>manfredschnell</dc:creator>
      <dc:date>2016-09-08T12:22:21Z</dc:date>
    </item>
    <item>
      <title>Re: FLASH_ReadOnce KSDK2.0 parameter</title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/FLASH-ReadOnce-KSDK2-0-parameter/m-p/599896#M6112</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Manfred,&lt;/P&gt;&lt;P&gt;Each flash block has a IFR (Information Register) associated with each block and only accessible using the Flash Command Sequence.&lt;/P&gt;&lt;P&gt;The IFR is a Write Once set of bytes (cannot be erased). &amp;nbsp;Look at K64 Reference Manual section "29.3.2 Program flash 0 IFR map". &amp;nbsp;It will show flash 0 has 64 bytes for you to use however you want (ex: configuration data, serial number, product information, etc..).&lt;/P&gt;&lt;P&gt;Since the Flash Commands write to 8 bytes at a time and also will read 8 bytes, the index parameter offset to one of the 8 records (each record is 8 bytes, ergo 8 records x 8 bytes/record = 64 bytes IFR user write once flash).&lt;/P&gt;&lt;P&gt;Section 29.4.12.10 has good verbage to describe this.&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;David&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Sep 2016 14:06:12 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/FLASH-ReadOnce-KSDK2-0-parameter/m-p/599896#M6112</guid>
      <dc:creator>DavidS</dc:creator>
      <dc:date>2016-09-08T14:06:12Z</dc:date>
    </item>
    <item>
      <title>Re: FLASH_ReadOnce KSDK2.0 parameter</title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/FLASH-ReadOnce-KSDK2-0-parameter/m-p/599897#M6113</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi David,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thank you for your fast response.&lt;/P&gt;&lt;P&gt;So I have to put the variable "index" with values&amp;nbsp;(0x00 ... 0x07) in the function call FLASH_ReadOnce() and FLASH_ProgramOnce().&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;There is only a correction of "Kinetis SDK v.2.0 API Reference Manual.pdf", section 19.5.9 in the table of parameters "start" --&amp;gt; "index" (with a meaningful description) necessary.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards&lt;/P&gt;&lt;P&gt;Manfred&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Sep 2016 14:48:11 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/FLASH-ReadOnce-KSDK2-0-parameter/m-p/599897#M6113</guid>
      <dc:creator>manfredschnell</dc:creator>
      <dc:date>2016-09-08T14:48:11Z</dc:date>
    </item>
    <item>
      <title>Re: FLASH_ReadOnce KSDK2.0 parameter</title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/FLASH-ReadOnce-KSDK2-0-parameter/m-p/599898#M6114</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I will notify the Documentation team of this.&lt;/P&gt;&lt;P&gt;Thank you,&lt;/P&gt;&lt;P&gt;David&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Sep 2016 15:57:08 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/FLASH-ReadOnce-KSDK2-0-parameter/m-p/599898#M6114</guid>
      <dc:creator>DavidS</dc:creator>
      <dc:date>2016-09-08T15:57:08Z</dc:date>
    </item>
  </channel>
</rss>

