<?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>Kinetis Microcontrollers中的主题 Re: Flash crash?</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Flash-crash/m-p/1030598#M56508</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN&gt;Hi &lt;A _jive_internal="true" href="https://community.nxp.com/people/nxf46116"&gt;&lt;STRONG style="border: none windowtext 1.0pt; padding: 0cm; background: white; text-decoration: none; font-size: 9.5pt; "&gt;Andalon&lt;/STRONG&gt;&lt;/A&gt;:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Clearly describe the details as below:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Normal:&lt;/SPAN&gt;&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;&lt;SPAN&gt; Define the value of “unsigned char Flash_Buf[256]”&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt; In the file of .ld , reserve the fixed memory(512bytes) of “m_orange_m (rx) : ORIGIN = 0x00000600, LENGTH = 0x200”&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt; After the power on, re-store the value of “Flash_Buf[512]” from the m_orange_m&lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;SPAN&gt;4.Check byte67 of “Flash_Buf[512]”,this byte is CRC byte&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;5-1.If the CRC byte not correct, store the default value into Flash_Buf[512](default value include 200bytes)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;5-2.If the CRC byte is correct, use the value of “Flash_Buf[512]” from the m_orange_m&lt;/SPAN&gt;&lt;/P&gt;&lt;OL start="6"&gt;&lt;LI&gt;&lt;SPAN&gt; Programmer start use the byte1~byte67, and when HOST send an write command via CAN bus, let the value of “Flash_Buf[512]” write into the m_orange_m area.(now calculation the CRC of byte1~byte66 and store into byte 67)&lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;SPAN&gt;TEST:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;1.Power on &lt;/SPAN&gt;è&lt;SPAN&gt; HOST send an write command via CAN bus(repeat) &lt;/SPAN&gt;è&lt;SPAN&gt; Power off at any time.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;2.Now can find out sometime before the write sequence ,the structure of “Flash_Buf[512]” after byte 67 will be modify to 0xff, but we not modify those bytes, but before 67bytes is always correct.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;PS.&lt;/SPAN&gt;&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;&lt;SPAN&gt; Before execute the write command, need execute the EraseSector function, it maybe cause by the EraseSector function, but before byte 67 is always correct, so this is not root cause.&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt; This &lt;/SPAN&gt;&lt;SPAN style="font-size: 11.0pt; color: black; background: white;"&gt;phenomenon&lt;/SPAN&gt; is happen in test of power on – power off, if the power always on the phenomenon is not happen.&lt;/LI&gt;&lt;/OL&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 12 Nov 2019 06:36:43 GMT</pubDate>
    <dc:creator>billchang</dc:creator>
    <dc:date>2019-11-12T06:36:43Z</dc:date>
    <item>
      <title>Flash crash?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Flash-crash/m-p/1030596#M56506</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I use the MCU of KEA128 and define an global struct(unsigned char Flash_Buf[256];).&lt;/P&gt;&lt;P&gt;1.The struct &lt;SPAN style="color: #000000; background-color: #ffffff; font-size: 16px;"&gt;assign some value&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; background-color: #ffffff; font-size: 16px;"&gt;2.Execute the power on - off test.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; background-color: #ffffff; font-size: 16px;"&gt;3.Some time the value of struct will be crash&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; background-color: #ffffff; font-size: 16px;"&gt;Have any one met the same question?&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 11 Nov 2019 13:17:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Flash-crash/m-p/1030596#M56506</guid>
      <dc:creator>billchang</dc:creator>
      <dc:date>2019-11-11T13:17:35Z</dc:date>
    </item>
    <item>
      <title>Re: Flash crash?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Flash-crash/m-p/1030597#M56507</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Bill,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Could you show an example of how are you doing to assign the value? Also, what do you mean about the structure crash? The program enter a hard-fault?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Best Regards,&lt;/P&gt;&lt;P&gt;Alexis Andalon&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 11 Nov 2019 21:02:29 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Flash-crash/m-p/1030597#M56507</guid>
      <dc:creator>Alexis_A</dc:creator>
      <dc:date>2019-11-11T21:02:29Z</dc:date>
    </item>
    <item>
      <title>Re: Flash crash?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Flash-crash/m-p/1030598#M56508</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN&gt;Hi &lt;A _jive_internal="true" href="https://community.nxp.com/people/nxf46116"&gt;&lt;STRONG style="border: none windowtext 1.0pt; padding: 0cm; background: white; text-decoration: none; font-size: 9.5pt; "&gt;Andalon&lt;/STRONG&gt;&lt;/A&gt;:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Clearly describe the details as below:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Normal:&lt;/SPAN&gt;&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;&lt;SPAN&gt; Define the value of “unsigned char Flash_Buf[256]”&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt; In the file of .ld , reserve the fixed memory(512bytes) of “m_orange_m (rx) : ORIGIN = 0x00000600, LENGTH = 0x200”&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt; After the power on, re-store the value of “Flash_Buf[512]” from the m_orange_m&lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;SPAN&gt;4.Check byte67 of “Flash_Buf[512]”,this byte is CRC byte&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;5-1.If the CRC byte not correct, store the default value into Flash_Buf[512](default value include 200bytes)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;5-2.If the CRC byte is correct, use the value of “Flash_Buf[512]” from the m_orange_m&lt;/SPAN&gt;&lt;/P&gt;&lt;OL start="6"&gt;&lt;LI&gt;&lt;SPAN&gt; Programmer start use the byte1~byte67, and when HOST send an write command via CAN bus, let the value of “Flash_Buf[512]” write into the m_orange_m area.(now calculation the CRC of byte1~byte66 and store into byte 67)&lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;SPAN&gt;TEST:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;1.Power on &lt;/SPAN&gt;è&lt;SPAN&gt; HOST send an write command via CAN bus(repeat) &lt;/SPAN&gt;è&lt;SPAN&gt; Power off at any time.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;2.Now can find out sometime before the write sequence ,the structure of “Flash_Buf[512]” after byte 67 will be modify to 0xff, but we not modify those bytes, but before 67bytes is always correct.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;PS.&lt;/SPAN&gt;&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;&lt;SPAN&gt; Before execute the write command, need execute the EraseSector function, it maybe cause by the EraseSector function, but before byte 67 is always correct, so this is not root cause.&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt; This &lt;/SPAN&gt;&lt;SPAN style="font-size: 11.0pt; color: black; background: white;"&gt;phenomenon&lt;/SPAN&gt; is happen in test of power on – power off, if the power always on the phenomenon is not happen.&lt;/LI&gt;&lt;/OL&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 12 Nov 2019 06:36:43 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Flash-crash/m-p/1030598#M56508</guid>
      <dc:creator>billchang</dc:creator>
      <dc:date>2019-11-12T06:36:43Z</dc:date>
    </item>
    <item>
      <title>Re: Flash crash?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Flash-crash/m-p/1030599#M56509</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Bill,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Let me check if I'm understanding correctly, you store some values in the array in this flash section and before the reset all this array is full but after the reset the flash after the 67 byte the data previously write is not compatible.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I want to ask a couple of questions:&lt;/P&gt;&lt;P&gt;- The initialization is done inside the main code and are you checking if there's some kind of reset in the SIM_SRSID?&lt;/P&gt;&lt;P&gt;- In the MAP file the&lt;SPAN&gt;&amp;nbsp;Flash_Buf&amp;nbsp;is assigned correctly?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;- If you read the buffer at the start of the program the data is the same or the change in the buffer is done after?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best Regards,&lt;/P&gt;&lt;P&gt;Alexis Andalon&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 12 Nov 2019 22:40:05 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Flash-crash/m-p/1030599#M56509</guid>
      <dc:creator>Alexis_A</dc:creator>
      <dc:date>2019-11-12T22:40:05Z</dc:date>
    </item>
  </channel>
</rss>

