<?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のトピック回复： S32K314 app jump to bootloader question</title>
    <link>https://community.nxp.com/t5/S32K/S32K314-app-jump-to-bootloader-question/m-p/1836366#M33521</link>
    <description>&lt;P&gt;hello ，can you teach me how to address this question？Thank you？Why not jump?&lt;/P&gt;</description>
    <pubDate>Wed, 27 Mar 2024 12:57:02 GMT</pubDate>
    <dc:creator>shuaige</dc:creator>
    <dc:date>2024-03-27T12:57:02Z</dc:date>
    <item>
      <title>S32K314 app jump to bootloader question</title>
      <link>https://community.nxp.com/t5/S32K/S32K314-app-jump-to-bootloader-question/m-p/1816074#M32139</link>
      <description>&lt;P&gt;hellow,&lt;SPAN&gt;I encountered a rather tricky problem. I am using BootLoader+APP mode on S32K314. The same code works fine when the BootLoader jumps to the APP, but it triggers a hard fault when the app jumps back to the BootLoader. During debugging, I found that there was an error in setting up the stack. I can't think of a good solution for this issue and would like to ask if anyone has any suggestions?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;The code and the values of the variables look like this:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; addr =&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;0x00400000&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; static&lt;/SPAN&gt; &lt;SPAN&gt;void&lt;/SPAN&gt;&lt;SPAN&gt; (&lt;/SPAN&gt;&lt;SPAN&gt;*&lt;/SPAN&gt;&lt;SPAN&gt;jump_to_bootloader&lt;/SPAN&gt;&lt;SPAN&gt;)(&lt;/SPAN&gt;&lt;SPAN&gt;void&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;static&lt;/SPAN&gt; &lt;SPAN&gt;uint32_t&lt;/SPAN&gt; &lt;SPAN&gt;stack_pointer&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;uint32_t&lt;/SPAN&gt; &lt;SPAN&gt;appEntry&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;appStack&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;appStack&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;*&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;uint32_t&lt;/SPAN&gt; &lt;SPAN&gt;*&lt;/SPAN&gt;&lt;SPAN&gt;)(&lt;/SPAN&gt;&lt;SPAN&gt;addr&lt;/SPAN&gt; &lt;SPAN&gt;+&lt;/SPAN&gt; &lt;SPAN&gt;4096&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;appEntry&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;*&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;uint32_t&lt;/SPAN&gt; &lt;SPAN&gt;*&lt;/SPAN&gt;&lt;SPAN&gt;)(&lt;/SPAN&gt;&lt;SPAN&gt;addr&lt;/SPAN&gt; &lt;SPAN&gt;+&lt;/SPAN&gt; &lt;SPAN&gt;4096&lt;/SPAN&gt; &lt;SPAN&gt;+&lt;/SPAN&gt; &lt;SPAN&gt;4&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;jump_to_bootloader&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt; (&lt;/SPAN&gt;&lt;SPAN&gt;void&lt;/SPAN&gt;&lt;SPAN&gt; (&lt;/SPAN&gt;&lt;SPAN&gt;*&lt;/SPAN&gt;&lt;SPAN&gt;)(&lt;/SPAN&gt;&lt;SPAN&gt;void&lt;/SPAN&gt;&lt;SPAN&gt;))&lt;/SPAN&gt;&lt;SPAN&gt;appEntry&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;stack_pointer&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;appStack&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;S32_SCB&lt;/SPAN&gt;&lt;SPAN&gt;-&amp;gt;&lt;/SPAN&gt;&lt;SPAN&gt;VTOR&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt; (&lt;/SPAN&gt;&lt;SPAN&gt;uint32_t&lt;/SPAN&gt;&lt;SPAN&gt;)addr;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;__asm &lt;/SPAN&gt;&lt;SPAN&gt;volatile&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;"MSR msp, &lt;/SPAN&gt;&lt;SPAN&gt;%&lt;/SPAN&gt;&lt;SPAN&gt;0&lt;/SPAN&gt;&lt;SPAN&gt;\n&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt; : : &lt;/SPAN&gt;&lt;SPAN&gt;"r"&lt;/SPAN&gt;&lt;SPAN&gt;(stack_pointer) : &lt;/SPAN&gt;&lt;SPAN&gt;"sp"&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;__asm &lt;/SPAN&gt;&lt;SPAN&gt;volatile&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;"MSR psp, &lt;/SPAN&gt;&lt;SPAN&gt;%&lt;/SPAN&gt;&lt;SPAN&gt;0&lt;/SPAN&gt;&lt;SPAN&gt;\n&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt; : : &lt;/SPAN&gt;&lt;SPAN&gt;"r"&lt;/SPAN&gt;&lt;SPAN&gt;(stack_pointer) : &lt;/SPAN&gt;&lt;SPAN&gt;"sp"&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;jump_to_bootloader&lt;/SPAN&gt;&lt;SPAN&gt;();&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="FaithHerio_0-1709001404912.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/265176iB93A0FAA5A60E1BE/image-size/medium?v=v2&amp;amp;px=400" role="button" title="FaithHerio_0-1709001404912.png" alt="FaithHerio_0-1709001404912.png" /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;FaithHerio_0-1709001404912.png&lt;/span&gt;&lt;/span&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="FaithHerio_1-1709001446787.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/265177iF6D0F16418467575/image-size/medium?v=v2&amp;amp;px=400" role="button" title="FaithHerio_1-1709001446787.png" alt="FaithHerio_1-1709001446787.png" /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;FaithHerio_1-1709001446787.png&lt;/span&gt;&lt;/span&gt;&lt;P&gt;&lt;LI-PRODUCT title="S32K3" id="S32K3"&gt;&lt;/LI-PRODUCT&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Tue, 27 Feb 2024 02:38:02 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/S32K314-app-jump-to-bootloader-question/m-p/1816074#M32139</guid>
      <dc:creator>Faith-Herio</dc:creator>
      <dc:date>2024-02-27T02:38:02Z</dc:date>
    </item>
    <item>
      <title>回复： S32K314 app jump to bootloader question</title>
      <link>https://community.nxp.com/t5/S32K/S32K314-app-jump-to-bootloader-question/m-p/1818515#M32300</link>
      <description>&lt;P&gt;已解决&lt;/P&gt;</description>
      <pubDate>Thu, 29 Feb 2024 08:34:32 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/S32K314-app-jump-to-bootloader-question/m-p/1818515#M32300</guid>
      <dc:creator>Faith-Herio</dc:creator>
      <dc:date>2024-02-29T08:34:32Z</dc:date>
    </item>
    <item>
      <title>回复： S32K314 app jump to bootloader question</title>
      <link>https://community.nxp.com/t5/S32K/S32K314-app-jump-to-bootloader-question/m-p/1836366#M33521</link>
      <description>&lt;P&gt;hello ，can you teach me how to address this question？Thank you？Why not jump?&lt;/P&gt;</description>
      <pubDate>Wed, 27 Mar 2024 12:57:02 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/S32K314-app-jump-to-bootloader-question/m-p/1836366#M33521</guid>
      <dc:creator>shuaige</dc:creator>
      <dc:date>2024-03-27T12:57:02Z</dc:date>
    </item>
    <item>
      <title>回复： S32K314 app jump to bootloader question</title>
      <link>https://community.nxp.com/t5/S32K/S32K314-app-jump-to-bootloader-question/m-p/2026338#M45030</link>
      <description>&lt;P&gt;Note to check if the RTOS is used. If RTOS is used, pay attention to the usage of the MSP and PSP registers before jumping. If the boot loader does not apply RTOS, you need to change your stack usage to the MSP register. Similarly, if the RTOS is used in the APP or BOOT, you need to change your main stack to the PSP before jumping.&lt;/P&gt;</description>
      <pubDate>Mon, 13 Jan 2025 03:44:05 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/S32K314-app-jump-to-bootloader-question/m-p/2026338#M45030</guid>
      <dc:creator>Faith-Herio</dc:creator>
      <dc:date>2025-01-13T03:44:05Z</dc:date>
    </item>
    <item>
      <title>Solution回复： S32K314 app jump to bootloader question</title>
      <link>https://community.nxp.com/t5/S32K/S32K314-app-jump-to-bootloader-question/m-p/2026340#M45031</link>
      <description>&lt;P&gt;Note to check if the RTOS is used. If RTOS is used, pay attention to the usage of the MSP and PSP registers before jumping. If the boot loader does not apply RTOS, you need to change your stack usage to the MSP register. Similarly, if the RTOS is used in the APP or BOOT, you need to change your main stack to the PSP before jumping.&lt;/P&gt;</description>
      <pubDate>Mon, 13 Jan 2025 03:45:19 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/S32K314-app-jump-to-bootloader-question/m-p/2026340#M45031</guid>
      <dc:creator>Faith-Herio</dc:creator>
      <dc:date>2025-01-13T03:45:19Z</dc:date>
    </item>
  </channel>
</rss>

