<?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>S32KのトピックRe: how jump to application start address?</title>
    <link>https://community.nxp.com/t5/S32K/how-jump-to-application-start-address/m-p/2325447#M57078</link>
    <description>&lt;P&gt;&lt;A href="mailto:Hi@rlaxortn" target="_blank"&gt;Hi@rlaxortn&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Your jump code implementation has a problem; for example, the jump address and the interrupt redirection address are incorrect.&lt;/P&gt;
&lt;P&gt;Please refer to the jump code below and try again.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="c"&gt;#define AppStartAddress 0x00500000U
static void (*JumpTpApplication)(void) = NULL;
uint32_t JumpAddress = 0 , stack_point;&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Jumper to App&lt;/P&gt;
&lt;LI-CODE lang="c"&gt;__asm("cpsid i");

stack_point = *(volatile uint32_t *)(AppStartAddress+0x0c);

JumpAddress = *(volatile uint32_t *)(stack_point+0x04);

JumpTpApplication = (void (*)(void))JumpAddress;

S32_SCB-&amp;gt;VTOR = *(volatile uint32_t *)(AppStartAddress+0x0c);

asm volatile("MSR msp, %0\n":: "r" (stack_point));
__asm volatile("MSR psp, %0\n":: "r" (stack_point));

JumpTpApplication();&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Tue, 03 Mar 2026 07:59:37 GMT</pubDate>
    <dc:creator>Senlent</dc:creator>
    <dc:date>2026-03-03T07:59:37Z</dc:date>
    <item>
      <title>how jump to application start address?</title>
      <link>https://community.nxp.com/t5/S32K/how-jump-to-application-start-address/m-p/2325345#M57073</link>
      <description>&lt;P&gt;i am useing s32ds, RTD 4.0.0 and mcu is s32k314.&amp;nbsp;&lt;/P&gt;&lt;P&gt;i am developing bootloader.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;i check to write flash memory in mcu.&amp;nbsp;&lt;/P&gt;&lt;P&gt;but, after i jump application memory address, it is not work well.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;my setting.&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;bootloader address : 0x00400000&lt;/P&gt;&lt;P&gt;application address : 0x00500000&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;my souce code for jumping to application memory&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;APP_BASE : 0x00500000&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="vtor1.jpg" style="width: 726px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/378158iC44A677B9F83FC1A/image-size/large?v=v2&amp;amp;px=999" role="button" title="vtor1.jpg" alt="vtor1.jpg" /&gt;&lt;/span&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;i checked flash write.&lt;/P&gt;&lt;P&gt;&amp;nbsp;- memory after wiring flash.&lt;/P&gt;&lt;P&gt;i compared bin file, it work well.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="vtor2.jpg" style="width: 996px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/378159iB30C65EAEC882A79/image-size/large?v=v2&amp;amp;px=999" role="button" title="vtor2.jpg" alt="vtor2.jpg" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;- application(firmware)&amp;nbsp;&amp;nbsp;id file&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="vtor4.jpg" style="width: 999px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/378160i85E4951C1771A376/image-size/large?v=v2&amp;amp;px=999" role="button" title="vtor4.jpg" alt="vtor4.jpg" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;- bootloader ld file&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="vtor5.jpg" style="width: 999px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/378161i2938BEF7020577D9/image-size/large?v=v2&amp;amp;px=999" role="button" title="vtor5.jpg" alt="vtor5.jpg" /&gt;&lt;/span&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;1.&amp;nbsp;Isn't app_base the application start address?&lt;/P&gt;&lt;P&gt;2.&amp;nbsp;If APP_BASE is 0x00500000, app_reset will be trapped in the while(1) of the commented if statement., is it right?&lt;/P&gt;&lt;P&gt;3.&amp;nbsp;Looking at the flash memory, the first start data is 0xa55aa55a. Is this correct? The bin files of other projects are the same, but I don't know what it means or how to interpret it.&lt;/P&gt;&lt;P&gt;4. what is wrong source code and how i fix and what i check?&lt;/P&gt;</description>
      <pubDate>Tue, 03 Mar 2026 04:22:50 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/how-jump-to-application-start-address/m-p/2325345#M57073</guid>
      <dc:creator>rlaxortn</dc:creator>
      <dc:date>2026-03-03T04:22:50Z</dc:date>
    </item>
    <item>
      <title>Re: how jump to application start address?</title>
      <link>https://community.nxp.com/t5/S32K/how-jump-to-application-start-address/m-p/2325447#M57078</link>
      <description>&lt;P&gt;&lt;A href="mailto:Hi@rlaxortn" target="_blank"&gt;Hi@rlaxortn&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Your jump code implementation has a problem; for example, the jump address and the interrupt redirection address are incorrect.&lt;/P&gt;
&lt;P&gt;Please refer to the jump code below and try again.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="c"&gt;#define AppStartAddress 0x00500000U
static void (*JumpTpApplication)(void) = NULL;
uint32_t JumpAddress = 0 , stack_point;&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Jumper to App&lt;/P&gt;
&lt;LI-CODE lang="c"&gt;__asm("cpsid i");

stack_point = *(volatile uint32_t *)(AppStartAddress+0x0c);

JumpAddress = *(volatile uint32_t *)(stack_point+0x04);

JumpTpApplication = (void (*)(void))JumpAddress;

S32_SCB-&amp;gt;VTOR = *(volatile uint32_t *)(AppStartAddress+0x0c);

asm volatile("MSR msp, %0\n":: "r" (stack_point));
__asm volatile("MSR psp, %0\n":: "r" (stack_point));

JumpTpApplication();&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 03 Mar 2026 07:59:37 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/how-jump-to-application-start-address/m-p/2325447#M57078</guid>
      <dc:creator>Senlent</dc:creator>
      <dc:date>2026-03-03T07:59:37Z</dc:date>
    </item>
    <item>
      <title>Re: how jump to application start address?</title>
      <link>https://community.nxp.com/t5/S32K/how-jump-to-application-start-address/m-p/2325825#M57096</link>
      <description>&lt;P&gt;hi&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/188029"&gt;@Senlent&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;i think that is wrong. that is right i set ld file, bootloader start address is 0x00400000 and firmware start address is 0x00500000.&amp;nbsp;&lt;/P&gt;&lt;P&gt;and i fixed source code like you&amp;nbsp;&lt;SPAN&gt;propose.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;but it is not work well.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;so i checked a map file.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;but 0x00500000 is boot header.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="vtor6.jpg" style="width: 999px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/378248i92C44B374FCDEEDF/image-size/large?v=v2&amp;amp;px=999" role="button" title="vtor6.jpg" alt="vtor6.jpg" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 04 Mar 2026 00:43:37 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/how-jump-to-application-start-address/m-p/2325825#M57096</guid>
      <dc:creator>rlaxortn</dc:creator>
      <dc:date>2026-03-04T00:43:37Z</dc:date>
    </item>
    <item>
      <title>Re: how jump to application start address?</title>
      <link>https://community.nxp.com/t5/S32K/how-jump-to-application-start-address/m-p/2325883#M57097</link>
      <description>&lt;P&gt;Hi@&lt;SPAN&gt;rlaxortn&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;"&lt;SPAN&gt;but 0x00500000 is boot header.&amp;nbsp;&lt;/SPAN&gt;"&lt;/P&gt;
&lt;P&gt;Is there a problem with this? Isn't this correct?&lt;/P&gt;
&lt;P&gt;Have you tested the jump code I provided? You said your test failed? Then please provide me with your test demo.&lt;/P&gt;</description>
      <pubDate>Wed, 04 Mar 2026 02:28:50 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/how-jump-to-application-start-address/m-p/2325883#M57097</guid>
      <dc:creator>Senlent</dc:creator>
      <dc:date>2026-03-04T02:28:50Z</dc:date>
    </item>
    <item>
      <title>Re: how jump to application start address?</title>
      <link>https://community.nxp.com/t5/S32K/how-jump-to-application-start-address/m-p/2333153#M57328</link>
      <description>&lt;P&gt;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/188029"&gt;@Senlent&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;hello senlent.&amp;nbsp;&lt;/P&gt;&lt;P&gt;if i set 0x00500000, it don't work well. mcu did not work well.&amp;nbsp;&lt;/P&gt;&lt;P&gt;because 0x00500000 is not for starting vector table. so mcu could not find reset handler and other handler.&lt;/P&gt;&lt;P&gt;so i set 0x00502000 for starting vector table, mcu work well.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 16 Mar 2026 01:41:18 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/how-jump-to-application-start-address/m-p/2333153#M57328</guid>
      <dc:creator>rlaxortn</dc:creator>
      <dc:date>2026-03-16T01:41:18Z</dc:date>
    </item>
  </channel>
</rss>

