<?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: UART based S32K144 MCU boot loader in MCU Bootloader</title>
    <link>https://community.nxp.com/t5/MCU-Bootloader/UART-based-S32K144-MCU-boot-loader/m-p/1835245#M1453</link>
    <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/200831"&gt;@Julián_AragónM&lt;/a&gt;,&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;Just for confirmation can you please elaborate on below statement.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;SPAN&gt;Just take into consideration&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;S32K144 has one read partition on program flash, so it is not possible to update the application while the old application is still running.&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;STRONG&gt;Understanding: if new firmware(firmware_2) packets(1kb chunks) are receiving in running application code over UART(firmware_1), then while receiving new firmware packets it is not possible to perform WRITE/flashing operation to store new firmware packets at (firmware_2) location.&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;please let me know if my understanding is correct or not.&amp;nbsp;&lt;BR /&gt;Thanks.&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Ankit_Rana_0-1710753257295.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/270395i3070EA5155E3E345/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Ankit_Rana_0-1710753257295.png" alt="Ankit_Rana_0-1710753257295.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;STRONG&gt; &lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Tue, 26 Mar 2024 08:15:14 GMT</pubDate>
    <dc:creator>Ankit_Rana</dc:creator>
    <dc:date>2024-03-26T08:15:14Z</dc:date>
    <item>
      <title>UART based S32K144 MCU boot loader</title>
      <link>https://community.nxp.com/t5/MCU-Bootloader/UART-based-S32K144-MCU-boot-loader/m-p/1829285#M1448</link>
      <description>&lt;P&gt;Hello Geeks,&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;I'm working on S32K144 boot loader I'm having trouble in finding normal bootloader example code that can simply jump to the application available on particular address.&amp;nbsp;&lt;BR /&gt;--&amp;gt; I'm not using any evaluation board So using provided example and RAppID&amp;nbsp; BL Tool is not help full.&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;I'm looking for normal boot loader code in which it simply jump to application address.&amp;nbsp;&lt;BR /&gt;later I will add UART functionality in it in polling mode to start getting firmware packets from other entity and flashing to packets to flash memory.&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;I'm following AN12323 AppNote and section 6.1.1 S32K144 Memory Map for A/B Swap, with single pflash block as my design.&amp;nbsp;&lt;BR /&gt;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/37795"&gt;@lukaszadrapa&lt;/a&gt;&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/23056"&gt;@stanish&lt;/a&gt;&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/100539"&gt;@dianabatrlova&lt;/a&gt;&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/160001"&gt;@danielmartynek&lt;/a&gt;&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/44300"&gt;@Jiri&lt;/a&gt;&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/50705"&gt;@Daniel_Popa&lt;/a&gt;&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;Thanks&lt;/P&gt;</description>
      <pubDate>Fri, 15 Mar 2024 09:40:36 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCU-Bootloader/UART-based-S32K144-MCU-boot-loader/m-p/1829285#M1448</guid>
      <dc:creator>Ankit_Rana</dc:creator>
      <dc:date>2024-03-15T09:40:36Z</dc:date>
    </item>
    <item>
      <title>Re: UART based S32K144 MCU boot loader</title>
      <link>https://community.nxp.com/t5/MCU-Bootloader/UART-based-S32K144-MCU-boot-loader/m-p/1829643#M1449</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/227492"&gt;@Ankit_Rana&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;Please take a look into &lt;EM&gt;AN12218&amp;nbsp;S32K1xx Bootloader&lt;/EM&gt;&amp;nbsp;with its associated file (&lt;STRONG&gt;AN12218SW&lt;/STRONG&gt;), it&amp;nbsp;describes the architecture and usage of the S32K1xx bootloader in S32K1 MCUs.&amp;nbsp;This bootloader supports UART as the communication interface.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Julin_AragnM_0-1710540072238.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/268757i271411BCC504B401/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Julin_AragnM_0-1710540072238.png" alt="Julin_AragnM_0-1710540072238.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;Best regards,&lt;BR /&gt;Julián&lt;/P&gt;</description>
      <pubDate>Fri, 15 Mar 2024 22:02:10 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCU-Bootloader/UART-based-S32K144-MCU-boot-loader/m-p/1829643#M1449</guid>
      <dc:creator>Julián_AragónM</dc:creator>
      <dc:date>2024-03-15T22:02:10Z</dc:date>
    </item>
    <item>
      <title>Re: UART based S32K144 MCU boot loader</title>
      <link>https://community.nxp.com/t5/MCU-Bootloader/UART-based-S32K144-MCU-boot-loader/m-p/1830140#M1450</link>
      <description>&lt;P&gt;Thanks for the quick response&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/200831"&gt;@Julián_AragónM&lt;/a&gt;&amp;nbsp;.&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have taken&amp;nbsp;AN12218SW file.&amp;nbsp;&lt;BR /&gt;But it seems it is developed for S32k148 is there any easy way to migrate from s32k148 to s32k144.?&amp;nbsp;&lt;BR /&gt;Also, I'm not able to see any configuration done in tool for S32k148 project in (UART, CLOCK, PIN etc.)&lt;BR /&gt;it seems it is written without generating drivers from configuration tool.&amp;nbsp;&lt;BR /&gt;So, it's not easy to take configurations for s332k144 from provided code of s32k148.&amp;nbsp;&lt;BR /&gt;Please suggest me a way to make this code functional for S32k144 As soon as possible.&amp;nbsp;&lt;/P&gt;&lt;P&gt;Also, I need some guidance, I'm using Appnote &lt;STRONG&gt;An12323 section&amp;nbsp;6.1.1 S32K144 Memory Map for A/B Swap&lt;/STRONG&gt;, with single pflash block.&amp;nbsp;I have one question as below:&lt;/P&gt;&lt;P&gt;Where should I gather new firmware packets and write into flash? in application code itself OR we should gather in boot loader (UART based boot loader)?&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Scenario_1&lt;/STRONG&gt;: New firmware packets gathering in APP code itself.&lt;BR /&gt;total program flash: 512 --&amp;gt; 247kB running firmware (firmware_1) + 247kB(firmware_2)&lt;BR /&gt;flex memory: 64kB --&amp;gt; 16kB bootloader (only A/B swap logic) + 48kB (EEPROM)&lt;/P&gt;&lt;P&gt;If I'm planning to get new firmware packets in application code (firmware_1, Running firmware) itself. Is it possible to flash/store new packets at firmware_2 location without any write/read problems?&lt;/P&gt;&lt;P&gt;(Note: As of now planning to write UART based bootloader as&amp;nbsp;current code size: 278kB will not fit in&lt;BR /&gt;247 kB partition decided in appnote section&amp;nbsp;An12323 section&amp;nbsp;6.1.1)&amp;nbsp;&lt;BR /&gt;below image attached from&amp;nbsp;AN12323 page 12.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Ankit_Rana_0-1710753257295.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/268925iEF18CDF3B09AD8D1/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Ankit_Rana_0-1710753257295.png" alt="Ankit_Rana_0-1710753257295.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Thanks,&lt;BR /&gt;Ankit Rana&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 18 Mar 2024 09:13:52 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCU-Bootloader/UART-based-S32K144-MCU-boot-loader/m-p/1830140#M1450</guid>
      <dc:creator>Ankit_Rana</dc:creator>
      <dc:date>2024-03-18T09:13:52Z</dc:date>
    </item>
    <item>
      <title>Re: UART based S32K144 MCU boot loader</title>
      <link>https://community.nxp.com/t5/MCU-Bootloader/UART-based-S32K144-MCU-boot-loader/m-p/1833876#M1452</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/227492"&gt;@Ankit_Rana&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;Unfortunately, there is no easy way to migrate from S32K148 to S32K144, the procedure is to create a new project, copy the code and drivers from one project into the new one. Also, since this is software based on an old version of S32DS, there are no Config Tools support.&lt;/P&gt;
&lt;P&gt;You can instead take a look into this community post for guidance:&amp;nbsp;&lt;A href="https://community.nxp.com/t5/S32K/S32K144-Bootloader-Example/m-p/1011855" target="_blank" rel="noopener"&gt;S32K144 Bootloader Example - NXP Community&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;As for the second question, n&lt;SPAN&gt;ew firmware packets gathering in APP code itself should be fine. As long as there was not a reset, you can update the active region.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Julin_AragnM_0-1711126857171.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/270004iCCF8CBEC3E98A61E/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Julin_AragnM_0-1711126857171.png" alt="Julin_AragnM_0-1711126857171.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Just take into consideration&amp;nbsp;&lt;/SPAN&gt;S32K144 has one read partition on program flash, so it is not possible to update the application while the old application is still running.&lt;/P&gt;
&lt;P&gt;For example, S32K146 has more read partitions on program flash, so old application can run during the update.&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Best regards,&lt;BR /&gt;Julián&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 22 Mar 2024 17:03:12 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCU-Bootloader/UART-based-S32K144-MCU-boot-loader/m-p/1833876#M1452</guid>
      <dc:creator>Julián_AragónM</dc:creator>
      <dc:date>2024-03-22T17:03:12Z</dc:date>
    </item>
    <item>
      <title>Re: UART based S32K144 MCU boot loader</title>
      <link>https://community.nxp.com/t5/MCU-Bootloader/UART-based-S32K144-MCU-boot-loader/m-p/1835245#M1453</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/200831"&gt;@Julián_AragónM&lt;/a&gt;,&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;Just for confirmation can you please elaborate on below statement.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;SPAN&gt;Just take into consideration&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;S32K144 has one read partition on program flash, so it is not possible to update the application while the old application is still running.&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;STRONG&gt;Understanding: if new firmware(firmware_2) packets(1kb chunks) are receiving in running application code over UART(firmware_1), then while receiving new firmware packets it is not possible to perform WRITE/flashing operation to store new firmware packets at (firmware_2) location.&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;please let me know if my understanding is correct or not.&amp;nbsp;&lt;BR /&gt;Thanks.&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Ankit_Rana_0-1710753257295.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/270395i3070EA5155E3E345/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Ankit_Rana_0-1710753257295.png" alt="Ankit_Rana_0-1710753257295.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;STRONG&gt; &lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 26 Mar 2024 08:15:14 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCU-Bootloader/UART-based-S32K144-MCU-boot-loader/m-p/1835245#M1453</guid>
      <dc:creator>Ankit_Rana</dc:creator>
      <dc:date>2024-03-26T08:15:14Z</dc:date>
    </item>
    <item>
      <title>Re: UART based S32K144 MCU boot loader</title>
      <link>https://community.nxp.com/t5/MCU-Bootloader/UART-based-S32K144-MCU-boot-loader/m-p/1835699#M1454</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/227492"&gt;@Ankit_Rana&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;Yes, your understanding is correct.&lt;/P&gt;
&lt;P&gt;Best regards,&lt;BR /&gt;Julián&lt;/P&gt;</description>
      <pubDate>Tue, 26 Mar 2024 20:14:13 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCU-Bootloader/UART-based-S32K144-MCU-boot-loader/m-p/1835699#M1454</guid>
      <dc:creator>Julián_AragónM</dc:creator>
      <dc:date>2024-03-26T20:14:13Z</dc:date>
    </item>
    <item>
      <title>Re: UART based S32K144 MCU boot loader</title>
      <link>https://community.nxp.com/t5/MCU-Bootloader/UART-based-S32K144-MCU-boot-loader/m-p/1835955#M1455</link>
      <description>&lt;P&gt;Thanks&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/200831"&gt;@Julián_AragónM&lt;/a&gt;&amp;nbsp;&lt;BR /&gt;for quick response.&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;I'm planning to receive new firmware packets in boot loader code.&amp;nbsp;&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;I want to place boot loader in flex memory, can you show me/guide me if there is any example code for flash partition.&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;&lt;/LI&gt;&lt;LI&gt;Also please let me know which drivers can be used for erasing/writing to MCU flash.&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;I'm new to NXP MCU and bootloader development. any guidance/help appreciated.&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;Thanks,&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 27 Mar 2024 05:07:07 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCU-Bootloader/UART-based-S32K144-MCU-boot-loader/m-p/1835955#M1455</guid>
      <dc:creator>Ankit_Rana</dc:creator>
      <dc:date>2024-03-27T05:07:07Z</dc:date>
    </item>
    <item>
      <title>Re: UART based S32K144 MCU boot loader</title>
      <link>https://community.nxp.com/t5/MCU-Bootloader/UART-based-S32K144-MCU-boot-loader/m-p/1836720#M1456</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/227492"&gt;@Ankit_Rana&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;There is no specific example for a bootloader inside the FlexMemory, but you can look into&amp;nbsp;&lt;A href="https://www.nxp.com/docs/en/application-note/AN12003.pdf" target="_blank"&gt;AN12003: Using S32K148 FlexNVM Memory&lt;/A&gt;&amp;nbsp;for the use cases. Also,&amp;nbsp;&lt;A href="https://www.nxp.com/docs/en/application-note/AN11983.pdf" target="_blank"&gt;AN11983: Using the S32K1xx EEPROM Functionality&lt;/A&gt;&amp;nbsp;may prove useful as well.&lt;/P&gt;
&lt;P&gt;There is a&lt;SPAN&gt;n example "&lt;/SPAN&gt;&lt;STRONG&gt;flash_partitioning_s32k1xx&lt;/STRONG&gt;&lt;SPAN&gt;" in S32DS. The purpose of this demo application is to show you the usage of the Flash Driver with the S32 SDK API.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Julin_AragnM_0-1711569886179.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/270827i370D5A3A256F79F7/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Julin_AragnM_0-1711569886179.png" alt="Julin_AragnM_0-1711569886179.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;Best regards,&lt;BR /&gt;Julián&lt;/P&gt;</description>
      <pubDate>Wed, 27 Mar 2024 20:04:58 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCU-Bootloader/UART-based-S32K144-MCU-boot-loader/m-p/1836720#M1456</guid>
      <dc:creator>Julián_AragónM</dc:creator>
      <dc:date>2024-03-27T20:04:58Z</dc:date>
    </item>
  </channel>
</rss>

