<?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: How to Jump to application from BootLoader for MPC5744P? in MPC5xxx</title>
    <link>https://community.nxp.com/t5/MPC5xxx/How-to-Jump-to-application-from-BootLoader-for-MPC5744P/m-p/718274#M9591</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;Thank you for your reply. I try your method, but it dosen`t work.&lt;/P&gt;&lt;P&gt;The flash.ld file of the&amp;nbsp;application is as below:&amp;nbsp;&lt;/P&gt;&lt;P&gt;MEMORY&lt;BR /&gt;{&lt;BR /&gt; flash_rchw : org = 0x01180000, len = 0x4&lt;BR /&gt; cpu0_reset_vec : org = 0x01180004, len = 0x4&lt;BR /&gt; &lt;BR /&gt; m_text : org = 0x01180010, len = 510K &lt;BR /&gt; m_data : org = 0x40000000, len = 384K&lt;/P&gt;&lt;P&gt;&lt;BR /&gt; local_dmem : org = 0x50800000, len = 64K &lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;And please look my AppJump.S, is there any fault?&lt;/P&gt;&lt;P&gt;/*&lt;BR /&gt; * AppJump.S**********************************************&lt;BR /&gt; *&lt;BR /&gt; */&lt;/P&gt;&lt;P&gt;.section .text, "ax"&lt;BR /&gt; .globl _AppExecute&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;_AppExecute:&lt;/P&gt;&lt;P&gt;;#but first check, if there's valid boot header at address 0x01000000&lt;BR /&gt; ;#load address of boot header to r12&lt;BR /&gt; &lt;SPAN style="color: #ff0000;"&gt;e_lis r12, 0x0118&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="color: #ff0000;"&gt; e_or2i r12, 0x0000&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;;#load upper half of boot header word to r0&lt;BR /&gt; ;#(lower half is application dependent)&lt;BR /&gt; e_lhz r0, 0(r12)&lt;/P&gt;&lt;P&gt;;#boot header should be 0x015A&lt;BR /&gt; e_cmpl16i r0, 0x015A&lt;/P&gt;&lt;P&gt;;#if the boot header is not valid, execute bootloader&lt;BR /&gt;// e_bne _BootLd ;#Bootloader_Main&lt;/P&gt;&lt;P&gt;;#if the boot header is valid, execute application&lt;BR /&gt; ;#********************************* Enable BTB ********************************&lt;BR /&gt;;# Flush &amp;amp; Enable BTB - Set BBFI bit in BUCSR&lt;BR /&gt; e_li r3, 0x201&lt;BR /&gt; mtspr 1013, r3&lt;BR /&gt; se_isync&lt;/P&gt;&lt;P&gt;;#**************************** Init Core Registers ****************************&lt;BR /&gt;;# The E200Z4 core needs its registers initialising before they are used&lt;BR /&gt;;# otherwise in Lock Step mode the two cores will contain different random data.&lt;BR /&gt;;# If this is stored to memory (e.g. stacked) it will cause a Lock Step error.&lt;/P&gt;&lt;P&gt;;# GPR's 0-31&lt;BR /&gt; e_li r0, 0&lt;BR /&gt; e_li r1, 0&lt;BR /&gt; e_li r2, 0&lt;BR /&gt; e_li r3, 0&lt;BR /&gt; e_li r4, 0&lt;BR /&gt; e_li r5, 0&lt;BR /&gt; e_li r6, 0&lt;BR /&gt; e_li r7, 0&lt;BR /&gt; e_li r8, 0&lt;BR /&gt; e_li r9, 0&lt;BR /&gt; e_li r10, 0&lt;BR /&gt; e_li r11, 0&lt;BR /&gt; e_li r12, 0&lt;BR /&gt; e_li r13, 0&lt;BR /&gt; e_li r14, 0&lt;BR /&gt; e_li r15, 0&lt;BR /&gt; e_li r16, 0&lt;BR /&gt; e_li r17, 0&lt;BR /&gt; e_li r18, 0&lt;BR /&gt; e_li r19, 0&lt;BR /&gt; e_li r20, 0&lt;BR /&gt; e_li r21, 0&lt;BR /&gt; e_li r22, 0&lt;BR /&gt; e_li r23, 0&lt;BR /&gt; e_li r24, 0&lt;BR /&gt; e_li r25, 0&lt;BR /&gt; e_li r26, 0&lt;BR /&gt; e_li r27, 0&lt;BR /&gt; e_li r28, 0&lt;BR /&gt; e_li r29, 0&lt;BR /&gt; e_li r30, 0&lt;BR /&gt; e_li r31, 0&lt;/P&gt;&lt;P&gt;;# Init any other CPU register which might be stacked (before being used).&lt;/P&gt;&lt;P&gt;mtspr 1, r1 ;#XER&lt;BR /&gt; mtcrf 0xFF, r1&lt;BR /&gt; mtspr CTR, r1&lt;BR /&gt; mtspr 272, r1 ;#SPRG0&lt;BR /&gt; mtspr 273, r1 ;#SPRG1&lt;BR /&gt; mtspr 274, r1 ;#SPRG2&lt;BR /&gt; mtspr 275, r1 ;#SPRG3&lt;BR /&gt; mtspr 58, r1 ;#CSRR0&lt;BR /&gt; mtspr 59, r1 ;#CSRR1&lt;BR /&gt; mtspr 570, r1 ;#MCSRR0&lt;BR /&gt; mtspr 571, r1 ;#MCSRR1&lt;BR /&gt; mtspr 61, r1 ;#DEAR&lt;BR /&gt; mtspr 63, r1 ;#IVPR&lt;BR /&gt; mtspr 256, r1 ;#USPRG0&lt;BR /&gt; mtspr 62, r1 ;#ESR&lt;BR /&gt; mtspr 8, r31 ;#LR&lt;/P&gt;&lt;P&gt;;#load address of reset vector to r12&lt;BR /&gt; &lt;SPAN style="color: #ff0000;"&gt;e_lis r12, 0x0118&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="color: #ff0000;"&gt; e_or2i r12, 0x0004&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;;#load reset vector to r0&lt;BR /&gt; e_lwz r0, 0(r12)&lt;/P&gt;&lt;P&gt;;#move reset vector to link register&lt;BR /&gt; mtlr r0&lt;/P&gt;&lt;P&gt;;#branch to address in link register&lt;BR /&gt; se_blrl&lt;/P&gt;&lt;P&gt;_BootLd:&lt;BR /&gt; e_lis r12, Bootloader_Main@h&lt;BR /&gt; e_or2i r12, Bootloader_Main@l&lt;/P&gt;&lt;P&gt;;#move Bootloader_Main Address to link register&lt;BR /&gt; mtlr r12&lt;/P&gt;&lt;P&gt;;#branch to address in link register&lt;BR /&gt; se_blrl&lt;/P&gt;&lt;P&gt;/*****************************************************************************/&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 25 May 2018 07:19:07 GMT</pubDate>
    <dc:creator>ruoxuanluan</dc:creator>
    <dc:date>2018-05-25T07:19:07Z</dc:date>
    <item>
      <title>How to Jump to application from BootLoader for MPC5744P?</title>
      <link>https://community.nxp.com/t5/MPC5xxx/How-to-Jump-to-application-from-BootLoader-for-MPC5744P/m-p/718272#M9589</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;Hi everyone:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;I am working on bootloader for&amp;nbsp;MPC5744P, and I want to konw&amp;nbsp;how to Jump to application from BootLoader?&lt;/SPAN&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;My code failed to do this . I hope someone can help me !&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="border: 0px; font-size: 14px;"&gt;&lt;SPAN style="border: 0px; font-weight: inherit; font-size: 14px;"&gt;Best Regards&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="border: 0px; font-size: 14px;"&gt;&lt;SPAN style="border: 0px; font-weight: inherit; font-size: 14px;"&gt;luan&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 24 May 2018 01:48:41 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/How-to-Jump-to-application-from-BootLoader-for-MPC5744P/m-p/718272#M9589</guid>
      <dc:creator>ruoxuanluan</dc:creator>
      <dc:date>2018-05-24T01:48:41Z</dc:date>
    </item>
    <item>
      <title>Re: How to Jump to application from BootLoader for MPC5744P?</title>
      <link>https://community.nxp.com/t5/MPC5xxx/How-to-Jump-to-application-from-BootLoader-for-MPC5744P/m-p/718273#M9590</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;This is quite simple. For example:&lt;/P&gt;&lt;P&gt;e_bl 0x1000&amp;nbsp;&amp;nbsp;&amp;nbsp; // jump to address 0x1000&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Peter&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 25 May 2018 06:03:08 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/How-to-Jump-to-application-from-BootLoader-for-MPC5744P/m-p/718273#M9590</guid>
      <dc:creator>petervlna</dc:creator>
      <dc:date>2018-05-25T06:03:08Z</dc:date>
    </item>
    <item>
      <title>Re: How to Jump to application from BootLoader for MPC5744P?</title>
      <link>https://community.nxp.com/t5/MPC5xxx/How-to-Jump-to-application-from-BootLoader-for-MPC5744P/m-p/718274#M9591</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;Thank you for your reply. I try your method, but it dosen`t work.&lt;/P&gt;&lt;P&gt;The flash.ld file of the&amp;nbsp;application is as below:&amp;nbsp;&lt;/P&gt;&lt;P&gt;MEMORY&lt;BR /&gt;{&lt;BR /&gt; flash_rchw : org = 0x01180000, len = 0x4&lt;BR /&gt; cpu0_reset_vec : org = 0x01180004, len = 0x4&lt;BR /&gt; &lt;BR /&gt; m_text : org = 0x01180010, len = 510K &lt;BR /&gt; m_data : org = 0x40000000, len = 384K&lt;/P&gt;&lt;P&gt;&lt;BR /&gt; local_dmem : org = 0x50800000, len = 64K &lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;And please look my AppJump.S, is there any fault?&lt;/P&gt;&lt;P&gt;/*&lt;BR /&gt; * AppJump.S**********************************************&lt;BR /&gt; *&lt;BR /&gt; */&lt;/P&gt;&lt;P&gt;.section .text, "ax"&lt;BR /&gt; .globl _AppExecute&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;_AppExecute:&lt;/P&gt;&lt;P&gt;;#but first check, if there's valid boot header at address 0x01000000&lt;BR /&gt; ;#load address of boot header to r12&lt;BR /&gt; &lt;SPAN style="color: #ff0000;"&gt;e_lis r12, 0x0118&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="color: #ff0000;"&gt; e_or2i r12, 0x0000&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;;#load upper half of boot header word to r0&lt;BR /&gt; ;#(lower half is application dependent)&lt;BR /&gt; e_lhz r0, 0(r12)&lt;/P&gt;&lt;P&gt;;#boot header should be 0x015A&lt;BR /&gt; e_cmpl16i r0, 0x015A&lt;/P&gt;&lt;P&gt;;#if the boot header is not valid, execute bootloader&lt;BR /&gt;// e_bne _BootLd ;#Bootloader_Main&lt;/P&gt;&lt;P&gt;;#if the boot header is valid, execute application&lt;BR /&gt; ;#********************************* Enable BTB ********************************&lt;BR /&gt;;# Flush &amp;amp; Enable BTB - Set BBFI bit in BUCSR&lt;BR /&gt; e_li r3, 0x201&lt;BR /&gt; mtspr 1013, r3&lt;BR /&gt; se_isync&lt;/P&gt;&lt;P&gt;;#**************************** Init Core Registers ****************************&lt;BR /&gt;;# The E200Z4 core needs its registers initialising before they are used&lt;BR /&gt;;# otherwise in Lock Step mode the two cores will contain different random data.&lt;BR /&gt;;# If this is stored to memory (e.g. stacked) it will cause a Lock Step error.&lt;/P&gt;&lt;P&gt;;# GPR's 0-31&lt;BR /&gt; e_li r0, 0&lt;BR /&gt; e_li r1, 0&lt;BR /&gt; e_li r2, 0&lt;BR /&gt; e_li r3, 0&lt;BR /&gt; e_li r4, 0&lt;BR /&gt; e_li r5, 0&lt;BR /&gt; e_li r6, 0&lt;BR /&gt; e_li r7, 0&lt;BR /&gt; e_li r8, 0&lt;BR /&gt; e_li r9, 0&lt;BR /&gt; e_li r10, 0&lt;BR /&gt; e_li r11, 0&lt;BR /&gt; e_li r12, 0&lt;BR /&gt; e_li r13, 0&lt;BR /&gt; e_li r14, 0&lt;BR /&gt; e_li r15, 0&lt;BR /&gt; e_li r16, 0&lt;BR /&gt; e_li r17, 0&lt;BR /&gt; e_li r18, 0&lt;BR /&gt; e_li r19, 0&lt;BR /&gt; e_li r20, 0&lt;BR /&gt; e_li r21, 0&lt;BR /&gt; e_li r22, 0&lt;BR /&gt; e_li r23, 0&lt;BR /&gt; e_li r24, 0&lt;BR /&gt; e_li r25, 0&lt;BR /&gt; e_li r26, 0&lt;BR /&gt; e_li r27, 0&lt;BR /&gt; e_li r28, 0&lt;BR /&gt; e_li r29, 0&lt;BR /&gt; e_li r30, 0&lt;BR /&gt; e_li r31, 0&lt;/P&gt;&lt;P&gt;;# Init any other CPU register which might be stacked (before being used).&lt;/P&gt;&lt;P&gt;mtspr 1, r1 ;#XER&lt;BR /&gt; mtcrf 0xFF, r1&lt;BR /&gt; mtspr CTR, r1&lt;BR /&gt; mtspr 272, r1 ;#SPRG0&lt;BR /&gt; mtspr 273, r1 ;#SPRG1&lt;BR /&gt; mtspr 274, r1 ;#SPRG2&lt;BR /&gt; mtspr 275, r1 ;#SPRG3&lt;BR /&gt; mtspr 58, r1 ;#CSRR0&lt;BR /&gt; mtspr 59, r1 ;#CSRR1&lt;BR /&gt; mtspr 570, r1 ;#MCSRR0&lt;BR /&gt; mtspr 571, r1 ;#MCSRR1&lt;BR /&gt; mtspr 61, r1 ;#DEAR&lt;BR /&gt; mtspr 63, r1 ;#IVPR&lt;BR /&gt; mtspr 256, r1 ;#USPRG0&lt;BR /&gt; mtspr 62, r1 ;#ESR&lt;BR /&gt; mtspr 8, r31 ;#LR&lt;/P&gt;&lt;P&gt;;#load address of reset vector to r12&lt;BR /&gt; &lt;SPAN style="color: #ff0000;"&gt;e_lis r12, 0x0118&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="color: #ff0000;"&gt; e_or2i r12, 0x0004&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;;#load reset vector to r0&lt;BR /&gt; e_lwz r0, 0(r12)&lt;/P&gt;&lt;P&gt;;#move reset vector to link register&lt;BR /&gt; mtlr r0&lt;/P&gt;&lt;P&gt;;#branch to address in link register&lt;BR /&gt; se_blrl&lt;/P&gt;&lt;P&gt;_BootLd:&lt;BR /&gt; e_lis r12, Bootloader_Main@h&lt;BR /&gt; e_or2i r12, Bootloader_Main@l&lt;/P&gt;&lt;P&gt;;#move Bootloader_Main Address to link register&lt;BR /&gt; mtlr r12&lt;/P&gt;&lt;P&gt;;#branch to address in link register&lt;BR /&gt; se_blrl&lt;/P&gt;&lt;P&gt;/*****************************************************************************/&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 25 May 2018 07:19:07 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/How-to-Jump-to-application-from-BootLoader-for-MPC5744P/m-p/718274#M9591</guid>
      <dc:creator>ruoxuanluan</dc:creator>
      <dc:date>2018-05-25T07:19:07Z</dc:date>
    </item>
  </channel>
</rss>

