<?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: About MPC5744 Instruction Fetch Error in MPC5xxx</title>
    <link>https://community.nxp.com/t5/MPC5xxx/About-MPC5744-Instruction-Fetch-Error/m-p/639440#M6262</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi smith,&lt;/P&gt;&lt;P&gt;thanks for your response.&lt;/P&gt;&lt;P&gt;a)we do have used RAM to be the target of the DMA, but the problem is why the address of the program operation chenged to be APP area. we already knew the DMA target RAM is only global variables area, not stack area that can effect program running.&lt;/P&gt;&lt;P&gt;another important information is that all flash program operation is in function of&amp;nbsp;“g_u32_FlashProgramStart”, and all calling&amp;nbsp;“g_u32_FlashProgramStart” functions is using local variable to be target address parameter.&lt;/P&gt;&lt;P&gt;b)we used&amp;nbsp;0x1000000 as APP area in flash. the&amp;nbsp;simulated E2 adress is&amp;nbsp;0x00800000 to&amp;nbsp;0x0080FFFF but not&amp;nbsp;0x1000000.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;so our biggest problem is why we used wrong address to be .&lt;SPAN&gt;g_u32_F&lt;/SPAN&gt;lashProgramStart&amp;nbsp;target address parameter,&amp;nbsp;especially using local variables to be&amp;nbsp; target address parameter?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Mar 2017 09:36:49 GMT</pubDate>
    <dc:creator>liujinhang</dc:creator>
    <dc:date>2017-03-15T09:36:49Z</dc:date>
    <item>
      <title>About MPC5744 Instruction Fetch Error</title>
      <link>https://community.nxp.com/t5/MPC5xxx/About-MPC5744-Instruction-Fetch-Error/m-p/639436#M6258</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dear all&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; We meet a trouble when using DMA,We trigger the DMA to&amp;nbsp;transfer data at a frequency of 160khz&amp;nbsp;continuously, 32bytes per minor loop, During this time, if the flash programming operation occurs&amp;nbsp;synchronously, an&amp;nbsp;Instruction Fetch Error will be set,then code run away.&lt;/P&gt;&lt;P&gt;following is the description of the error&amp;nbsp;register and DMA process diagram.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/15362i0BDBD733681A97E9/image-size/large?v=v2&amp;amp;px=999" title="pastedImage_8.png" alt="pastedImage_8.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Detailed information is on page 414 of MPC5744 UM.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/15067i4ABCF86AF31879A3/image-size/large?v=v2&amp;amp;px=999" title="pastedImage_2.png" alt="pastedImage_2.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Through the debugger Trace32 we can see the i&lt;SPAN&gt;nstructions in&lt;/SPAN&gt;&amp;nbsp;the following section is&amp;nbsp;destroyed by someting we do not know,When the program executes &amp;nbsp;“g_u32_FlashProgramStart”,a function of&amp;nbsp;EEPROM Emulation Software Driver&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/15582i477B0975F98F77DB/image-size/large?v=v2&amp;amp;px=999" title="pastedImage_25.png" alt="pastedImage_25.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We wonder that&amp;nbsp;&amp;nbsp;if it is beyond the maximum capacity of the internal bus when DMA &lt;SPAN style="color: #333333; background-color: #ffffff; font-size: 16px;"&gt;transferation and&amp;nbsp;&lt;SPAN style="color: #3d3d3d; font-size: 15px;"&gt;the flash programming operation occurs&amp;nbsp;synchronously&lt;/SPAN&gt;&lt;/SPAN&gt;?&lt;/P&gt;&lt;P&gt;or we use the DMA in a wrong way?&lt;/P&gt;&lt;P&gt;How can we do to&amp;nbsp;avoid such an error?&lt;/P&gt;&lt;P&gt;Thanks!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 Mar 2017 05:35:26 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/About-MPC5744-Instruction-Fetch-Error/m-p/639436#M6258</guid>
      <dc:creator>liujinhang</dc:creator>
      <dc:date>2017-03-10T05:35:26Z</dc:date>
    </item>
    <item>
      <title>Re: About MPC5744 Instruction Fetch Error</title>
      <link>https://community.nxp.com/t5/MPC5xxx/About-MPC5744-Instruction-Fetch-Error/m-p/639437#M6259</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;Looks like your flash program failed for that page. I'd be very cautious about using any other processor function during a flash program operation.&lt;/P&gt;&lt;P&gt;Have you made certain that you're not trying to 'Read-While-Write' from the same flash partition....i.e. make certain that the program that has the flashing algorithms is not in the same flash partition as the memory you are programming.&lt;/P&gt;&lt;P&gt;Personally, I would avoid using other processor features whilst doing erase and program operations - but if you must do this, you should use the callback function features of the NXP algorithms. These features allow you to schedule time-critical algorithms during program operations at places in those algorithms where crucial flash operations are not taking place.&lt;/P&gt;&lt;P&gt;DMA transfer however is not something that you can schedule...you can request a transfer start at a known time. When that transfer completes is up to the DMA and you have no control over it.&lt;/P&gt;&lt;P&gt;One other thought. Is the memory you are accessing/transferring with DMA potentially being erased or programmed by the flash algorithm?&lt;/P&gt;&lt;P&gt;Good luck.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 Mar 2017 10:07:39 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/About-MPC5744-Instruction-Fetch-Error/m-p/639437#M6259</guid>
      <dc:creator>aero72</dc:creator>
      <dc:date>2017-03-10T10:07:39Z</dc:date>
    </item>
    <item>
      <title>Re: About MPC5744 Instruction Fetch Error</title>
      <link>https://community.nxp.com/t5/MPC5xxx/About-MPC5744-Instruction-Fetch-Error/m-p/639438#M6260</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;A _jive_internal="true" data-userid="25552" data-username="aero72" href="https://community.nxp.com/people/aero72"&gt;Smith&lt;/A&gt;,&lt;/P&gt;&lt;P&gt;thanks for your response.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;we already knew that the&amp;nbsp;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt; 'Read-While-Write' will effect program working in&amp;nbsp;&lt;SPAN&gt;same flash partition, so we checked our code and we confirmed that the flash program operation only happened at the EEPROM-Simulition area. in this case,it is impossible to happen&amp;nbsp;&lt;SPAN style="background-color: #ffffff;"&gt; 'Read-While-Write'&amp;nbsp; in&amp;nbsp;&lt;SPAN&gt;same flash partition.&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;&lt;SPAN style="background-color: #ffffff;"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;&lt;SPAN style="background-color: #ffffff;"&gt;&lt;SPAN&gt;because our problem be found after we enable a DMA channel, so we think if the DMA using bus&amp;nbsp;will effect&amp;nbsp;flash program operation?&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;&lt;SPAN style="background-color: #ffffff;"&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;&lt;SPAN style="background-color: #ffffff;"&gt;&lt;SPAN&gt;i want to know, is there any possible of the flash program operation can be effect by DMA in some cases?&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 14 Mar 2017 08:59:52 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/About-MPC5744-Instruction-Fetch-Error/m-p/639438#M6260</guid>
      <dc:creator>liujinhang</dc:creator>
      <dc:date>2017-03-14T08:59:52Z</dc:date>
    </item>
    <item>
      <title>Re: About MPC5744 Instruction Fetch Error</title>
      <link>https://community.nxp.com/t5/MPC5xxx/About-MPC5744-Instruction-Fetch-Error/m-p/639439#M6261</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'm still thinking the problem will be in what the program is doing, rather than a bus capacity issue.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;A&amp;nbsp;couple more things to think about then...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;a) Is there a possibility the RAM being used by the flash programming algorithm (i.e. its storage for variables) is being overwritten by DMA operation?&lt;/P&gt;&lt;P&gt;and,&lt;/P&gt;&lt;P&gt;b) if you're using the flash block at 0x1000000 as simulated E2 (as it appears from your screenshot), keep in mind this is a 256k block....and it will take a *long* time to erase and program - data sheet says up to 4s. Also&amp;nbsp;keep in mind these blocks are designed only for a limited number of program cycles - datasheet says &amp;lt; 1000 - and as such, it isn't best used&amp;nbsp;for E2 simulation.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Have you allowed for the potentially long and very variable time that this erase and program cycle will take - the time taken will change greatly with temperature if your unit is exposed to cold and hot temperatures.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The smaller flash blocks in other partitions will erase/program more quickly, and are guaranteed 250k write cycles.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope that helps.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 14 Mar 2017 10:17:39 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/About-MPC5744-Instruction-Fetch-Error/m-p/639439#M6261</guid>
      <dc:creator>aero72</dc:creator>
      <dc:date>2017-03-14T10:17:39Z</dc:date>
    </item>
    <item>
      <title>Re: About MPC5744 Instruction Fetch Error</title>
      <link>https://community.nxp.com/t5/MPC5xxx/About-MPC5744-Instruction-Fetch-Error/m-p/639440#M6262</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi smith,&lt;/P&gt;&lt;P&gt;thanks for your response.&lt;/P&gt;&lt;P&gt;a)we do have used RAM to be the target of the DMA, but the problem is why the address of the program operation chenged to be APP area. we already knew the DMA target RAM is only global variables area, not stack area that can effect program running.&lt;/P&gt;&lt;P&gt;another important information is that all flash program operation is in function of&amp;nbsp;“g_u32_FlashProgramStart”, and all calling&amp;nbsp;“g_u32_FlashProgramStart” functions is using local variable to be target address parameter.&lt;/P&gt;&lt;P&gt;b)we used&amp;nbsp;0x1000000 as APP area in flash. the&amp;nbsp;simulated E2 adress is&amp;nbsp;0x00800000 to&amp;nbsp;0x0080FFFF but not&amp;nbsp;0x1000000.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;so our biggest problem is why we used wrong address to be .&lt;SPAN&gt;g_u32_F&lt;/SPAN&gt;lashProgramStart&amp;nbsp;target address parameter,&amp;nbsp;especially using local variables to be&amp;nbsp; target address parameter?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Mar 2017 09:36:49 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/About-MPC5744-Instruction-Fetch-Error/m-p/639440#M6262</guid>
      <dc:creator>liujinhang</dc:creator>
      <dc:date>2017-03-15T09:36:49Z</dc:date>
    </item>
    <item>
      <title>Re: About MPC5744 Instruction Fetch Error</title>
      <link>https://community.nxp.com/t5/MPC5xxx/About-MPC5744-Instruction-Fetch-Error/m-p/639441#M6263</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi smith,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;can DMA effect BUS working?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 17 Mar 2017 04:37:14 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/About-MPC5744-Instruction-Fetch-Error/m-p/639441#M6263</guid>
      <dc:creator>liujinhang</dc:creator>
      <dc:date>2017-03-17T04:37:14Z</dc:date>
    </item>
  </channel>
</rss>

