<?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のトピックHSE Firmware install in S32k322 microcontroller .</title>
    <link>https://community.nxp.com/t5/S32K/HSE-Firmware-install-in-S32k322-microcontroller/m-p/2415877#M61178</link>
    <description>&lt;P&gt;Hi NXP Support Team,&lt;/P&gt;&lt;P&gt;I am working on a security implementation on the &lt;STRONG&gt;S32K322&lt;/STRONG&gt; microcontroller and need to utilize the HSE (Hardware Security Engine) module for AES security operations and random number generation (TRNG).&lt;/P&gt;&lt;P&gt;Could you please provide:&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;&lt;P&gt;An official HSE firmware installation example project configured specifically for the &lt;STRONG&gt;S32K322&lt;/STRONG&gt; (2 MB Flash).&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;The standard Linker Script (.ld), IVT offset, and memory boundary settings required for S32K322 HSE firmware setup.&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;Confirmation on the exact HSE-B firmware binary package version compatible with the S32K322 derivative.&lt;/P&gt;&lt;/LI&gt;&lt;/OL&gt;</description>
    <pubDate>Thu, 24 Sep 2026 04:32:18 GMT</pubDate>
    <dc:creator>Ranjith_kumar</dc:creator>
    <dc:date>2026-09-24T04:32:18Z</dc:date>
    <item>
      <title>HSE Firmware install in S32k322 microcontroller .</title>
      <link>https://community.nxp.com/t5/S32K/HSE-Firmware-install-in-S32k322-microcontroller/m-p/2415877#M61178</link>
      <description>&lt;P&gt;Hi NXP Support Team,&lt;/P&gt;&lt;P&gt;I am working on a security implementation on the &lt;STRONG&gt;S32K322&lt;/STRONG&gt; microcontroller and need to utilize the HSE (Hardware Security Engine) module for AES security operations and random number generation (TRNG).&lt;/P&gt;&lt;P&gt;Could you please provide:&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;&lt;P&gt;An official HSE firmware installation example project configured specifically for the &lt;STRONG&gt;S32K322&lt;/STRONG&gt; (2 MB Flash).&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;The standard Linker Script (.ld), IVT offset, and memory boundary settings required for S32K322 HSE firmware setup.&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;Confirmation on the exact HSE-B firmware binary package version compatible with the S32K322 derivative.&lt;/P&gt;&lt;/LI&gt;&lt;/OL&gt;</description>
      <pubDate>Thu, 24 Sep 2026 04:32:18 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/HSE-Firmware-install-in-S32k322-microcontroller/m-p/2415877#M61178</guid>
      <dc:creator>Ranjith_kumar</dc:creator>
      <dc:date>2026-09-24T04:32:18Z</dc:date>
    </item>
    <item>
      <title>Re: HSE Firmware install in S32k322 microcontroller .</title>
      <link>https://community.nxp.com/t5/S32K/HSE-Firmware-install-in-S32k322-microcontroller/m-p/2416136#M61185</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/236684"&gt;@Ranjith_kumar&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;We provide HSE DemoExamples:&lt;/P&gt;
&lt;P&gt;&lt;A href="https://www.nxp.com/webapp/Download?colCode=S32K3_HSE_DemoExamples" target="_blank"&gt;https://www.nxp.com/webapp/Download?colCode=S32K3_HSE_DemoExamples&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;It contains project S32K344_HSE_FW_INSTALL which can be quite easily ported to other S32K3 derivatives.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;But you can use any project to install HSE firmware. It’s just necessary to do following steps:&lt;/P&gt;
&lt;P&gt;- program HSE feature flag in OTP UTEST memory at 0x1B00_0000. This can be done either “manually” by normal flash programming (this is shown in mentioned S32K344_HSE_FW_INSTALL) or this can be done automatically by SBAF if you set FW_USAGE_FLAG_PROGRAM bit in boot configuration word. Notice that this automatic programming feature is available only on SBAF version 0.15.0 and higher. If you have some very old device, it may not work and manual programming will be required.&lt;/P&gt;
&lt;P&gt;- program pink file somewhere to flash memory and add pointer to the pink file to IVT at offset 0x2C. &amp;nbsp;&lt;/P&gt;
&lt;P&gt;Then just reset the MCU (2x in case of FULL_MEM firmware, 3x in case of AB_SWAP firmware) and that’s it.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;At low level, it looks like this:&lt;/P&gt;
&lt;P&gt;This is IVT of some application (several locations can be used, data flash is used in this case) which has FW_USAGE_FLAG_PROGRAM set and which contains pointer to FW image:&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="lukaszadrapa_1-1790254703462.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/396844i8F27494EDD7C9E63/image-size/medium?v=v2&amp;amp;px=400" role="button" title="lukaszadrapa_1-1790254703462.png" alt="lukaszadrapa_1-1790254703462.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The pink file is programmed to 0x480000:&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="lukaszadrapa_2-1790254714965.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/396845i2EB4308D36800E77/image-size/medium?v=v2&amp;amp;px=400" role="button" title="lukaszadrapa_2-1790254714965.png" alt="lukaszadrapa_2-1790254714965.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;After the resets, the feature flag is automatically programmed in the UTEST and HSE firmware is installed (bit 0 in HSE GPR register at 0x4039_C028 is set):&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="lukaszadrapa_3-1790254752856.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/396846iF7837397F67211DC/image-size/medium?v=v2&amp;amp;px=400" role="button" title="lukaszadrapa_3-1790254752856.png" alt="lukaszadrapa_3-1790254752856.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;In the S32K344_HSE_FW_INSTALL, the feature flag is programmed by the software – see main.c file.&lt;/P&gt;
&lt;P&gt;The pointer is added to IVT in file boot_header.c.&lt;/P&gt;
&lt;P&gt;And pink file is linked to the project in S32K344_flash_full_mem.ld or in S32K344_flash_ab_swap.ld, depending on required configuration.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;For details, see following resources in HSE-B firmware reference manual rev. 2.8:&lt;/P&gt;
&lt;P&gt;Table 17. BCW content&lt;/P&gt;
&lt;P&gt;Table 119. BCW bit mapping&lt;/P&gt;
&lt;P&gt;Table 118. IVT structure&lt;/P&gt;
&lt;P&gt;Table 143. Status Bits on HSE_CONFIG_GPR3 (0x4039C028)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;How to implement it in your project if you have standard RTD project:&lt;/P&gt;
&lt;P&gt;- open startup_cm7.s file and add pointer to pink file at offset 0x2C:&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="lukaszadrapa_4-1790254832253.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/396847iEF62859842252AF5/image-size/medium?v=v2&amp;amp;px=400" role="button" title="lukaszadrapa_4-1790254832253.png" alt="lukaszadrapa_4-1790254832253.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;- set bit 9 in Boot Configuration Word which is also in IVT at offset 0x4:&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="lukaszadrapa_5-1790254850401.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/396848iF86F40ED1E89C164/image-size/medium?v=v2&amp;amp;px=400" role="button" title="lukaszadrapa_5-1790254850401.png" alt="lukaszadrapa_5-1790254850401.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;- and then go to the linker file (like “linker_flash_s32k322.ld”) and link the pink file in the same way as you can see in project S32K344_HSE_FW_INSTALL.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="lukaszadrapa_6-1790254941316.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/396849i91B2D833391D314E/image-size/medium?v=v2&amp;amp;px=400" role="button" title="lukaszadrapa_6-1790254941316.png" alt="lukaszadrapa_6-1790254941316.png" /&gt;&lt;/span&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="lukaszadrapa_7-1790254948399.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/396850i75EBD42F51229EBA/image-size/medium?v=v2&amp;amp;px=400" role="button" title="lukaszadrapa_7-1790254948399.png" alt="lukaszadrapa_7-1790254948399.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;That’s all, just build the project, load it to MCU and reset the device several times.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;How to get latest production version of HSE firmware for S32K322:&lt;/P&gt;
&lt;P&gt;Go to S32K3 Standard Software:&lt;/P&gt;
&lt;P&gt;&lt;A href="https://www.nxp.com/webapp/swlicensing/sso/downloadSoftware.sp?catid=SW32K3-STDSW-D" target="_blank"&gt;https://www.nxp.com/webapp/swlicensing/sso/downloadSoftware.sp?catid=SW32K3-STDSW-D&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Select “Automotive SW - S32K3 - HSE Firmware”&lt;/P&gt;
&lt;P&gt;Here search for 0.2.55.0 for S32K3x2 and S32K3x4:&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="lukaszadrapa_8-1790255036426.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/396851i3FF86F15238EACCC/image-size/medium?v=v2&amp;amp;px=400" role="button" title="lukaszadrapa_8-1790255036426.png" alt="lukaszadrapa_8-1790255036426.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;Download HSE_FW_S32K342_0.2.55.0_D2512.exe – this one covers also S32K322.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;And the last thing - if you use Trace32 from Lauterbach, you can use attached script to install the firmware. It uses default location method.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Regards,&lt;/P&gt;
&lt;P&gt;Lukas&lt;/P&gt;</description>
      <pubDate>Thu, 24 Sep 2026 13:05:03 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/HSE-Firmware-install-in-S32k322-microcontroller/m-p/2416136#M61185</guid>
      <dc:creator>lukaszadrapa</dc:creator>
      <dc:date>2026-09-24T13:05:03Z</dc:date>
    </item>
  </channel>
</rss>

