<?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>MPC5xxx中的主题 MPC5674f shadow erasing issue</title>
    <link>https://community.nxp.com/t5/MPC5xxx/MPC5674f-shadow-erasing-issue/m-p/725142#M9745</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;ERASING CODE:&lt;/P&gt;&lt;P&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; FLASH_A.LMLR.R = FLASH_LMLR_PASSWORD;&amp;nbsp;&amp;nbsp; &amp;nbsp;//unlock register&lt;BR /&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;FLASH_A.LMLR.R = 0x000303FF;&amp;nbsp;&amp;nbsp; &amp;nbsp;//unlock shadow flash&lt;BR /&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; FLASH_A.SLMLR.R = FLASH_SLMLR_PASSWORD;&amp;nbsp;&amp;nbsp; &amp;nbsp;//unlock register&lt;BR /&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;FLASH_A.SLMLR.R = 0x000303FF;&amp;nbsp;&amp;nbsp; &amp;nbsp;//unlock shadow flash&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&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; //erase shadow flash&lt;BR /&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; FLASH_A.MCR.B.ERS = 1;&lt;BR /&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; *(unsigned int*)0x00FFC000 = 0xFFFFFFFF;&amp;nbsp;&amp;nbsp; &amp;nbsp;//interlock write - write any address in shadow block&lt;BR /&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; FLASH_A.MCR.B.EHV = 1;&lt;BR /&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; while(FLASH_A.MCR.B.DONE == 0){};&lt;BR /&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; FLASH_A.MCR.B.EHV = 0;&lt;BR /&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; FLASH_A.MCR.B.ERS = 0;&lt;/P&gt;&lt;P&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; (below is code to set censor password etc, this part is not executed because above hangs)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ISSUE:&lt;/P&gt;&lt;P&gt;this code hangs, code below above block is not executed, after reset i see that shadow is erased, but for some reason erasing procedure hangs, any ideas why?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TEST1:&lt;/P&gt;&lt;P&gt;removed line: while(FLASH_A.MCR.B.DONE == 0){};&lt;/P&gt;&lt;P&gt;result: shadow erased and code hangs&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TEST2:&lt;/P&gt;&lt;P&gt;removed line: *(unsigned int*)0x00FFC000 = 0xFFFFFFFF;&lt;/P&gt;&lt;P&gt;result: shadow is NOT erased but NO code hanging, normal execution is proceed&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REMARK:&lt;/P&gt;&lt;P&gt;also L0, L1,L2 and L3 has the same behavior, erasing procedure hangs...&lt;/P&gt;&lt;P&gt;the rest of sectors i men L4 to L9, M0,M2, H0 to H5 goes normally.&lt;/P&gt;&lt;P&gt;L0, L1,L2,L3 belongs to partiton 1, this is something common.&lt;/P&gt;&lt;P&gt;I am booting from L0 and then jump to RAM from where executing erasing.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;any ides what is wrong? suppose its not problem of code itself, is trivial...hw configuration?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 26 May 2018 14:21:51 GMT</pubDate>
    <dc:creator>oloooloo</dc:creator>
    <dc:date>2018-05-26T14:21:51Z</dc:date>
    <item>
      <title>MPC5674f shadow erasing issue</title>
      <link>https://community.nxp.com/t5/MPC5xxx/MPC5674f-shadow-erasing-issue/m-p/725142#M9745</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;ERASING CODE:&lt;/P&gt;&lt;P&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; FLASH_A.LMLR.R = FLASH_LMLR_PASSWORD;&amp;nbsp;&amp;nbsp; &amp;nbsp;//unlock register&lt;BR /&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;FLASH_A.LMLR.R = 0x000303FF;&amp;nbsp;&amp;nbsp; &amp;nbsp;//unlock shadow flash&lt;BR /&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; FLASH_A.SLMLR.R = FLASH_SLMLR_PASSWORD;&amp;nbsp;&amp;nbsp; &amp;nbsp;//unlock register&lt;BR /&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;FLASH_A.SLMLR.R = 0x000303FF;&amp;nbsp;&amp;nbsp; &amp;nbsp;//unlock shadow flash&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&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; //erase shadow flash&lt;BR /&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; FLASH_A.MCR.B.ERS = 1;&lt;BR /&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; *(unsigned int*)0x00FFC000 = 0xFFFFFFFF;&amp;nbsp;&amp;nbsp; &amp;nbsp;//interlock write - write any address in shadow block&lt;BR /&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; FLASH_A.MCR.B.EHV = 1;&lt;BR /&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; while(FLASH_A.MCR.B.DONE == 0){};&lt;BR /&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; FLASH_A.MCR.B.EHV = 0;&lt;BR /&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; FLASH_A.MCR.B.ERS = 0;&lt;/P&gt;&lt;P&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; (below is code to set censor password etc, this part is not executed because above hangs)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ISSUE:&lt;/P&gt;&lt;P&gt;this code hangs, code below above block is not executed, after reset i see that shadow is erased, but for some reason erasing procedure hangs, any ideas why?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TEST1:&lt;/P&gt;&lt;P&gt;removed line: while(FLASH_A.MCR.B.DONE == 0){};&lt;/P&gt;&lt;P&gt;result: shadow erased and code hangs&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TEST2:&lt;/P&gt;&lt;P&gt;removed line: *(unsigned int*)0x00FFC000 = 0xFFFFFFFF;&lt;/P&gt;&lt;P&gt;result: shadow is NOT erased but NO code hanging, normal execution is proceed&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REMARK:&lt;/P&gt;&lt;P&gt;also L0, L1,L2 and L3 has the same behavior, erasing procedure hangs...&lt;/P&gt;&lt;P&gt;the rest of sectors i men L4 to L9, M0,M2, H0 to H5 goes normally.&lt;/P&gt;&lt;P&gt;L0, L1,L2,L3 belongs to partiton 1, this is something common.&lt;/P&gt;&lt;P&gt;I am booting from L0 and then jump to RAM from where executing erasing.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;any ides what is wrong? suppose its not problem of code itself, is trivial...hw configuration?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 26 May 2018 14:21:51 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/MPC5674f-shadow-erasing-issue/m-p/725142#M9745</guid>
      <dc:creator>oloooloo</dc:creator>
      <dc:date>2018-05-26T14:21:51Z</dc:date>
    </item>
    <item>
      <title>Re: MPC5674f shadow erasing issue</title>
      <link>https://community.nxp.com/t5/MPC5xxx/MPC5674f-shadow-erasing-issue/m-p/725143#M9746</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;What i checked already, if boot goeas from bootloader located on FlashA L0 then erasing of L0 to L3 and Shadow hangs (of course ersasing executed from RAM). If the same functionality are executed via BAM, all works fine!&lt;/P&gt;&lt;P&gt;Is it hw bug?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 01 Jun 2018 09:01:34 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/MPC5674f-shadow-erasing-issue/m-p/725143#M9746</guid>
      <dc:creator>oloooloo</dc:creator>
      <dc:date>2018-06-01T09:01:34Z</dc:date>
    </item>
    <item>
      <title>Re: MPC5674f shadow erasing issue</title>
      <link>https://community.nxp.com/t5/MPC5xxx/MPC5674f-shadow-erasing-issue/m-p/725144#M9747</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;looks like problem solved, bootloader is stettng valuses in some registers, if i set them back to 0 erasing does not hang, those registers are:&lt;/P&gt;&lt;P&gt;&amp;nbsp; *(unsigned int*)0xC3F91684 = 0x0;&lt;BR /&gt;&amp;nbsp; *(unsigned int*)0xFFF48008 = 0x0;&lt;BR /&gt;&amp;nbsp; *(unsigned int*)0xFFF4816D = 0;&lt;BR /&gt;&amp;nbsp; *(unsigned int*)0xC3FF0000 = 0;&lt;BR /&gt;&amp;nbsp; *(unsigned int*)0xC3FF0100 = 0;&lt;BR /&gt;&amp;nbsp; *(unsigned int*)0xC3FF0108 = 0;&lt;BR /&gt;&amp;nbsp; *(unsigned int*)0xC3FF010C = 0;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 01 Jun 2018 20:12:46 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/MPC5674f-shadow-erasing-issue/m-p/725144#M9747</guid>
      <dc:creator>oloooloo</dc:creator>
      <dc:date>2018-06-01T20:12:46Z</dc:date>
    </item>
  </channel>
</rss>

