<?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: S32K144 bootloader jump into application in S32K</title>
    <link>https://community.nxp.com/t5/S32K/S32K144-bootloader-jump-into-application/m-p/687333#M1104</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;kim:&lt;/P&gt;&lt;P&gt;&amp;nbsp;could you tell me how to jump to APP,this is my e_mail&amp;nbsp;&lt;A href="mailto:xiexingying@eautopower.com,thank"&gt;xiexingying@eautopower.com&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="mailto:xiexingying@eautopower.com,thank"&gt;thank&lt;/A&gt;&amp;nbsp;you !&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 21 Sep 2017 08:27:46 GMT</pubDate>
    <dc:creator>eautopower</dc:creator>
    <dc:date>2017-09-21T08:27:46Z</dc:date>
    <item>
      <title>S32K144 bootloader jump into application</title>
      <link>https://community.nxp.com/t5/S32K/S32K144-bootloader-jump-into-application/m-p/687329#M1100</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;How the bootloader to jump into application? When program jumps into the application, the mcu will reset. I use the function below to jump, does it work?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void JumpToExecute(uint32_t SP, uint32_t Startup)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;volatile uint32_t avoid_optimization;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;/* In order to avoid optimization issue when -Os */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;avoid_optimization = SP;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;/* In order to avoid optimization issue when -Os */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;avoid_optimization = Startup;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;/* set up stack pointer */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;__asm("msr msp, r0");&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;__asm("msr psp, r0");&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;/* Jump to PC (r1) */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;__asm("mov pc, r1");&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks &amp;amp; regards,&lt;/P&gt;&lt;P&gt;Jim&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 20 May 2017 07:56:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/S32K144-bootloader-jump-into-application/m-p/687329#M1100</guid>
      <dc:creator>jimfung</dc:creator>
      <dc:date>2017-05-20T07:56:35Z</dc:date>
    </item>
    <item>
      <title>Re: S32K144 bootloader jump into application</title>
      <link>https://community.nxp.com/t5/S32K/S32K144-bootloader-jump-into-application/m-p/687330#M1101</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; __asm("ldr r0,=main");&amp;nbsp;&amp;nbsp; //load address of main function (use any address you need)&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;__asm("blx r0");&amp;nbsp;&amp;nbsp; //jump to this address&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Lukas&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 25 May 2017 11:30:15 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/S32K144-bootloader-jump-into-application/m-p/687330#M1101</guid>
      <dc:creator>lukaszadrapa</dc:creator>
      <dc:date>2017-05-25T11:30:15Z</dc:date>
    </item>
    <item>
      <title>Re: S32K144 bootloader jump into application</title>
      <link>https://community.nxp.com/t5/S32K/S32K144-bootloader-jump-into-application/m-p/687331#M1102</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Kim,&lt;/P&gt;&lt;P&gt;Could you possibly try this:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="language-c line-numbers"&gt;&lt;CODE&gt;&lt;SPAN class="keyword token"&gt;typedef&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;void&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;*&lt;/SPAN&gt;func_ptr&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;// pointer to function type&lt;/SPAN&gt;

&lt;SPAN class="keyword token"&gt;void&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;JumpToExecute&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="keyword token"&gt;unsigned&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;int&lt;/SPAN&gt; SP&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;unsigned&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;int&lt;/SPAN&gt; Startup&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
&amp;nbsp; &lt;SPAN class="token function"&gt;__asm&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"mov r13, r0"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;// Store it to SP (R13)&lt;/SPAN&gt;
&amp;nbsp; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;*&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;func_ptr&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;Startup&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;// Jump at Startup&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope it helps.&lt;/P&gt;&lt;P&gt;S.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 25 May 2017 14:58:43 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/S32K144-bootloader-jump-into-application/m-p/687331#M1102</guid>
      <dc:creator>stanish</dc:creator>
      <dc:date>2017-05-25T14:58:43Z</dc:date>
    </item>
    <item>
      <title>Re: S32K144 bootloader jump into application</title>
      <link>https://community.nxp.com/t5/S32K/S32K144-bootloader-jump-into-application/m-p/687332#M1103</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;Thanks for your reply! Now i have another question, how to remap the interrupt vector table?&lt;/P&gt;&lt;P&gt;I have changed the xxx.ld file in the bootloader below, and i also set the register S32_SCB-&amp;gt;VTOR = (uint32_t)0x8000 before jump to application from bootloader. But it seems that it didn't work.&lt;/P&gt;&lt;P&gt;MEMORY&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp; /* Flash */&lt;BR /&gt;&amp;nbsp; m_interrupts&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (RX)&amp;nbsp; : ORIGIN = 0x00008000, LENGTH = 0x00000400&lt;BR /&gt;&amp;nbsp; m_flash_config&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (RX)&amp;nbsp; : ORIGIN = 0x00008400, LENGTH = 0x00000010&lt;BR /&gt;&amp;nbsp; m_text&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;&amp;nbsp; (RX)&amp;nbsp; : ORIGIN = 0x00008410, LENGTH = 0x0007FBF0 - 0x8000&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; /* SRAM_L */&lt;BR /&gt;&amp;nbsp; m_data&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;&amp;nbsp; (RW)&amp;nbsp; : ORIGIN = 0x1FFF8000, LENGTH = 0x00008000&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; /* SRAM_U */&lt;BR /&gt;&amp;nbsp; m_data_2&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; (RW)&amp;nbsp; : ORIGIN = 0x20000000, LENGTH = 0x00007000&lt;BR /&gt;}&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 27 May 2017 03:52:59 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/S32K144-bootloader-jump-into-application/m-p/687332#M1103</guid>
      <dc:creator>jimfung</dc:creator>
      <dc:date>2017-05-27T03:52:59Z</dc:date>
    </item>
    <item>
      <title>Re: S32K144 bootloader jump into application</title>
      <link>https://community.nxp.com/t5/S32K/S32K144-bootloader-jump-into-application/m-p/687333#M1104</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;kim:&lt;/P&gt;&lt;P&gt;&amp;nbsp;could you tell me how to jump to APP,this is my e_mail&amp;nbsp;&lt;A href="mailto:xiexingying@eautopower.com,thank"&gt;xiexingying@eautopower.com&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="mailto:xiexingying@eautopower.com,thank"&gt;thank&lt;/A&gt;&amp;nbsp;you !&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 21 Sep 2017 08:27:46 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/S32K144-bootloader-jump-into-application/m-p/687333#M1104</guid>
      <dc:creator>eautopower</dc:creator>
      <dc:date>2017-09-21T08:27:46Z</dc:date>
    </item>
    <item>
      <title>Re: S32K144 bootloader jump into application</title>
      <link>https://community.nxp.com/t5/S32K/S32K144-bootloader-jump-into-application/m-p/687334#M1105</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Stanislav,&lt;BR /&gt;I am using MKM34Z processor and Jump to Application code just like you mentioned, but program cannot exit Reset_Handler. I am using IAR and&amp;nbsp;Reset Handler is below;&lt;/P&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; PUBWEAK Reset_Handler&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SECTION .text:CODE:REORDER:NOROOT(2)&lt;BR /&gt;Reset_Handler&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CPSID &amp;nbsp; I &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ; Mask interrupts&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; LDR &amp;nbsp; &amp;nbsp; R0, =0xE000ED08&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; LDR &amp;nbsp; &amp;nbsp; R1, =__vector_table&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; STR &amp;nbsp; &amp;nbsp; R1, [R0]&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; LDR &amp;nbsp; &amp;nbsp; R2, [R1]&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; MSR &amp;nbsp; &amp;nbsp; MSP, R2&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; LDR &amp;nbsp; &amp;nbsp; R0, =SystemInit&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; BLX &amp;nbsp; &amp;nbsp; R0&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CPSIE &amp;nbsp; I &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ; Unmask interrupts&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; LDR &amp;nbsp; &amp;nbsp; R0, =__iar_program_start&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; BX &amp;nbsp; &amp;nbsp; &amp;nbsp;R0&lt;DIV class=""&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What do you think is the reason, where am I doing wrong? I would be glad if you help. Thank you.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 18 Aug 2020 13:05:47 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/S32K144-bootloader-jump-into-application/m-p/687334#M1105</guid>
      <dc:creator>MehmetKirgozoglu</dc:creator>
      <dc:date>2020-08-18T13:05:47Z</dc:date>
    </item>
    <item>
      <title>Re: S32K144 bootloader jump into application</title>
      <link>https://community.nxp.com/t5/S32K/S32K144-bootloader-jump-into-application/m-p/687335#M1106</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Mehmet,&lt;/P&gt;&lt;P&gt;If I understand your issue correctly you are able to jump to the application code (&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;Reset_Handler)&amp;nbsp;&lt;/SPAN&gt;but it either never leaves it.&lt;/P&gt;&lt;P&gt;I'd suggest you to deinitialize all the interrupt sources (peripherals) used by the bootloader before you jump to the application code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;see e.g.&amp;nbsp;&lt;A _jive_internal="true" class="link-titled" href="https://community.nxp.com/message/1339695#comment-1341598" title="https://community.nxp.com/message/1339695#comment-1341598"&gt;https://community.nxp.com/message/1339695#comment-1341598&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Hope it helps.&lt;/P&gt;&lt;P&gt;Stan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 24 Aug 2020 09:27:26 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/S32K144-bootloader-jump-into-application/m-p/687335#M1106</guid>
      <dc:creator>stanish</dc:creator>
      <dc:date>2020-08-24T09:27:26Z</dc:date>
    </item>
  </channel>
</rss>

