<?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: Basic Secure Boot HSE S32K344 ADKP in S32K</title>
    <link>https://community.nxp.com/t5/S32K/Basic-Secure-Boot-HSE-S32K344-ADKP/m-p/2177037#M53123</link>
    <description>&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;I have&amp;nbsp;S32K3_HSE_DemoExamples_1_0_0, S32K344 device&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;The ADKP is programmed successfully (check_debug_password_programmed_status()&amp;nbsp;returns TRUE).&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;However, the function&amp;nbsp;HSE_SignBootImage()&amp;nbsp;continues to fail&amp;nbsp;immediately upon invocation, returning the error code&amp;nbsp;0x55a5aa33&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;In the main of Basic Secure Boot it does not pass the assert&lt;BR /&gt;/* Verify that the generated TAG is valid for the APPBL */&lt;BR /&gt;#if VERIFY_TAG&lt;BR /&gt;srvResponse = HSE_VerifyBootImage(pAppBL);&lt;BR /&gt;ASSERT(HSE_SRV_RSP_OK == srvResponse);&lt;BR /&gt;#endif&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;I generate&amp;nbsp;S32K344_SecureBootBlinky.bin, I put it in&amp;nbsp;C:\NXP while the SecureBootBlinky and the Basic_SecureBoot are in&amp;nbsp;C:\NXP\S32K3_HSE_DemoExamples_1_0_0\S32K3_HSE_DemoExamples\Secure_Boot&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;I noticed in the linker file of Basic Secure Boot "S32K344_flash.ld" there is not&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&lt;STRONG&gt;_adkp_key&amp;nbsp;:&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;STRONG&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; {&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; . = ALIGN(4);&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; KEEP(*(_adkp_key))&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; . = ALIGN(4);&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; } &amp;gt; PFLASH&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Do I have to modify that file?&lt;/STRONG&gt; i attach it to you&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;/*****************************************************************************&lt;BR /&gt;*&lt;BR /&gt;* Copyright 2020-2022 NXP&lt;BR /&gt;* All Rights Reserved&lt;BR /&gt;*&lt;BR /&gt;*****************************************************************************&lt;BR /&gt;*&lt;BR /&gt;* THIS SOFTWARE IS PROVIDED BY NXP "AS IS" AND ANY EXPRESSED OR&lt;BR /&gt;* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES&lt;BR /&gt;* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.&lt;BR /&gt;* IN NO EVENT SHALL NXP OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,&lt;BR /&gt;* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES&lt;BR /&gt;* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR&lt;BR /&gt;* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)&lt;BR /&gt;* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,&lt;BR /&gt;* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING&lt;BR /&gt;* IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF&lt;BR /&gt;* THE POSSIBILITY OF SUCH DAMAGE.&lt;BR /&gt;*&lt;BR /&gt;****************************************************************************/&lt;/P&gt;&lt;P&gt;__STACK_SIZE = 0x00001000;&lt;BR /&gt;__HEAP_SIZE = 0x00001000;&lt;/P&gt;&lt;P&gt;/* Linker script to configure memory regions. aggiungi PFLASH_SECURE se vuoi una regione dove mettere chiavi critiche*/&lt;BR /&gt;MEMORY&lt;BR /&gt;{&lt;BR /&gt;ITCM (RWX) : ORIGIN = 0x00000000, LENGTH = 0x10000&lt;BR /&gt;PFLASH (RX) : ORIGIN = 0x400000, LENGTH = 0x3f4000&lt;BR /&gt;DFLASH (RX) : ORIGIN = 0x10000000, LENGTH = 0x20000&lt;BR /&gt;DTCM (RW) : ORIGIN = 0x20000000, LENGTH = 0x20000&lt;BR /&gt;SRAM0_STDBY (RW) : ORIGIN = 0x20400000, LENGTH = 0x8000&lt;BR /&gt;SRAM (RW) : ORIGIN = 0x20408000, LENGTH = 0x48000&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;/* Linker script to place sections and symbol values. Should be used together&lt;BR /&gt;* with other linker script that defines memory regions FLASH and RAM.&lt;BR /&gt;* It references following symbols, which must be defined in code:&lt;BR /&gt;* Reset_Handler : Entry of reset handler&lt;BR /&gt;*&lt;BR /&gt;* It defines following symbols, which code can use without definition:&lt;BR /&gt;* __exidx_start&lt;BR /&gt;* __exidx_end&lt;BR /&gt;* __ecc_table_start__&lt;BR /&gt;* __ecc_table_end__&lt;BR /&gt;* __etext&lt;BR /&gt;* __data_start__&lt;BR /&gt;* __preinit_array_start&lt;BR /&gt;* __preinit_array_end&lt;BR /&gt;* __init_array_start&lt;BR /&gt;* __init_array_end&lt;BR /&gt;* __fini_array_start&lt;BR /&gt;* __fini_array_end&lt;BR /&gt;* __data_end__&lt;BR /&gt;* __bss_start__&lt;BR /&gt;* __bss_end__&lt;BR /&gt;* __end__&lt;BR /&gt;* end&lt;BR /&gt;* __HeapLimit&lt;BR /&gt;* __StackLimit&lt;BR /&gt;* __StackTop&lt;BR /&gt;* __stack&lt;BR /&gt;*/&lt;BR /&gt;ENTRY(Reset_Handler)&lt;/P&gt;&lt;P&gt;SECTIONS&lt;BR /&gt;{&lt;BR /&gt;.text :&lt;BR /&gt;{&lt;BR /&gt;KEEP(*(.vectors))&lt;BR /&gt;*(.text*)&lt;/P&gt;&lt;P&gt;KEEP(*(.init))&lt;BR /&gt;KEEP(*(.fini))&lt;/P&gt;&lt;P&gt;/* .ctors */&lt;BR /&gt;*crtbegin.o(.ctors)&lt;BR /&gt;*crtbegin?.o(.ctors)&lt;BR /&gt;*(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors)&lt;BR /&gt;*(SORT(.ctors.*))&lt;BR /&gt;*(.ctors)&lt;/P&gt;&lt;P&gt;/* .dtors */&lt;BR /&gt;*crtbegin.o(.dtors)&lt;BR /&gt;*crtbegin?.o(.dtors)&lt;BR /&gt;*(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors)&lt;BR /&gt;*(SORT(.dtors.*))&lt;BR /&gt;*(.dtors)&lt;/P&gt;&lt;P&gt;*(.rodata*)&lt;BR /&gt;KEEP(*(.eh_frame*))&lt;BR /&gt;} &amp;gt; PFLASH&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;.ARM.extab :&lt;BR /&gt;{&lt;BR /&gt;*(.ARM.extab* .gnu.linkonce.armextab.*)&lt;BR /&gt;} &amp;gt; PFLASH&lt;/P&gt;&lt;P&gt;__exidx_start = .;&lt;BR /&gt;.ARM.exidx :&lt;BR /&gt;{&lt;BR /&gt;*(.ARM.exidx* .gnu.linkonce.armexidx.*)&lt;BR /&gt;} &amp;gt; PFLASH&lt;BR /&gt;__exidx_end = .;&lt;/P&gt;&lt;P&gt;.ecc.table :&lt;BR /&gt;{&lt;BR /&gt;. = ALIGN(4);&lt;BR /&gt;__ecc_table_start__ = .;&lt;/P&gt;&lt;P&gt;QUAD (__data_start__)&lt;BR /&gt;QUAD ((__data_end__ - __data_start__) / &lt;LI-EMOJI id="lia_smiling-face-with-sunglasses" title=":smiling_face_with_sunglasses:"&gt;&lt;/LI-EMOJI&gt;&lt;/P&gt;&lt;P&gt;QUAD (__bss_start__)&lt;BR /&gt;QUAD ((__bss_end__ - __bss_start__) / &lt;LI-EMOJI id="lia_smiling-face-with-sunglasses" title=":smiling_face_with_sunglasses:"&gt;&lt;/LI-EMOJI&gt;&lt;/P&gt;&lt;P&gt;QUAD (__HeapTop)&lt;BR /&gt;QUAD ((__HeapLimit - __HeapTop) / &lt;LI-EMOJI id="lia_smiling-face-with-sunglasses" title=":smiling_face_with_sunglasses:"&gt;&lt;/LI-EMOJI&gt;&lt;/P&gt;&lt;P&gt;QUAD (__StackLimit)&lt;BR /&gt;QUAD ((__StackTop - __StackLimit) / &lt;LI-EMOJI id="lia_smiling-face-with-sunglasses" title=":smiling_face_with_sunglasses:"&gt;&lt;/LI-EMOJI&gt;&lt;/P&gt;&lt;P&gt;QUAD (ORIGIN(ITCM))&lt;BR /&gt;QUAD (LENGTH(ITCM) / &lt;LI-EMOJI id="lia_smiling-face-with-sunglasses" title=":smiling_face_with_sunglasses:"&gt;&lt;/LI-EMOJI&gt;&lt;/P&gt;&lt;P&gt;QUAD (ORIGIN(DTCM))&lt;BR /&gt;QUAD (LENGTH(DTCM) / &lt;LI-EMOJI id="lia_smiling-face-with-sunglasses" title=":smiling_face_with_sunglasses:"&gt;&lt;/LI-EMOJI&gt;&lt;/P&gt;&lt;P&gt;__ecc_table_end__ = .;&lt;BR /&gt;} &amp;gt; PFLASH&lt;/P&gt;&lt;P&gt;.copy.table :&lt;BR /&gt;{&lt;BR /&gt;. = ALIGN(4);&lt;BR /&gt;__copy_table_start__ = .;&lt;/P&gt;&lt;P&gt;LONG (__etext)&lt;BR /&gt;LONG (__data_start__)&lt;BR /&gt;LONG ((__data_end__ - __data_start__) / 4)&lt;/P&gt;&lt;P&gt;/* Add each additional data section here */&lt;BR /&gt;/*&lt;BR /&gt;LONG (__etext2)&lt;BR /&gt;LONG (__data2_start__)&lt;BR /&gt;LONG ((__data2_end__ - __data2_start__) / 4)&lt;BR /&gt;*/&lt;BR /&gt;__copy_table_end__ = .;&lt;BR /&gt;} &amp;gt; PFLASH&lt;/P&gt;&lt;P&gt;.zero.table :&lt;BR /&gt;{&lt;BR /&gt;. = ALIGN(4);&lt;BR /&gt;__zero_table_start__ = .;&lt;BR /&gt;/* Add each additional bss section here */&lt;BR /&gt;/*&lt;BR /&gt;LONG (__bss2_start__)&lt;BR /&gt;LONG ((__bss2_end__ - __bss2_start__) / 4)&lt;BR /&gt;*/&lt;BR /&gt;__zero_table_end__ = .;&lt;BR /&gt;} &amp;gt; PFLASH&lt;/P&gt;&lt;P&gt;__etext = ALIGN(8);&lt;/P&gt;&lt;P&gt;.boot_header :&lt;BR /&gt;{&lt;BR /&gt;KEEP(*(.boot_header))&lt;BR /&gt;} &amp;gt; DFLASH&lt;/P&gt;&lt;P&gt;.standby_ram :&lt;BR /&gt;{&lt;BR /&gt;*(.standby_ram)&lt;BR /&gt;} &amp;gt; SRAM0_STDBY&lt;/P&gt;&lt;P&gt;/* Due ECC initialization sequence __data_start__ and __data_end__ should be aligned on 8 bytes */&lt;BR /&gt;.data : AT (__etext)&lt;BR /&gt;{&lt;BR /&gt;. = ALIGN(8);&lt;BR /&gt;__data_start__ = .;&lt;BR /&gt;*(vtable)&lt;BR /&gt;*(.data)&lt;BR /&gt;*(.data.*)&lt;/P&gt;&lt;P&gt;. = ALIGN(4);&lt;BR /&gt;/* preinit data */&lt;BR /&gt;PROVIDE_HIDDEN (__preinit_array_start = .);&lt;BR /&gt;KEEP(*(.preinit_array))&lt;BR /&gt;PROVIDE_HIDDEN (__preinit_array_end = .);&lt;/P&gt;&lt;P&gt;. = ALIGN(4);&lt;BR /&gt;/* init data */&lt;BR /&gt;PROVIDE_HIDDEN (__init_array_start = .);&lt;BR /&gt;KEEP(*(SORT(.init_array.*)))&lt;BR /&gt;KEEP(*(.init_array))&lt;BR /&gt;PROVIDE_HIDDEN (__init_array_end = .);&lt;/P&gt;&lt;P&gt;. = ALIGN(4);&lt;BR /&gt;/* finit data */&lt;BR /&gt;PROVIDE_HIDDEN (__fini_array_start = .);&lt;BR /&gt;KEEP(*(SORT(.fini_array.*)))&lt;BR /&gt;KEEP(*(.fini_array))&lt;BR /&gt;PROVIDE_HIDDEN (__fini_array_end = .);&lt;/P&gt;&lt;P&gt;KEEP(*(.jcr*))&lt;BR /&gt;. = ALIGN(8);&lt;BR /&gt;/* All data end */&lt;BR /&gt;__data_end__ = .;&lt;/P&gt;&lt;P&gt;} &amp;gt; SRAM&lt;/P&gt;&lt;P&gt;/* Due ECC initialization sequence __bss_start__ and __bss_end__ should be aligned on 8 bytes */&lt;BR /&gt;.bss :&lt;BR /&gt;{&lt;BR /&gt;. = ALIGN(8);&lt;BR /&gt;__bss_start__ = .;&lt;BR /&gt;*(.bss)&lt;BR /&gt;*(.bss.*)&lt;BR /&gt;*(COMMON)&lt;BR /&gt;. = ALIGN(8);&lt;BR /&gt;__bss_end__ = .;&lt;BR /&gt;} &amp;gt; SRAM&lt;/P&gt;&lt;P&gt;/* Due ECC initialization sequence __HeapTop and __HeapLimit should be aligned on 8 bytes */&lt;BR /&gt;.heap (COPY):&lt;BR /&gt;{&lt;BR /&gt;. = ALIGN(8);&lt;BR /&gt;__HeapTop = .;&lt;BR /&gt;__end__ = .;&lt;BR /&gt;_end = .;&lt;BR /&gt;PROVIDE(end = .);&lt;BR /&gt;. = . + __HEAP_SIZE;&lt;BR /&gt;. = ALIGN(8);&lt;BR /&gt;__HeapLimit = .;&lt;BR /&gt;} &amp;gt; SRAM&lt;/P&gt;&lt;P&gt;/* Due ECC initialization sequence __StackLimit and __StackTop should be aligned on 8 bytes */&lt;BR /&gt;.stack (ORIGIN(SRAM) + LENGTH(SRAM) - __STACK_SIZE) (COPY) :&lt;BR /&gt;{&lt;BR /&gt;. = ALIGN(8);&lt;BR /&gt;__StackLimit = .;&lt;BR /&gt;. = . + __STACK_SIZE;&lt;BR /&gt;. = ALIGN(8);&lt;BR /&gt;__StackTop = .;&lt;BR /&gt;} &amp;gt; SRAM&lt;BR /&gt;PROVIDE(__stack = __StackTop);&lt;/P&gt;&lt;P&gt;/* Check if data + heap + stack exceeds RAM limit */&lt;BR /&gt;ASSERT(__StackLimit &amp;gt;= __HeapLimit, "region RAM overflowed with stack")&lt;BR /&gt;CM7_START_ADDRESS = ORIGIN(PFLASH);&lt;BR /&gt;__STDBYRAM_START = ORIGIN(SRAM0_STDBY);&lt;BR /&gt;__STDBYRAM_SIZE = LENGTH(SRAM0_STDBY);&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&lt;LI-PRODUCT title="S32K344-WB" id="S32K344-WB"&gt;&lt;/LI-PRODUCT&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
    <pubDate>Sun, 28 Sep 2025 13:44:03 GMT</pubDate>
    <dc:creator>silvia_zandoli2</dc:creator>
    <dc:date>2025-09-28T13:44:03Z</dc:date>
    <item>
      <title>Basic Secure Boot HSE S32K344 ADKP</title>
      <link>https://community.nxp.com/t5/S32K/Basic-Secure-Boot-HSE-S32K344-ADKP/m-p/2174389#M52963</link>
      <description>&lt;P&gt;Hello everyone,&lt;/P&gt;&lt;P&gt;I wanted to ask how to program ADKP in Base Secure Boot&lt;/P&gt;&lt;P&gt;&lt;LI-PRODUCT title="S32K344-WB" id="S32K344-WB"&gt;&lt;/LI-PRODUCT&gt;&amp;nbsp;#HSE#BaseSecureBoot&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;</description>
      <pubDate>Tue, 23 Sep 2025 14:36:06 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/Basic-Secure-Boot-HSE-S32K344-ADKP/m-p/2174389#M52963</guid>
      <dc:creator>silvia_zandoli2</dc:creator>
      <dc:date>2025-09-23T14:36:06Z</dc:date>
    </item>
    <item>
      <title>Re: Basic Secure Boot HSE S32K344 ADKP</title>
      <link>https://community.nxp.com/t5/S32K/Basic-Secure-Boot-HSE-S32K344-ADKP/m-p/2174494#M52967</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/248858"&gt;@silvia_zandoli2&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Refer to the following thread, which contains information related to this topic and may be helpful for you.&lt;/P&gt;
&lt;P&gt;&lt;A href="https://community.nxp.com/t5/S32K/S32K3-Restrict-the-debug-access-with-a-password-when-HSE-is-used/m-p/1756696" target="_blank" rel="noopener"&gt;[S32K3] Restrict the debug access with a password when HSE is used&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Additionally, I recommend reviewing the implementation of the functions ProgramADKPService(), Advance_LifeCycle_Service(), and attributeProgrammingService() provided in the &lt;A href="https://www.nxp.com/webapp/Download?colCode=S32K3_HSE_DemoExamples" target="_blank" rel="noopener"&gt;S32K3 MCUs for General Purpose HSE Demo Examples&lt;/A&gt; and/or the HSE_DEMOAPP.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;BR, VaneB&lt;/P&gt;</description>
      <pubDate>Tue, 23 Sep 2025 18:17:37 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/Basic-Secure-Boot-HSE-S32K344-ADKP/m-p/2174494#M52967</guid>
      <dc:creator>VaneB</dc:creator>
      <dc:date>2025-09-23T18:17:37Z</dc:date>
    </item>
    <item>
      <title>Re: Basic Secure Boot HSE S32K344 ADKP</title>
      <link>https://community.nxp.com/t5/S32K/Basic-Secure-Boot-HSE-S32K344-ADKP/m-p/2177037#M53123</link>
      <description>&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;I have&amp;nbsp;S32K3_HSE_DemoExamples_1_0_0, S32K344 device&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;The ADKP is programmed successfully (check_debug_password_programmed_status()&amp;nbsp;returns TRUE).&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;However, the function&amp;nbsp;HSE_SignBootImage()&amp;nbsp;continues to fail&amp;nbsp;immediately upon invocation, returning the error code&amp;nbsp;0x55a5aa33&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;In the main of Basic Secure Boot it does not pass the assert&lt;BR /&gt;/* Verify that the generated TAG is valid for the APPBL */&lt;BR /&gt;#if VERIFY_TAG&lt;BR /&gt;srvResponse = HSE_VerifyBootImage(pAppBL);&lt;BR /&gt;ASSERT(HSE_SRV_RSP_OK == srvResponse);&lt;BR /&gt;#endif&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;I generate&amp;nbsp;S32K344_SecureBootBlinky.bin, I put it in&amp;nbsp;C:\NXP while the SecureBootBlinky and the Basic_SecureBoot are in&amp;nbsp;C:\NXP\S32K3_HSE_DemoExamples_1_0_0\S32K3_HSE_DemoExamples\Secure_Boot&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;I noticed in the linker file of Basic Secure Boot "S32K344_flash.ld" there is not&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&lt;STRONG&gt;_adkp_key&amp;nbsp;:&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;STRONG&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; {&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; . = ALIGN(4);&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; KEEP(*(_adkp_key))&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; . = ALIGN(4);&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; } &amp;gt; PFLASH&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Do I have to modify that file?&lt;/STRONG&gt; i attach it to you&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;/*****************************************************************************&lt;BR /&gt;*&lt;BR /&gt;* Copyright 2020-2022 NXP&lt;BR /&gt;* All Rights Reserved&lt;BR /&gt;*&lt;BR /&gt;*****************************************************************************&lt;BR /&gt;*&lt;BR /&gt;* THIS SOFTWARE IS PROVIDED BY NXP "AS IS" AND ANY EXPRESSED OR&lt;BR /&gt;* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES&lt;BR /&gt;* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.&lt;BR /&gt;* IN NO EVENT SHALL NXP OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,&lt;BR /&gt;* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES&lt;BR /&gt;* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR&lt;BR /&gt;* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)&lt;BR /&gt;* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,&lt;BR /&gt;* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING&lt;BR /&gt;* IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF&lt;BR /&gt;* THE POSSIBILITY OF SUCH DAMAGE.&lt;BR /&gt;*&lt;BR /&gt;****************************************************************************/&lt;/P&gt;&lt;P&gt;__STACK_SIZE = 0x00001000;&lt;BR /&gt;__HEAP_SIZE = 0x00001000;&lt;/P&gt;&lt;P&gt;/* Linker script to configure memory regions. aggiungi PFLASH_SECURE se vuoi una regione dove mettere chiavi critiche*/&lt;BR /&gt;MEMORY&lt;BR /&gt;{&lt;BR /&gt;ITCM (RWX) : ORIGIN = 0x00000000, LENGTH = 0x10000&lt;BR /&gt;PFLASH (RX) : ORIGIN = 0x400000, LENGTH = 0x3f4000&lt;BR /&gt;DFLASH (RX) : ORIGIN = 0x10000000, LENGTH = 0x20000&lt;BR /&gt;DTCM (RW) : ORIGIN = 0x20000000, LENGTH = 0x20000&lt;BR /&gt;SRAM0_STDBY (RW) : ORIGIN = 0x20400000, LENGTH = 0x8000&lt;BR /&gt;SRAM (RW) : ORIGIN = 0x20408000, LENGTH = 0x48000&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;/* Linker script to place sections and symbol values. Should be used together&lt;BR /&gt;* with other linker script that defines memory regions FLASH and RAM.&lt;BR /&gt;* It references following symbols, which must be defined in code:&lt;BR /&gt;* Reset_Handler : Entry of reset handler&lt;BR /&gt;*&lt;BR /&gt;* It defines following symbols, which code can use without definition:&lt;BR /&gt;* __exidx_start&lt;BR /&gt;* __exidx_end&lt;BR /&gt;* __ecc_table_start__&lt;BR /&gt;* __ecc_table_end__&lt;BR /&gt;* __etext&lt;BR /&gt;* __data_start__&lt;BR /&gt;* __preinit_array_start&lt;BR /&gt;* __preinit_array_end&lt;BR /&gt;* __init_array_start&lt;BR /&gt;* __init_array_end&lt;BR /&gt;* __fini_array_start&lt;BR /&gt;* __fini_array_end&lt;BR /&gt;* __data_end__&lt;BR /&gt;* __bss_start__&lt;BR /&gt;* __bss_end__&lt;BR /&gt;* __end__&lt;BR /&gt;* end&lt;BR /&gt;* __HeapLimit&lt;BR /&gt;* __StackLimit&lt;BR /&gt;* __StackTop&lt;BR /&gt;* __stack&lt;BR /&gt;*/&lt;BR /&gt;ENTRY(Reset_Handler)&lt;/P&gt;&lt;P&gt;SECTIONS&lt;BR /&gt;{&lt;BR /&gt;.text :&lt;BR /&gt;{&lt;BR /&gt;KEEP(*(.vectors))&lt;BR /&gt;*(.text*)&lt;/P&gt;&lt;P&gt;KEEP(*(.init))&lt;BR /&gt;KEEP(*(.fini))&lt;/P&gt;&lt;P&gt;/* .ctors */&lt;BR /&gt;*crtbegin.o(.ctors)&lt;BR /&gt;*crtbegin?.o(.ctors)&lt;BR /&gt;*(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors)&lt;BR /&gt;*(SORT(.ctors.*))&lt;BR /&gt;*(.ctors)&lt;/P&gt;&lt;P&gt;/* .dtors */&lt;BR /&gt;*crtbegin.o(.dtors)&lt;BR /&gt;*crtbegin?.o(.dtors)&lt;BR /&gt;*(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors)&lt;BR /&gt;*(SORT(.dtors.*))&lt;BR /&gt;*(.dtors)&lt;/P&gt;&lt;P&gt;*(.rodata*)&lt;BR /&gt;KEEP(*(.eh_frame*))&lt;BR /&gt;} &amp;gt; PFLASH&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;.ARM.extab :&lt;BR /&gt;{&lt;BR /&gt;*(.ARM.extab* .gnu.linkonce.armextab.*)&lt;BR /&gt;} &amp;gt; PFLASH&lt;/P&gt;&lt;P&gt;__exidx_start = .;&lt;BR /&gt;.ARM.exidx :&lt;BR /&gt;{&lt;BR /&gt;*(.ARM.exidx* .gnu.linkonce.armexidx.*)&lt;BR /&gt;} &amp;gt; PFLASH&lt;BR /&gt;__exidx_end = .;&lt;/P&gt;&lt;P&gt;.ecc.table :&lt;BR /&gt;{&lt;BR /&gt;. = ALIGN(4);&lt;BR /&gt;__ecc_table_start__ = .;&lt;/P&gt;&lt;P&gt;QUAD (__data_start__)&lt;BR /&gt;QUAD ((__data_end__ - __data_start__) / &lt;LI-EMOJI id="lia_smiling-face-with-sunglasses" title=":smiling_face_with_sunglasses:"&gt;&lt;/LI-EMOJI&gt;&lt;/P&gt;&lt;P&gt;QUAD (__bss_start__)&lt;BR /&gt;QUAD ((__bss_end__ - __bss_start__) / &lt;LI-EMOJI id="lia_smiling-face-with-sunglasses" title=":smiling_face_with_sunglasses:"&gt;&lt;/LI-EMOJI&gt;&lt;/P&gt;&lt;P&gt;QUAD (__HeapTop)&lt;BR /&gt;QUAD ((__HeapLimit - __HeapTop) / &lt;LI-EMOJI id="lia_smiling-face-with-sunglasses" title=":smiling_face_with_sunglasses:"&gt;&lt;/LI-EMOJI&gt;&lt;/P&gt;&lt;P&gt;QUAD (__StackLimit)&lt;BR /&gt;QUAD ((__StackTop - __StackLimit) / &lt;LI-EMOJI id="lia_smiling-face-with-sunglasses" title=":smiling_face_with_sunglasses:"&gt;&lt;/LI-EMOJI&gt;&lt;/P&gt;&lt;P&gt;QUAD (ORIGIN(ITCM))&lt;BR /&gt;QUAD (LENGTH(ITCM) / &lt;LI-EMOJI id="lia_smiling-face-with-sunglasses" title=":smiling_face_with_sunglasses:"&gt;&lt;/LI-EMOJI&gt;&lt;/P&gt;&lt;P&gt;QUAD (ORIGIN(DTCM))&lt;BR /&gt;QUAD (LENGTH(DTCM) / &lt;LI-EMOJI id="lia_smiling-face-with-sunglasses" title=":smiling_face_with_sunglasses:"&gt;&lt;/LI-EMOJI&gt;&lt;/P&gt;&lt;P&gt;__ecc_table_end__ = .;&lt;BR /&gt;} &amp;gt; PFLASH&lt;/P&gt;&lt;P&gt;.copy.table :&lt;BR /&gt;{&lt;BR /&gt;. = ALIGN(4);&lt;BR /&gt;__copy_table_start__ = .;&lt;/P&gt;&lt;P&gt;LONG (__etext)&lt;BR /&gt;LONG (__data_start__)&lt;BR /&gt;LONG ((__data_end__ - __data_start__) / 4)&lt;/P&gt;&lt;P&gt;/* Add each additional data section here */&lt;BR /&gt;/*&lt;BR /&gt;LONG (__etext2)&lt;BR /&gt;LONG (__data2_start__)&lt;BR /&gt;LONG ((__data2_end__ - __data2_start__) / 4)&lt;BR /&gt;*/&lt;BR /&gt;__copy_table_end__ = .;&lt;BR /&gt;} &amp;gt; PFLASH&lt;/P&gt;&lt;P&gt;.zero.table :&lt;BR /&gt;{&lt;BR /&gt;. = ALIGN(4);&lt;BR /&gt;__zero_table_start__ = .;&lt;BR /&gt;/* Add each additional bss section here */&lt;BR /&gt;/*&lt;BR /&gt;LONG (__bss2_start__)&lt;BR /&gt;LONG ((__bss2_end__ - __bss2_start__) / 4)&lt;BR /&gt;*/&lt;BR /&gt;__zero_table_end__ = .;&lt;BR /&gt;} &amp;gt; PFLASH&lt;/P&gt;&lt;P&gt;__etext = ALIGN(8);&lt;/P&gt;&lt;P&gt;.boot_header :&lt;BR /&gt;{&lt;BR /&gt;KEEP(*(.boot_header))&lt;BR /&gt;} &amp;gt; DFLASH&lt;/P&gt;&lt;P&gt;.standby_ram :&lt;BR /&gt;{&lt;BR /&gt;*(.standby_ram)&lt;BR /&gt;} &amp;gt; SRAM0_STDBY&lt;/P&gt;&lt;P&gt;/* Due ECC initialization sequence __data_start__ and __data_end__ should be aligned on 8 bytes */&lt;BR /&gt;.data : AT (__etext)&lt;BR /&gt;{&lt;BR /&gt;. = ALIGN(8);&lt;BR /&gt;__data_start__ = .;&lt;BR /&gt;*(vtable)&lt;BR /&gt;*(.data)&lt;BR /&gt;*(.data.*)&lt;/P&gt;&lt;P&gt;. = ALIGN(4);&lt;BR /&gt;/* preinit data */&lt;BR /&gt;PROVIDE_HIDDEN (__preinit_array_start = .);&lt;BR /&gt;KEEP(*(.preinit_array))&lt;BR /&gt;PROVIDE_HIDDEN (__preinit_array_end = .);&lt;/P&gt;&lt;P&gt;. = ALIGN(4);&lt;BR /&gt;/* init data */&lt;BR /&gt;PROVIDE_HIDDEN (__init_array_start = .);&lt;BR /&gt;KEEP(*(SORT(.init_array.*)))&lt;BR /&gt;KEEP(*(.init_array))&lt;BR /&gt;PROVIDE_HIDDEN (__init_array_end = .);&lt;/P&gt;&lt;P&gt;. = ALIGN(4);&lt;BR /&gt;/* finit data */&lt;BR /&gt;PROVIDE_HIDDEN (__fini_array_start = .);&lt;BR /&gt;KEEP(*(SORT(.fini_array.*)))&lt;BR /&gt;KEEP(*(.fini_array))&lt;BR /&gt;PROVIDE_HIDDEN (__fini_array_end = .);&lt;/P&gt;&lt;P&gt;KEEP(*(.jcr*))&lt;BR /&gt;. = ALIGN(8);&lt;BR /&gt;/* All data end */&lt;BR /&gt;__data_end__ = .;&lt;/P&gt;&lt;P&gt;} &amp;gt; SRAM&lt;/P&gt;&lt;P&gt;/* Due ECC initialization sequence __bss_start__ and __bss_end__ should be aligned on 8 bytes */&lt;BR /&gt;.bss :&lt;BR /&gt;{&lt;BR /&gt;. = ALIGN(8);&lt;BR /&gt;__bss_start__ = .;&lt;BR /&gt;*(.bss)&lt;BR /&gt;*(.bss.*)&lt;BR /&gt;*(COMMON)&lt;BR /&gt;. = ALIGN(8);&lt;BR /&gt;__bss_end__ = .;&lt;BR /&gt;} &amp;gt; SRAM&lt;/P&gt;&lt;P&gt;/* Due ECC initialization sequence __HeapTop and __HeapLimit should be aligned on 8 bytes */&lt;BR /&gt;.heap (COPY):&lt;BR /&gt;{&lt;BR /&gt;. = ALIGN(8);&lt;BR /&gt;__HeapTop = .;&lt;BR /&gt;__end__ = .;&lt;BR /&gt;_end = .;&lt;BR /&gt;PROVIDE(end = .);&lt;BR /&gt;. = . + __HEAP_SIZE;&lt;BR /&gt;. = ALIGN(8);&lt;BR /&gt;__HeapLimit = .;&lt;BR /&gt;} &amp;gt; SRAM&lt;/P&gt;&lt;P&gt;/* Due ECC initialization sequence __StackLimit and __StackTop should be aligned on 8 bytes */&lt;BR /&gt;.stack (ORIGIN(SRAM) + LENGTH(SRAM) - __STACK_SIZE) (COPY) :&lt;BR /&gt;{&lt;BR /&gt;. = ALIGN(8);&lt;BR /&gt;__StackLimit = .;&lt;BR /&gt;. = . + __STACK_SIZE;&lt;BR /&gt;. = ALIGN(8);&lt;BR /&gt;__StackTop = .;&lt;BR /&gt;} &amp;gt; SRAM&lt;BR /&gt;PROVIDE(__stack = __StackTop);&lt;/P&gt;&lt;P&gt;/* Check if data + heap + stack exceeds RAM limit */&lt;BR /&gt;ASSERT(__StackLimit &amp;gt;= __HeapLimit, "region RAM overflowed with stack")&lt;BR /&gt;CM7_START_ADDRESS = ORIGIN(PFLASH);&lt;BR /&gt;__STDBYRAM_START = ORIGIN(SRAM0_STDBY);&lt;BR /&gt;__STDBYRAM_SIZE = LENGTH(SRAM0_STDBY);&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&lt;LI-PRODUCT title="S32K344-WB" id="S32K344-WB"&gt;&lt;/LI-PRODUCT&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
      <pubDate>Sun, 28 Sep 2025 13:44:03 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/Basic-Secure-Boot-HSE-S32K344-ADKP/m-p/2177037#M53123</guid>
      <dc:creator>silvia_zandoli2</dc:creator>
      <dc:date>2025-09-28T13:44:03Z</dc:date>
    </item>
    <item>
      <title>Re: Basic Secure Boot HSE S32K344 ADKP</title>
      <link>https://community.nxp.com/t5/S32K/Basic-Secure-Boot-HSE-S32K344-ADKP/m-p/2177644#M53153</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/248858"&gt;@silvia_zandoli2&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The HSE service response 0x55A5AA33 corresponds to HSE_SRV_RSP_OK.&lt;/P&gt;
&lt;P&gt;However, if you are encountering issues when calling the HSE_SignBootImage() function, I recommend reviewing the following thread, as it may be related to the problem you are experiencing.&lt;/P&gt;
&lt;P&gt;&lt;A href="https://community.nxp.com/t5/S32K/HSE-VerifyBootImage-return-HSE-SRV-RSP-VERIFY-FAILED/td-p/2089994" target="_blank" rel="noopener"&gt;HSE_VerifyBootImage return HSE_SRV_RSP_VERIFY_FAILED&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;If the issue persists or the thread does not address your specific case, please let me know.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 29 Sep 2025 17:54:19 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/Basic-Secure-Boot-HSE-S32K344-ADKP/m-p/2177644#M53153</guid>
      <dc:creator>VaneB</dc:creator>
      <dc:date>2025-09-29T17:54:19Z</dc:date>
    </item>
    <item>
      <title>Re: Basic Secure Boot HSE S32K344 ADKP</title>
      <link>https://community.nxp.com/t5/S32K/Basic-Secure-Boot-HSE-S32K344-ADKP/m-p/2178411#M53191</link>
      <description>&lt;P&gt;Hello,&lt;BR /&gt;After successfully booting the bootloader (HSE_SignBootImage OK) and passing the verification, the system displays a brief LED blue flash (indicating a successful Secure Boot). However, upon reboot or a second debug, the system crashes and it does not pass&amp;nbsp;/* Verify that the generated TAG is valid for the APPBL */&lt;BR /&gt;#if VERIFY_TAG&lt;BR /&gt;srvResponse = HSE_VerifyBootImage(pAppBL);&lt;BR /&gt;ASSERT(HSE_SRV_RSP_OK == srvResponse);&lt;/P&gt;&lt;P&gt;I suspect the problem is an overwrite. Do you know how to fix it?&lt;BR /&gt;Thank you very much&lt;/P&gt;</description>
      <pubDate>Tue, 30 Sep 2025 20:49:17 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/Basic-Secure-Boot-HSE-S32K344-ADKP/m-p/2178411#M53191</guid>
      <dc:creator>silvia_zandoli2</dc:creator>
      <dc:date>2025-09-30T20:49:17Z</dc:date>
    </item>
    <item>
      <title>Re: Basic Secure Boot HSE S32K344 ADKP</title>
      <link>https://community.nxp.com/t5/S32K/Basic-Secure-Boot-HSE-S32K344-ADKP/m-p/2179001#M53210</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/248858"&gt;@silvia_zandoli2&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I recommend reviewing the following thread, as it may be related to the problem you are experiencing.&lt;/P&gt;
&lt;P&gt;&lt;A href="https://community.nxp.com/t5/S32K/S32K344-Secure-Boot-HSE-VerifyBootImage-issue/td-p/2170788" target="_blank" rel="noopener"&gt;S32K344 Secure Boot HSE_VerifyBootImage issue&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 01 Oct 2025 20:58:18 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/Basic-Secure-Boot-HSE-S32K344-ADKP/m-p/2179001#M53210</guid>
      <dc:creator>VaneB</dc:creator>
      <dc:date>2025-10-01T20:58:18Z</dc:date>
    </item>
    <item>
      <title>Re: Basic Secure Boot HSE S32K344 ADKP</title>
      <link>https://community.nxp.com/t5/S32K/Basic-Secure-Boot-HSE-S32K344-ADKP/m-p/2203527#M54399</link>
      <description>&lt;P&gt;Hello everyone,&lt;/P&gt;&lt;P&gt;I’m working with an &lt;STRONG&gt;S32K312EVB-Q172&lt;/STRONG&gt; board and I’d like to test the &lt;STRONG&gt;HSE demo examples&lt;/STRONG&gt;.&lt;BR /&gt;Would it be possible to get access to the file &lt;EM&gt;S32K3_HSE_DemoExamples_1_0_0.zip&lt;/EM&gt;?&lt;/P&gt;&lt;P&gt;I’m using &lt;STRONG&gt;S32 Design Studio for S32 Platform&lt;/STRONG&gt; together with a &lt;STRONG&gt;PEMicro debugger&lt;/STRONG&gt;.&lt;/P&gt;&lt;P&gt;Thank you in advance for your help!&lt;/P&gt;&lt;P&gt;Best regards,&lt;BR /&gt;Davide&lt;/P&gt;</description>
      <pubDate>Wed, 12 Nov 2025 10:23:12 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/Basic-Secure-Boot-HSE-S32K344-ADKP/m-p/2203527#M54399</guid>
      <dc:creator>datavix</dc:creator>
      <dc:date>2025-11-12T10:23:12Z</dc:date>
    </item>
  </channel>
</rss>

