<?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: OTA in S32K</title>
    <link>https://community.nxp.com/t5/S32K/OTA/m-p/1078845#M7608</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Kui,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;well, I can see now that there are only binaries of the application.&lt;/P&gt;&lt;P&gt;But if you take closer look at the bootloader, you can see in linker file:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_1.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/115249iE6032269B9D315CB/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_1.png" alt="pastedImage_1.png" /&gt;&lt;/span&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And then in main.c:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_2.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/115269i70FE945832EBE11B/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_2.png" alt="pastedImage_2.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;and&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_3.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/115291i1DDFB621F6333FBE/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_3.png" alt="pastedImage_3.png" /&gt;&lt;/span&gt; &lt;/P&gt;&lt;P&gt;So, address 0x10003FFC contains pointer to function which you should call from application and address 0x2000EFFC contains status (return value) of that function which you are supposed to read after return.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In application, simply create a pointer to function:&lt;/P&gt;&lt;P&gt;void (*f_ptr)(void); &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Load content of address 0x10003FFC&amp;nbsp; to the pointer:&lt;/P&gt;&lt;P&gt;f_ptr = (void(*)(void))(*(unsigned int*)0x10003FFC);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And call the function:&lt;/P&gt;&lt;P&gt;f_ptr();&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When you return from the function, simply read status from 0x2000EFFC using a pointer.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You do not need to save/restore register content because you are still using C and EABI.&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>Wed, 19 Aug 2020 09:48:39 GMT</pubDate>
    <dc:creator>lukaszadrapa</dc:creator>
    <dc:date>2020-08-19T09:48:39Z</dc:date>
    <item>
      <title>OTA</title>
      <link>https://community.nxp.com/t5/S32K/OTA/m-p/1078832#M7595</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hello，&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Does S32K1xx have OTA function? How to use OTA function? Is there a document for reference？&lt;/P&gt;&lt;P&gt;wish&amp;nbsp; your help？&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 09 Jul 2020 01:17:43 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/OTA/m-p/1078832#M7595</guid>
      <dc:creator>814420552</dc:creator>
      <dc:date>2020-07-09T01:17:43Z</dc:date>
    </item>
    <item>
      <title>Re: OTA</title>
      <link>https://community.nxp.com/t5/S32K/OTA/m-p/1078833#M7596</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;please check this application note:&lt;/P&gt;&lt;P&gt;&lt;A class="link-titled" href="https://www.nxp.com/docs/en/application-note/AN12323.pdf" title="https://www.nxp.com/docs/en/application-note/AN12323.pdf"&gt;https://www.nxp.com/docs/en/application-note/AN12323.pdf&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;A class="link-titled" href="https://www.nxp.com/docs/en/application-note-software/AN12323SW.zip" title="https://www.nxp.com/docs/en/application-note-software/AN12323SW.zip"&gt;https://www.nxp.com/docs/en/application-note-software/AN12323SW.zip&lt;/A&gt;&amp;nbsp;&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, 09 Jul 2020 04:18:41 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/OTA/m-p/1078833#M7596</guid>
      <dc:creator>lukaszadrapa</dc:creator>
      <dc:date>2020-07-09T04:18:41Z</dc:date>
    </item>
    <item>
      <title>Re: OTA</title>
      <link>https://community.nxp.com/t5/S32K/OTA/m-p/1078834#M7597</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hello Lukas,&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;As of today, I have read the OTA document you sent. How can I put bootloader into d-flash？&lt;/P&gt;&lt;P&gt;about OTA Another problem is In the example you gave me, I can see that the current app will pause when upgrading how to upgrade the app code while running itThat is, the upgrade does not affect the current app operation）?&amp;nbsp;&amp;nbsp;&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>Mon, 03 Aug 2020 10:03:55 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/OTA/m-p/1078834#M7597</guid>
      <dc:creator>814420552</dc:creator>
      <dc:date>2020-08-03T10:03:55Z</dc:date>
    </item>
    <item>
      <title>Re: OTA</title>
      <link>https://community.nxp.com/t5/S32K/OTA/m-p/1078835#M7598</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Kui,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;to put the bootloader to specific area, you need to change the linker file. You can check this file:&lt;/P&gt;&lt;P&gt;..\AN12323SW.zip\AN_S32K_OTA\OTA_S32K146_Use_Case_WS\S32K146_FOTA_Bootloader\Project_Settings\Linker_Files\S32K1xx_flexnvm.ld&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you want to keep your application running when updating new firmware, important point is that you need a microcontroller with more partitions in code flash, so you can execute your firmware from one partition while another one is being updated. That means either S32K146 or S32K148.&lt;/P&gt;&lt;P&gt;S32K144 (or all S32K11x) have only single partition in case of code flash.&lt;/P&gt;&lt;P&gt;The procedure is thoroughly explained in chapter "6.2 S32K146 use case". Please read whole chapter, especially description of SCENARIO (1) and SCENARIO (2).&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>Tue, 04 Aug 2020 10:37:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/OTA/m-p/1078835#M7598</guid>
      <dc:creator>lukaszadrapa</dc:creator>
      <dc:date>2020-08-04T10:37:42Z</dc:date>
    </item>
    <item>
      <title>Re: OTA</title>
      <link>https://community.nxp.com/t5/S32K/OTA/m-p/1078836#M7599</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hello Lukas，&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;My device is S32K146， according to reference manual， it should be support two partition for P-Flash?&amp;nbsp; is my understanding wrong as the following picture description?&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;As the last mail your description, S32K146 or 148 can not support&amp;nbsp;&lt;SPAN style="color: #51626f; background-color: #c1e6c6;"&gt;application running when updating new firmware??&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #c1e6c6;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;thank for your anser!&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_1.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/109565iFD582D541BD86872/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_1.png" alt="pastedImage_1.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 06 Aug 2020 03:50:09 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/OTA/m-p/1078836#M7599</guid>
      <dc:creator>814420552</dc:creator>
      <dc:date>2020-08-06T03:50:09Z</dc:date>
    </item>
    <item>
      <title>Re: OTA</title>
      <link>https://community.nxp.com/t5/S32K/OTA/m-p/1078837#M7600</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P style="color: #51626f; background-color: #c1e6c6; border: 0px; font-size: 14px;"&gt;Hello Lukas，&amp;nbsp;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #c1e6c6; border: 0px; font-size: 14px;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;1&amp;gt;My device is S32K146， according to reference manual， it should be support two partition for P-Flash?&amp;nbsp; is my understanding wrong as the following picture description?&lt;/P&gt;&lt;P style="color: #51626f; background-color: #c1e6c6; border: 0px; font-size: 14px;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;2&amp;gt;As the last mail your description, S32K146 or 148 can not support&amp;nbsp;&lt;SPAN style="color: #51626f; background-color: #c1e6c6; border: 0px; font-weight: inherit; font-size: 14px;"&gt;application running when updating new firmware??&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #c1e6c6; border: 0px; font-size: 14px;"&gt;&lt;SPAN style="color: #51626f; background-color: #c1e6c6; border: 0px; font-weight: inherit; font-size: 14px;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;3&amp;gt;which &lt;SPAN&gt;SCENARIO （chapter "6.2 S32K146 use case".&amp;nbsp; SCENARIO (1)&amp;nbsp;&amp;nbsp;and SCENARIO (2) ）does t&lt;/SPAN&gt;he OTA demo code for in&amp;nbsp;&lt;A href="https://community.nxp.com/external-link.jspa?url=https%3A%2F%2Fwww.nxp.com%2Fdocs%2Fen%2Fapplication-note-software%2FAN12323SW.zip" rel="nofollow" style="color: #3d9ce7; border: 0px; text-decoration: none; padding: 0px calc(12px + 0.35ex) 0px 0px;" target="_blank"&gt;https://www.nxp.com/docs/en/application-note-software/AN12323SW.zip&lt;/A&gt;&amp;nbsp;&lt;SPAN&gt;&amp;nbsp;???&amp;nbsp; if this demo code fufil&amp;nbsp;&lt;SPAN style="background-color: #c1e6c6;"&gt;SCENARIO (1)， thus whether has the demo code for&amp;nbsp;SCENARIO (2)？&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #c1e6c6; border: 0px; font-size: 14px;"&gt;&lt;SPAN style="color: #51626f; background-color: #c1e6c6; border: 0px; font-weight: inherit; font-size: 14px;"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #c1e6c6; border: 0px; font-size: 14px;"&gt;&lt;SPAN style="color: #51626f; background-color: #c1e6c6; border: 0px; font-weight: inherit; font-size: 14px;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;thank for your anser!&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #c1e6c6; border: 0px; font-size: 14px;"&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_1.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/109606i46C9794309F0E9B8/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_1.png" alt="pastedImage_1.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 06 Aug 2020 04:05:34 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/OTA/m-p/1078837#M7600</guid>
      <dc:creator>814420552</dc:creator>
      <dc:date>2020-08-06T04:05:34Z</dc:date>
    </item>
    <item>
      <title>Re: OTA</title>
      <link>https://community.nxp.com/t5/S32K/OTA/m-p/1078838#M7601</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dear lukas&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;1. if bootloader save in D-Flash ，it seems&amp;nbsp; that it is conflict with&amp;nbsp; the following function.&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;2.&amp;nbsp;when update firmware,&amp;nbsp; how does the code jump between APP &amp;amp; bootloader?&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_1.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/109811iF1E682642A2EC794/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_1.png" alt="pastedImage_1.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 06 Aug 2020 08:03:09 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/OTA/m-p/1078838#M7601</guid>
      <dc:creator>814420552</dc:creator>
      <dc:date>2020-08-06T08:03:09Z</dc:date>
    </item>
    <item>
      <title>Re: OTA</title>
      <link>https://community.nxp.com/t5/S32K/OTA/m-p/1078839#M7602</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Kui,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. Yes, there are two partitions in S32K146, so it supports updating of one partition while the other is being updated.&lt;/P&gt;&lt;P&gt;2. I wrote that it is supported:&lt;/P&gt;&lt;P&gt;"If you want to keep your application running when updating new firmware, important point is that you need a microcontroller with more partitions in code flash, so you can execute your firmware from one partition while another one is being updated. That means either S32K146 or S32K148."&lt;/P&gt;&lt;P&gt;3. S32K146 implements scenario 2.&lt;/P&gt;&lt;P&gt;4. Yes, secure boot always uses start address 0. But the bootloader can be still protected by secure boot. It can be relatively easily solved by chain of trust. You can place simple piece of code to the first sector of flash. This can be protected directly by secure boot. This piece of code then can check CMAC of the bootloader in D-Flash. If it is correct, jump to the bootloader.&lt;/P&gt;&lt;P&gt;5. Simply use function pointer. It's shown in the demo codes.&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>Mon, 10 Aug 2020 06:40:26 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/OTA/m-p/1078839#M7602</guid>
      <dc:creator>lukaszadrapa</dc:creator>
      <dc:date>2020-08-10T06:40:26Z</dc:date>
    </item>
    <item>
      <title>Re: OTA</title>
      <link>https://community.nxp.com/t5/S32K/OTA/m-p/1078840#M7603</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hello Lukas,&amp;nbsp; &amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="color: #51626f; background-color: #c1e6c6;"&gt;3. S32K146 implements scenario 2.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;whether could you send the demo code for me?&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;thanks very much!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 11 Aug 2020 05:15:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/OTA/m-p/1078840#M7603</guid>
      <dc:creator>814420552</dc:creator>
      <dc:date>2020-08-11T05:15:35Z</dc:date>
    </item>
    <item>
      <title>Re: OTA</title>
      <link>https://community.nxp.com/t5/S32K/OTA/m-p/1078841#M7604</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P style="color: #51626f; background-color: #c1e6c6; border: 0px; font-size: 14px;"&gt;hello Lukas,&amp;nbsp; &amp;nbsp;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #c1e6c6; border: 0px; font-size: 14px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="color: #51626f; background-color: #c1e6c6; border: 0px; font-weight: inherit; font-size: 14px;"&gt;3. S32K146 implements scenario 2.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #c1e6c6; border: 0px; font-size: 14px;"&gt;&lt;SPAN style="color: #51626f; background-color: #c1e6c6; border: 0px; font-weight: inherit; font-size: 14px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;I have the dmo for&amp;nbsp;&lt;SPAN&gt;scenario 1.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #c1e6c6; border: 0px; font-size: 14px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;whether could you send the demo (&lt;SPAN&gt;scenario 2)&lt;/SPAN&gt; code for me?&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #c1e6c6; border: 0px; font-size: 14px;"&gt;&amp;nbsp; &amp;nbsp;thanks very much!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 11 Aug 2020 05:16:49 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/OTA/m-p/1078841#M7604</guid>
      <dc:creator>814420552</dc:creator>
      <dc:date>2020-08-11T05:16:49Z</dc:date>
    </item>
    <item>
      <title>Re: OTA</title>
      <link>https://community.nxp.com/t5/S32K/OTA/m-p/1078842#M7605</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hello Lukas.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="color: #51626f; background-color: #c1e6c6;"&gt;5. Simply use function pointer. It's shown in the demo codes.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="color: #51626f; background-color: #c1e6c6;"&gt;S32K146 implements scenario 2, it need jump between APP and bootloader untill Firmware updated complete.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #c1e6c6;"&gt;&amp;nbsp; Step 1. every time when received the update firmware data , code jump from APP to bootloader&amp;nbsp;and execute from the first line code if main function, then write the new foreware to anther bank.&amp;nbsp; every time code will call the init function in bootloader.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #c1e6c6;"&gt;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #c1e6c6;"&gt;&amp;nbsp;Step 2&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #c1e6c6;"&gt;&amp;nbsp; &amp;nbsp;of course evevy time when wrote&amp;nbsp; new fireware data completely, code will jump to APP&amp;nbsp; for handing user's application &amp;amp; receiving the new fireware data.&amp;nbsp; code will also&amp;nbsp; do init work then run to while 1 in main function.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #c1e6c6;"&gt;if my understanding right?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #c1e6c6;"&gt;thus&amp;nbsp; ervey time for jumping from APP to bootloader or jumping from bootloader to APP, bootloader or APP&amp;nbsp; will do init work&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #c1e6c6;"&gt;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 11 Aug 2020 05:50:57 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/OTA/m-p/1078842#M7605</guid>
      <dc:creator>814420552</dc:creator>
      <dc:date>2020-08-11T05:50:57Z</dc:date>
    </item>
    <item>
      <title>Re: OTA</title>
      <link>https://community.nxp.com/t5/S32K/OTA/m-p/1078843#M7606</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The zip package contain demo code for S32K146 and it's for scenario 2.&lt;/P&gt;&lt;P&gt;Take a look at the code, not complete initialization is done. Only some specific functions are called.&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>Tue, 11 Aug 2020 15:10:08 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/OTA/m-p/1078843#M7606</guid>
      <dc:creator>lukaszadrapa</dc:creator>
      <dc:date>2020-08-11T15:10:08Z</dc:date>
    </item>
    <item>
      <title>Re: OTA</title>
      <link>https://community.nxp.com/t5/S32K/OTA/m-p/1078844#M7607</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hello lukas，&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;I still can't find the code which jump to bootloader from app in demo code, could you tell me which line code do this jump?&lt;/P&gt;&lt;P&gt;&amp;nbsp; I still have a doublt,&amp;nbsp; when jump every time, it should save the PC pointer and stack, when return it will restore the PC and stack.&amp;nbsp; is my understanding wrong?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks very much!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 18 Aug 2020 06:14:20 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/OTA/m-p/1078844#M7607</guid>
      <dc:creator>814420552</dc:creator>
      <dc:date>2020-08-18T06:14:20Z</dc:date>
    </item>
    <item>
      <title>Re: OTA</title>
      <link>https://community.nxp.com/t5/S32K/OTA/m-p/1078845#M7608</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Kui,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;well, I can see now that there are only binaries of the application.&lt;/P&gt;&lt;P&gt;But if you take closer look at the bootloader, you can see in linker file:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_1.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/115249iE6032269B9D315CB/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_1.png" alt="pastedImage_1.png" /&gt;&lt;/span&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And then in main.c:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_2.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/115269i70FE945832EBE11B/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_2.png" alt="pastedImage_2.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;and&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_3.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/115291i1DDFB621F6333FBE/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_3.png" alt="pastedImage_3.png" /&gt;&lt;/span&gt; &lt;/P&gt;&lt;P&gt;So, address 0x10003FFC contains pointer to function which you should call from application and address 0x2000EFFC contains status (return value) of that function which you are supposed to read after return.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In application, simply create a pointer to function:&lt;/P&gt;&lt;P&gt;void (*f_ptr)(void); &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Load content of address 0x10003FFC&amp;nbsp; to the pointer:&lt;/P&gt;&lt;P&gt;f_ptr = (void(*)(void))(*(unsigned int*)0x10003FFC);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And call the function:&lt;/P&gt;&lt;P&gt;f_ptr();&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When you return from the function, simply read status from 0x2000EFFC using a pointer.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You do not need to save/restore register content because you are still using C and EABI.&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>Wed, 19 Aug 2020 09:48:39 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/OTA/m-p/1078845#M7608</guid>
      <dc:creator>lukaszadrapa</dc:creator>
      <dc:date>2020-08-19T09:48:39Z</dc:date>
    </item>
  </channel>
</rss>

