<?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中的主题 Re: MPC5516 Flash Programming Through Nexus/JTAG</title>
    <link>https://community.nxp.com/t5/MPC5xxx/MPC5516-Flash-Programming-Through-Nexus-JTAG/m-p/1801472#M24837</link>
    <description>&lt;P&gt;Hello, I have a similar issue - FlashInit for VLE (from Standard Software C90LC Driver v1.0.4/xPC567xK_C90LC/driver/vle/s-record_driver) has se_blr instruction at the end:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screenshot from 2024-02-05 01-40-41.png" style="width: 855px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/261839i65890F1E5FD8981C/image-dimensions/855x470?v=v2" width="855" height="470" role="button" title="Screenshot from 2024-02-05 01-40-41.png" alt="Screenshot from 2024-02-05 01-40-41.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;What is the best way to handle this?&lt;/P&gt;</description>
    <pubDate>Mon, 05 Feb 2024 00:42:45 GMT</pubDate>
    <dc:creator>danmaneu</dc:creator>
    <dc:date>2024-02-05T00:42:45Z</dc:date>
    <item>
      <title>MPC5516 Flash Programming Through Nexus/JTAG</title>
      <link>https://community.nxp.com/t5/MPC5xxx/MPC5516-Flash-Programming-Through-Nexus-JTAG/m-p/298153#M336</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi all,&lt;/P&gt;&lt;P&gt;I'am currently working on a project on an mpc5516 microcontroller. &lt;/P&gt;&lt;P&gt;after reference AN3283 ( MPC5500 Flash Programming Through Nexus/JTAG )&lt;/P&gt;&lt;P&gt;I have complete basic function ( include single step, GPR access, SPR access, OnCE Memory Access ). &lt;/P&gt;&lt;P&gt;but I have problem about run H7F SSD .&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;1. initial MMU&lt;/P&gt;&lt;P&gt;2. Initial SRAM &lt;/P&gt;&lt;P&gt;3. upload Standard Software H7F Driver to internal SRAM .&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; ( I chose VLE type driver )&lt;/P&gt;&lt;P&gt;4. verify H7F driver whether correct or not ?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; ( in this step , all of data are same as previous upload )&lt;/P&gt;&lt;P&gt;5. pointer R1 to stacktop&lt;/P&gt;&lt;P&gt;6. pointer R3 to SSD_flashconfig&lt;/P&gt;&lt;P&gt;7. pointer PC to FlashInit address minus 4 &lt;/P&gt;&lt;P&gt;8. start GO and Exit by OnCE Command&amp;nbsp; &lt;/P&gt;&lt;P&gt;9. polling E200z1 core return to debug mode . &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; at this time, e200z1 doesn't return to debug mode . &lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If anyone has experience about this issue, please help us to solves this issue. &lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks a lot,&lt;/P&gt;&lt;P&gt;Trevor&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 16 Apr 2014 17:30:38 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/MPC5516-Flash-Programming-Through-Nexus-JTAG/m-p/298153#M336</guid>
      <dc:creator>trevorlin</dc:creator>
      <dc:date>2014-04-16T17:30:38Z</dc:date>
    </item>
    <item>
      <title>Re: MPC5516 Flash Programming Through Nexus/JTAG</title>
      <link>https://community.nxp.com/t5/MPC5xxx/MPC5516-Flash-Programming-Through-Nexus-JTAG/m-p/298154#M337</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I have already met this problem. See the text below that I wrote some time ago. It refers to e200z0 but it doesn't matter:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The code shown below is at the end of all flash driver functions:&lt;/P&gt;&lt;P&gt;if (pSSDConfig-&amp;gt;BDMEnable)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #ifdef VLE_ASM &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; asm ( "se_sc " ); /* generate &lt;SPAN class="&amp;amp;quothighlight&amp;quot;"&gt;&lt;STRONG&gt;system&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN class="&amp;amp;quothighlight&amp;quot;"&gt;&lt;STRONG&gt;call&lt;/STRONG&gt;&lt;/SPAN&gt; interrupt */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #else&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; asm ( "sc " );&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #endif&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;The "se_sc" causes the e200z0 core to take IVOR8 interrupt. For external debug tools - flash programming routines, the "se_sc" can be replaced by all zeroes instruction opcodes (se_illegal or bkpt = all binary zeroes psedo-insturction). So, replace the "se_sc" instruction near the end of the function with the "0x0000" or alternatively, initialize IVPR and IVOR8 registers to point to a location in the SRAM where you have 0x0000. Actually, IVOR8 on e200z0h is fixed to 0x80, so initialize the IVPR in such a way that at the address (IVPR || 0x080) there is the all zeroes instruction opcode. In external debug mode, execution of 0x0000 opcode causes the MCU to enter Debug Mode. (OCR[FDB] must be set and DBCR0[EDM] must be set). Refer to 8.4.7.5 in the e200z0 Power Architecture Core Reference Manual. Another option is to configure instruction breakpoint at address (IVPR || 0x080). This will also cause the core to enter Debug Mode upon execution of "se_sc".&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Notice that se_sc (or sc) is not the last instruction in C-array. Actually the C code at the end of FlashInit looks like this: …&lt;/P&gt;&lt;P&gt;if (pSSDConfig-&amp;gt;BDMEnable)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { //asm ( "mr r3,returnCode" ); /* save the return code to R3 */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #ifdef VLE_ASM&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; asm ( "se_sc " ); /* generate &lt;SPAN class="&amp;amp;quothighlight&amp;quot;"&gt;&lt;STRONG&gt;system&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN class="&amp;amp;quothighlight&amp;quot;"&gt;&lt;STRONG&gt;call&lt;/STRONG&gt;&lt;/SPAN&gt; interrupt */ &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #else&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; asm ( "sc " );&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #endif } return&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; returnCode; &lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;If I disassemble this code (I simply put the code into new CodeWarrior project) then it gives this result:&lt;/P&gt;&lt;P&gt;00000020: 0002 se_sc&lt;/P&gt;&lt;P&gt;00000022: 481F se_li r31,1&lt;/P&gt;&lt;P&gt;00000024: 01F3 se_mr r3,r31&lt;/P&gt;&lt;P&gt;00000026: 51810014 e_lwz r12,20(rsp)&lt;/P&gt;&lt;P&gt;0000002A: 7D8FF120 mtcrf 0xff,r12&lt;/P&gt;&lt;P&gt;0000002E: C7F1 se_lwz r31,28(rsp)&lt;/P&gt;&lt;P&gt;00000030: C6E1 se_lwz r30,24(rsp) &lt;/P&gt;&lt;P&gt;00000032: C901 se_lwz r0,36(rsp)&lt;/P&gt;&lt;P&gt;00000034: 0090 se_mtlr r0&lt;/P&gt;&lt;P&gt;00000036: 21F1 se_addi rsp,0x0020&lt;/P&gt;&lt;P&gt;00000038: 0004 se_blr&lt;/P&gt;&lt;P&gt;So, the position of "0002" is a few words before the end of c-array.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this will help.&lt;/P&gt;&lt;P&gt;Best Regards,&lt;/P&gt;&lt;P&gt;Lukas&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 18 Apr 2014 11:29:58 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/MPC5516-Flash-Programming-Through-Nexus-JTAG/m-p/298154#M337</guid>
      <dc:creator>lukaszadrapa</dc:creator>
      <dc:date>2014-04-18T11:29:58Z</dc:date>
    </item>
    <item>
      <title>Re: MPC5516 Flash Programming Through Nexus/JTAG</title>
      <link>https://community.nxp.com/t5/MPC5xxx/MPC5516-Flash-Programming-Through-Nexus-JTAG/m-p/298155#M338</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Lukas,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm looking at the c-array (non-VLE) version of FlashInit, and I see a 0x00000000 toward the end of the array:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;const unsigned long FlashInit_C[]&amp;nbsp; =&lt;BR /&gt;{&lt;BR /&gt; 0x9421FFF0, 0x93E1000C, 0x83E30000, 0x80BF0000, 0x54AA0673&lt;BR /&gt; , 0x4182000C, 0x3BE00020, 0x480000E8, 0x54BF97BF, 0x4182000C&lt;BR /&gt; , 0x8183000C, 0x818C00E0, 0x38C00000, 0x90C30018, 0x90C3001C&lt;BR /&gt; , 0x54A6677E, 0x28060004, 0x7CAC28F8, 0x558CB73A, 0x7FFF6378&lt;BR /&gt; , 0x40800010, 0x39800002, 0x7D863030, 0x48000030, 0x2C060004&lt;BR /&gt; , 0x4082000C, 0x38C0000A, 0x48000020, 0x2C060005, 0x4082000C&lt;BR /&gt; , 0x38C0000C, 0x48000010, 0x2C060006, 0x4082000C, 0x38C00006&lt;BR /&gt; , 0x90C30014, 0x54AC00C7, 0x41820034, 0x54AC010F, 0x41820018&lt;BR /&gt; , 0x3D800005, 0x91830008, 0x39600004, 0x91630018, 0x48000054&lt;BR /&gt; , 0x3D800002, 0x91830008, 0x39600004, 0x91630014, 0x48000040&lt;BR /&gt; , 0x54ABD29A, 0x3CCB0004, 0x3C800004, 0x7C062040, 0x90C30008&lt;BR /&gt; , 0x40810010, 0x54AC8FBC, 0x398C0002, 0x91830018, 0x3D800008&lt;BR /&gt; , 0x7C066040, 0x40810010, 0x3D86FFF8, 0x558C7C7E, 0x9183001C&lt;BR /&gt; , 0x81830024, 0x387F0000, 0x83E1000C, 0x38210010, 0x2C0C0000&lt;BR /&gt; , 0x41820008, &lt;SPAN style="color: #ff0000;"&gt;0x00000000&lt;/SPAN&gt;, 0x4E800020&lt;BR /&gt; , 0x4D504348, 0x37467846, 0x49333233&lt;BR /&gt; &lt;BR /&gt; }; /* Total Size = 76 words */&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm having the same problem as the previous poster on an MPC5566 with e200z6 core. I've verified that the FlashInit array has been written to the MPC5566's RAM, as well as ssdConfig, but calling Go+Exit OnCE command and polling the OSR for debug mode never returns. The OCR[FDB] was set too. Is there something else I'm missing?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in advance!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 26 Jun 2019 18:54:06 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/MPC5516-Flash-Programming-Through-Nexus-JTAG/m-p/298155#M338</guid>
      <dc:creator>rebecca_l_oostd</dc:creator>
      <dc:date>2019-06-26T18:54:06Z</dc:date>
    </item>
    <item>
      <title>Re: MPC5516 Flash Programming Through Nexus/JTAG</title>
      <link>https://community.nxp.com/t5/MPC5xxx/MPC5516-Flash-Programming-Through-Nexus-JTAG/m-p/1801472#M24837</link>
      <description>&lt;P&gt;Hello, I have a similar issue - FlashInit for VLE (from Standard Software C90LC Driver v1.0.4/xPC567xK_C90LC/driver/vle/s-record_driver) has se_blr instruction at the end:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screenshot from 2024-02-05 01-40-41.png" style="width: 855px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/261839i65890F1E5FD8981C/image-dimensions/855x470?v=v2" width="855" height="470" role="button" title="Screenshot from 2024-02-05 01-40-41.png" alt="Screenshot from 2024-02-05 01-40-41.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;What is the best way to handle this?&lt;/P&gt;</description>
      <pubDate>Mon, 05 Feb 2024 00:42:45 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/MPC5516-Flash-Programming-Through-Nexus-JTAG/m-p/1801472#M24837</guid>
      <dc:creator>danmaneu</dc:creator>
      <dc:date>2024-02-05T00:42:45Z</dc:date>
    </item>
  </channel>
</rss>

