Basic Secure Boot HSE S32K344 ADKP

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

Basic Secure Boot HSE S32K344 ADKP

2,240 次查看
silvia_zandoli2
Contributor II

Hello everyone,

I wanted to ask how to program ADKP in Base Secure Boot

S32K344-WB #HSE#BaseSecureBoot

Thanks

0 项奖励
回复
6 回复数

1,551 次查看
datavix
Contributor I

Hello everyone,

I’m working with an S32K312EVB-Q172 board and I’d like to test the HSE demo examples.
Would it be possible to get access to the file S32K3_HSE_DemoExamples_1_0_0.zip?

I’m using S32 Design Studio for S32 Platform together with a PEMicro debugger.

Thank you in advance for your help!

Best regards,
Davide

0 项奖励
回复

2,212 次查看
VaneB
NXP TechSupport
NXP TechSupport

Hi @silvia_zandoli2 

Refer to the following thread, which contains information related to this topic and may be helpful for you.

[S32K3] Restrict the debug access with a password when HSE is used

Additionally, I recommend reviewing the implementation of the functions ProgramADKPService(), Advance_LifeCycle_Service(), and attributeProgrammingService() provided in the S32K3 MCUs for General Purpose HSE Demo Examples and/or the HSE_DEMOAPP.

 

BR, VaneB

0 项奖励
回复

2,134 次查看
silvia_zandoli2
Contributor II

 I have S32K3_HSE_DemoExamples_1_0_0, S32K344 device

The ADKP is programmed successfully (check_debug_password_programmed_status() returns TRUE).

However, the function HSE_SignBootImage() continues to fail immediately upon invocation, returning the error code 0x55a5aa33

In the main of Basic Secure Boot it does not pass the assert
/* Verify that the generated TAG is valid for the APPBL */
#if VERIFY_TAG
srvResponse = HSE_VerifyBootImage(pAppBL);
ASSERT(HSE_SRV_RSP_OK == srvResponse);
#endif

I generate S32K344_SecureBootBlinky.bin, I put it in C:\NXP while the SecureBootBlinky and the Basic_SecureBoot are in C:\NXP\S32K3_HSE_DemoExamples_1_0_0\S32K3_HSE_DemoExamples\Secure_Boot

I noticed in the linker file of Basic Secure Boot "S32K344_flash.ld" there is not

 _adkp_key : 

  { 

    . = ALIGN(4); 

    KEEP(*(_adkp_key))  

    . = ALIGN(4); 

  } > PFLASH

Do I have to modify that file? i attach it to you

/*****************************************************************************
*
* Copyright 2020-2022 NXP
* All Rights Reserved
*
*****************************************************************************
*
* THIS SOFTWARE IS PROVIDED BY NXP "AS IS" AND ANY EXPRESSED OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL NXP OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
* IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
* THE POSSIBILITY OF SUCH DAMAGE.
*
****************************************************************************/

__STACK_SIZE = 0x00001000;
__HEAP_SIZE = 0x00001000;

/* Linker script to configure memory regions. aggiungi PFLASH_SECURE se vuoi una regione dove mettere chiavi critiche*/
MEMORY
{
ITCM (RWX) : ORIGIN = 0x00000000, LENGTH = 0x10000
PFLASH (RX) : ORIGIN = 0x400000, LENGTH = 0x3f4000
DFLASH (RX) : ORIGIN = 0x10000000, LENGTH = 0x20000
DTCM (RW) : ORIGIN = 0x20000000, LENGTH = 0x20000
SRAM0_STDBY (RW) : ORIGIN = 0x20400000, LENGTH = 0x8000
SRAM (RW) : ORIGIN = 0x20408000, LENGTH = 0x48000
}

/* Linker script to place sections and symbol values. Should be used together
* with other linker script that defines memory regions FLASH and RAM.
* It references following symbols, which must be defined in code:
* Reset_Handler : Entry of reset handler
*
* It defines following symbols, which code can use without definition:
* __exidx_start
* __exidx_end
* __ecc_table_start__
* __ecc_table_end__
* __etext
* __data_start__
* __preinit_array_start
* __preinit_array_end
* __init_array_start
* __init_array_end
* __fini_array_start
* __fini_array_end
* __data_end__
* __bss_start__
* __bss_end__
* __end__
* end
* __HeapLimit
* __StackLimit
* __StackTop
* __stack
*/
ENTRY(Reset_Handler)

SECTIONS
{
.text :
{
KEEP(*(.vectors))
*(.text*)

KEEP(*(.init))
KEEP(*(.fini))

/* .ctors */
*crtbegin.o(.ctors)
*crtbegin?.o(.ctors)
*(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors)
*(SORT(.ctors.*))
*(.ctors)

/* .dtors */
*crtbegin.o(.dtors)
*crtbegin?.o(.dtors)
*(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors)
*(SORT(.dtors.*))
*(.dtors)

*(.rodata*)
KEEP(*(.eh_frame*))
} > PFLASH

.ARM.extab :
{
*(.ARM.extab* .gnu.linkonce.armextab.*)
} > PFLASH

__exidx_start = .;
.ARM.exidx :
{
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
} > PFLASH
__exidx_end = .;

.ecc.table :
{
. = ALIGN(4);
__ecc_table_start__ = .;

QUAD (__data_start__)
QUAD ((__data_end__ - __data_start__) /

QUAD (__bss_start__)
QUAD ((__bss_end__ - __bss_start__) /

QUAD (__HeapTop)
QUAD ((__HeapLimit - __HeapTop) /

QUAD (__StackLimit)
QUAD ((__StackTop - __StackLimit) /

QUAD (ORIGIN(ITCM))
QUAD (LENGTH(ITCM) /

QUAD (ORIGIN(DTCM))
QUAD (LENGTH(DTCM) /

__ecc_table_end__ = .;
} > PFLASH

.copy.table :
{
. = ALIGN(4);
__copy_table_start__ = .;

LONG (__etext)
LONG (__data_start__)
LONG ((__data_end__ - __data_start__) / 4)

/* Add each additional data section here */
/*
LONG (__etext2)
LONG (__data2_start__)
LONG ((__data2_end__ - __data2_start__) / 4)
*/
__copy_table_end__ = .;
} > PFLASH

.zero.table :
{
. = ALIGN(4);
__zero_table_start__ = .;
/* Add each additional bss section here */
/*
LONG (__bss2_start__)
LONG ((__bss2_end__ - __bss2_start__) / 4)
*/
__zero_table_end__ = .;
} > PFLASH

__etext = ALIGN(8);

.boot_header :
{
KEEP(*(.boot_header))
} > DFLASH

.standby_ram :
{
*(.standby_ram)
} > SRAM0_STDBY

/* Due ECC initialization sequence __data_start__ and __data_end__ should be aligned on 8 bytes */
.data : AT (__etext)
{
. = ALIGN(8);
__data_start__ = .;
*(vtable)
*(.data)
*(.data.*)

. = ALIGN(4);
/* preinit data */
PROVIDE_HIDDEN (__preinit_array_start = .);
KEEP(*(.preinit_array))
PROVIDE_HIDDEN (__preinit_array_end = .);

. = ALIGN(4);
/* init data */
PROVIDE_HIDDEN (__init_array_start = .);
KEEP(*(SORT(.init_array.*)))
KEEP(*(.init_array))
PROVIDE_HIDDEN (__init_array_end = .);

. = ALIGN(4);
/* finit data */
PROVIDE_HIDDEN (__fini_array_start = .);
KEEP(*(SORT(.fini_array.*)))
KEEP(*(.fini_array))
PROVIDE_HIDDEN (__fini_array_end = .);

KEEP(*(.jcr*))
. = ALIGN(8);
/* All data end */
__data_end__ = .;

} > SRAM

/* Due ECC initialization sequence __bss_start__ and __bss_end__ should be aligned on 8 bytes */
.bss :
{
. = ALIGN(8);
__bss_start__ = .;
*(.bss)
*(.bss.*)
*(COMMON)
. = ALIGN(8);
__bss_end__ = .;
} > SRAM

/* Due ECC initialization sequence __HeapTop and __HeapLimit should be aligned on 8 bytes */
.heap (COPY):
{
. = ALIGN(8);
__HeapTop = .;
__end__ = .;
_end = .;
PROVIDE(end = .);
. = . + __HEAP_SIZE;
. = ALIGN(8);
__HeapLimit = .;
} > SRAM

/* Due ECC initialization sequence __StackLimit and __StackTop should be aligned on 8 bytes */
.stack (ORIGIN(SRAM) + LENGTH(SRAM) - __STACK_SIZE) (COPY) :
{
. = ALIGN(8);
__StackLimit = .;
. = . + __STACK_SIZE;
. = ALIGN(8);
__StackTop = .;
} > SRAM
PROVIDE(__stack = __StackTop);

/* Check if data + heap + stack exceeds RAM limit */
ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack")
CM7_START_ADDRESS = ORIGIN(PFLASH);
__STDBYRAM_START = ORIGIN(SRAM0_STDBY);
__STDBYRAM_SIZE = LENGTH(SRAM0_STDBY);
}

S32K344-WB 



0 项奖励
回复

2,099 次查看
VaneB
NXP TechSupport
NXP TechSupport

Hi @silvia_zandoli2 

The HSE service response 0x55A5AA33 corresponds to HSE_SRV_RSP_OK.

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.

HSE_VerifyBootImage return HSE_SRV_RSP_VERIFY_FAILED

If the issue persists or the thread does not address your specific case, please let me know.

 

0 项奖励
回复

2,062 次查看
silvia_zandoli2
Contributor II

Hello,
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 /* Verify that the generated TAG is valid for the APPBL */
#if VERIFY_TAG
srvResponse = HSE_VerifyBootImage(pAppBL);
ASSERT(HSE_SRV_RSP_OK == srvResponse);

I suspect the problem is an overwrite. Do you know how to fix it?
Thank you very much

0 项奖励
回复

2,024 次查看
VaneB
NXP TechSupport
NXP TechSupport

Hi @silvia_zandoli2 

I recommend reviewing the following thread, as it may be related to the problem you are experiencing.

S32K344 Secure Boot HSE_VerifyBootImage issue

0 项奖励
回复
%3CLINGO-SUB%20id%3D%22lingo-sub-2174389%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E5%9F%BA%E6%9C%AC%E5%AE%89%E5%85%A8%E5%90%AF%E5%8A%A8%20HSE%20S32K344%20ADKP%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2174389%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E5%A4%A7%E5%AE%B6%E5%A5%BD%3C%2FP%3E%3CP%3E%E6%88%91%E6%83%B3%E9%97%AE%E4%B8%80%E4%B8%8B%E5%A6%82%E4%BD%95%E5%9C%A8%20Base%20Secure%20%E5%90%AF%E5%8A%A8%20%E4%B8%AD%E7%BC%96%E7%A8%8B%20ADKP%3C%2FP%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fc-pwmxy87654%2FS32K344-WB%2Fpd-p%2FS32K344-WB%22%20class%3D%22lia-product-mention%22%20data-product%3D%223494-1%22%20target%3D%22_blank%22%3ES32K344-WB%3C%2FA%3E%23HSE%23BaseSecureBoot%3C%2FP%3E%3CP%3E%E8%B0%A2%E8%B0%A2%EF%BC%81%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2203527%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20Basic%20Secure%20Boot%20HSE%20S32K344%20ADKP%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2203527%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E5%A4%A7%E5%AE%B6%E5%A5%BD%3C%2FP%3E%3CP%3E%E6%88%91%E6%AD%A3%E5%9C%A8%E4%BD%BF%E7%94%A8%20%3CSTRONG%3ES32K312EVB-Q172%3C%2FSTRONG%3E%20%E6%9D%BF%EF%BC%8C%E6%88%91%E6%83%B3%E6%B5%8B%E8%AF%95%20%3CSTRONG%3EHSE%20%E6%BC%94%E7%A4%BA%E7%A4%BA%E4%BE%8B%3C%2FSTRONG%3E%E3%80%82%3CBR%20%2F%3E%E8%83%BD%E5%90%A6%E8%8E%B7%E5%8F%96%3CEM%3ES32K3_HSE_DemoExamples_1_0_0.zip%3C%2FEM%3E%20%E6%96%87%E4%BB%B6%EF%BC%9F%3C%2FP%3E%3CP%3E%E6%88%91%E4%BD%BF%E7%94%A8%3CSTRONG%3ES32%20%E5%B9%B3%E5%8F%B0%E7%9A%84%20S32%20Design%20Studio%3C%2FSTRONG%3E%E5%92%8C%3CSTRONG%3EPEMicro%20%E8%B0%83%E8%AF%95%E5%99%A8%3C%2FSTRONG%3E%E3%80%82%3C%2FP%3E%3CP%3E%E6%8F%90%E5%89%8D%E6%84%9F%E8%B0%A2%E6%82%A8%E7%9A%84%E5%B8%AE%E5%8A%A9%EF%BC%81%3C%2FP%3E%3CP%3E%E8%87%B4%E4%BB%A5%E6%9C%80%E5%B4%87%E9%AB%98%E7%9A%84%E6%95%AC%E6%84%8F%EF%BC%8C%3CBR%20%2F%3EDavide%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2179001%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20Basic%20Secure%20Boot%20HSE%20S32K344%20ADKP%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2179001%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E4%BD%A0%E5%A5%BD%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F248858%22%20target%3D%22_blank%22%3E%40silvia_zandoli2%3C%2FA%3E%3C%2FP%3E%0A%3CP%3E%E6%88%91%E5%BB%BA%E8%AE%AE%E6%9F%A5%E7%9C%8B%E4%BB%A5%E4%B8%8B%E4%B8%BB%E9%A2%98%EF%BC%8C%E5%9B%A0%E4%B8%BA%E5%AE%83%E5%8F%AF%E8%83%BD%E4%B8%8E%E6%82%A8%E9%81%87%E5%88%B0%E7%9A%84%E9%97%AE%E9%A2%98%E6%9C%89%E5%85%B3%E3%80%82%3C%2FP%3E%0A%3CP%3E%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2FS32K%2FS32K344-Secure-Boot-HSE-VerifyBootImage-issue%2Ftd-p%2F2170788%22%20target%3D%22_blank%22%3ES32K344%20%E5%AE%89%E5%85%A8%E5%90%AF%E5%8A%A8%20HSE_verifyBootImage%20%E9%97%AE%E9%A2%98%3C%2FA%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2178411%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20Basic%20Secure%20Boot%20HSE%20S32K344%20ADKP%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2178411%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E4%BD%A0%E5%A5%BD%EF%BC%8C%E6%88%90%E5%8A%9F%E5%90%AF%E5%8A%A8%E5%BC%95%E5%AF%BC%E5%8A%A0%E8%BD%BD%E7%A8%8B%E5%BA%8F%EF%BC%88HSE_signbootImage%20OK%EF%BC%89%E5%B9%B6%E9%80%9A%E8%BF%87%E9%AA%8C%E8%AF%81%3CBR%20%2F%3E%E5%90%8E%EF%BC%8C%E7%B3%BB%E7%BB%9F%E4%BC%9A%E6%98%BE%E7%A4%BA%E4%B8%80%E4%B8%AA%E7%9F%AD%E6%9A%82%E7%9A%84%E8%93%9D%E8%89%B2%20LED%20%E9%97%AA%E7%83%81%EF%BC%88%E8%A1%A8%E7%A4%BA%E5%AE%89%E5%85%A8%E5%90%AF%E5%8A%A8%E6%88%90%E5%8A%9F%EF%BC%89%E3%80%82%E4%BD%86%E6%98%AF%EF%BC%8C%E5%9C%A8%E9%87%8D%E5%90%AF%E6%88%96%E7%AC%AC%E4%BA%8C%E6%AC%A1%E8%B0%83%E8%AF%95%E6%97%B6%EF%BC%8C%E7%B3%BB%E7%BB%9F%E4%BC%9A%E5%B4%A9%E6%BA%83%EF%BC%8C%E6%97%A0%E6%B3%95%E9%80%9A%E8%BF%87%20%2F*%20%E9%AA%8C%E8%AF%81%E7%94%9F%E6%88%90%E7%9A%84%20TAG%20%E6%98%AF%E5%90%A6%E5%AF%B9%20APPBL%20%E6%9C%89%E6%95%88%20*%2F%3CBR%20%2F%3E%23if%20VERIFY_TAG%3CBR%20%2F%3EsrvResponse%20%3D%20HSE_VerifyBootImage(pAppBL)%EF%BC%9B%3CBR%20%2F%3EASSERT(HSE_SRV_RSP_OK%20%3D%3D%20srvResponse)%EF%BC%9B%3C%2FP%3E%3CP%3E%E6%88%91%E6%80%80%E7%96%91%E9%97%AE%E9%A2%98%E5%87%BA%E5%9C%A8%E8%A6%86%E7%9B%96%E4%B8%8A%E3%80%82%E4%BD%A0%E7%9F%A5%E9%81%93%E5%A6%82%E4%BD%95%E4%BF%AE%E5%A4%8D%E5%90%97%EF%BC%9F%3CBR%20%2F%3E%E9%9D%9E%E5%B8%B8%E6%84%9F%E8%B0%A2%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2177644%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20Basic%20Secure%20Boot%20HSE%20S32K344%20ADKP%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2177644%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E4%BD%A0%E5%A5%BD%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F248858%22%20target%3D%22_blank%22%3E%40silvia_zandoli2%3C%2FA%3E%3C%2FP%3E%0A%3CP%3EHSE%20%E6%9C%8D%E5%8A%A1%E5%93%8D%E5%BA%94%200x55A5AA33%20%E4%B8%8E%20HSE_SRV_RSP_OK%20%E7%9B%B8%E5%AF%B9%E5%BA%94%E3%80%82%3C%2FP%3E%0A%3CP%3E%E4%BD%86%E6%98%AF%EF%BC%8C%E5%A6%82%E6%9E%9C%E6%82%A8%E5%9C%A8%E8%B0%83%E7%94%A8%20HSE_SignBootImage()%20%E5%87%BD%E6%95%B0%E6%97%B6%E9%81%87%E5%88%B0%E9%97%AE%E9%A2%98%EF%BC%8C%E6%88%91%E5%BB%BA%E8%AE%AE%E6%82%A8%E6%9F%A5%E7%9C%8B%E4%BB%A5%E4%B8%8B%E4%B8%BB%E9%A2%98%EF%BC%8C%E5%9B%A0%E4%B8%BA%E5%AE%83%E5%8F%AF%E8%83%BD%E4%B8%8E%E6%82%A8%E9%81%87%E5%88%B0%E7%9A%84%E9%97%AE%E9%A2%98%E6%9C%89%E5%85%B3%E3%80%82%3C%2FP%3E%0A%3CP%3E%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2FS32K%2FHSE-VerifyBootImage-return-HSE-SRV-RSP-VERIFY-FAILED%2Ftd-p%2F2089994%22%20target%3D%22_blank%22%3EHSE_VerifyBootImage%20%E8%BF%94%E5%9B%9E%20HSE_SRV_RSP_VERIFY_FAILED%3C%2FA%3E%3C%2FP%3E%0A%3CP%3E%E5%A6%82%E6%9E%9C%E9%97%AE%E9%A2%98%E4%BB%8D%E7%84%B6%E5%AD%98%E5%9C%A8%EF%BC%8C%E6%88%96%E8%80%85%E8%AF%A5%E4%B8%BB%E9%A2%98%E6%B2%A1%E6%9C%89%E8%A7%A3%E5%86%B3%E6%82%A8%E7%9A%84%E5%85%B7%E4%BD%93%E9%97%AE%E9%A2%98%EF%BC%8C%E8%AF%B7%E5%91%8A%E8%AF%89%E6%88%91%E3%80%82%3C%2FP%3E%0A%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2177037%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20Basic%20Secure%20Boot%20HSE%20S32K344%20ADKP%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2177037%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%3CSTRONG%3E%E6%88%91%E6%9C%89%20s32k3_HSE_demoExamples_1_0_0%E3%80%81S32K344%20%E8%AE%BE%E5%A4%87%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3EADKP%20%E7%BC%96%E7%A8%8B%E6%88%90%E5%8A%9F%EF%BC%88check_debug_password_programmed_status()%20%E8%BF%94%E5%9B%9E%20TRUE%EF%BC%89%E3%80%82%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3E%E4%BD%86%E6%98%AF%EF%BC%8C%E5%87%BD%E6%95%B0%20hse_signbootImage%20()%20%E5%9C%A8%E8%B0%83%E7%94%A8%E5%90%8E%E7%BB%A7%E7%BB%AD%E7%AB%8B%E5%8D%B3%E5%A4%B1%E8%B4%A5%EF%BC%8C%E8%BF%94%E5%9B%9E%E9%94%99%E8%AF%AF%E4%BB%A3%E7%A0%81%200x55a5aa33%3C%2FSTRONG%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%20%E5%9C%A8%E5%9F%BA%E6%9C%AC%E5%AE%89%E5%85%A8%E5%90%AF%E5%8A%A8%E7%9A%84%E4%B8%BB%E4%BD%93%E4%B8%AD%E5%AE%83%E6%B2%A1%E6%9C%89%E9%80%9A%E8%BF%87%E6%96%AD%E8%A8%80%3CBR%20%2F%3E%20%2F*%20%E9%AA%8C%E8%AF%81%E7%94%9F%E6%88%90%E7%9A%84%E6%A0%87%E7%AD%BE%E5%AF%B9%20APPBL%20%E6%98%AF%E5%90%A6%E6%9C%89%E6%95%88%20*%2F%3CBR%20%2F%3E%20%23if%20VERIFY_TAG%3CBR%20%2F%3E%20srvResponse%20%3D%20hse_verifyBootim%20age%20(pappBL)%EF%BC%9BASSERT%3CBR%20%2F%3E%20(HSE_SRV_RSPSPBL)%20_OK%20%3D%3D%20srvResponse)%3B%3CBR%20%2F%3E%20%23endif%3CBR%20%2F%3E%3CBR%20%2F%3E%3CSTRONG%3E%20%E6%88%91%E7%94%9F%E6%88%90%20S32K344_SecureBootBlinky.bin%EF%BC%8C%E6%88%91%E6%8A%8A%E5%AE%83%E6%94%BE%E5%9C%A8%20C%3A%5CNXP%20%E9%87%8C%EF%BC%8C%E8%80%8C%20SecureBootBlinky%20%E5%92%8C%20basic_secureBoot%20%E5%9C%A8%20C%3A%5CNXP%5CS32K3_HSE_DemoExamples_%20%E9%87%8C%201_0_0%5C%20s32k3_HSE_DemoExamples%5C%20Secure_Boot%3C%2FSTRONG%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3CSTRONG%3E%20%E6%88%91%E5%9C%A8%E5%9F%BA%E6%9C%AC%E5%AE%89%E5%85%A8%E5%90%AF%E5%8A%A8%E7%9A%84%E9%93%BE%E6%8E%A5%E6%96%87%E4%BB%B6%E4%B8%AD%E6%B3%A8%E6%84%8F%E5%88%B0%E4%BA%86%20%22%20s32k344_%20flash.ld%20%22%20%E6%B2%A1%E6%9C%89%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%20%3CSTRONG%3E_adkp_key%20%EF%BC%9A%3C%2FSTRONG%3E%3C%2FSPAN%3E%3CSTRONG%3E%20%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%20%20%7B%3C%2FSPAN%3E%3CSPAN%3E%20%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%20%20%20%20.%20%3D%20ALIGN%EF%BC%884%EF%BC%89%EF%BC%9B%3C%2FSPAN%3E%3CSPAN%3E%20%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%20%20%20%20KEEP(*(_adkp_key))%20%3C%2FSPAN%3E%3CSPAN%3E%20%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%20%20%20%20.%20%3D%20ALIGN%EF%BC%884%EF%BC%89%EF%BC%9B%3C%2FSPAN%3E%3CSPAN%3E%20%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%20%20%7D%20%26gt%3B%20PFLASH%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3E%E6%88%91%E5%BF%85%E9%A1%BB%E4%BF%AE%E6%94%B9%E8%AF%A5%E6%96%87%E4%BB%B6%E5%90%97%EF%BC%9F%3C%2FSTRONG%3E%E6%88%91%E6%8A%8A%E5%AE%83%E9%99%84%E7%BB%99%E4%BD%A0%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FP%3E%3CP%3E%2F*****************************************************%20*%20%E7%89%88%E6%9D%83%E6%89%80%E6%9C%89%202020-2022%20%E6%81%A9%E6%99%BA%E6%B5%A6%20*%20%E7%89%88%E6%9D%83%E6%89%80%E6%9C%89%20%3CBR%20%2F%3E%20%3CBR%20%2F%3E%20*%20******************************%20%3CBR%20%2F%3E%20******************************%20%3CBR%20%2F%3E%20***%20*%20%E6%9C%AC%E8%BD%AF%E4%BB%B6%E7%94%B1%E6%81%A9%E6%99%BA%E6%B5%A6%20%3CBR%20%2F%3E%20%22%20%E6%8C%89%E5%8E%9F%E6%A0%B7%20%22%20%E5%92%8C%E4%BB%BB%E4%BD%95%E6%98%8E%E7%A4%BA%E6%88%96%20%3CBR%20%2F%3E%20*%20%3CBR%20%2F%3E%20%E6%9A%97%E7%A4%BA%E6%8B%85%E4%BF%9D%EF%BC%8C%E5%8C%85%E6%8B%AC%E4%BD%86%E4%B8%8D%E9%99%90%E4%BA%8E%E9%80%82%E9%94%80%E6%80%A7%E5%92%8C%E7%89%B9%E5%AE%9A%E7%94%A8%E9%80%94%E9%80%82%E7%94%A8%E6%80%A7%E7%9A%84%E9%BB%98%E7%A4%BA%E6%8B%85%E4%BF%9D%E8%A2%AB%E6%8B%92%E7%BB%9D%E3%80%82%3CBR%20%2F%3E%20%3CBR%20%2F%3E%3CBR%20%2F%3E*%E5%9C%A8%E4%BB%BB%E4%BD%95%E6%83%85%E5%86%B5%E4%B8%8B%EF%BC%8C%E6%81%A9%E6%99%BA%E6%B5%A6%E6%88%96%E5%85%B6%E8%B4%A1%E7%8C%AE%E8%80%85%E5%9D%87%E4%B8%8D%E5%AF%B9%E4%BB%BB%E4%BD%95%E7%9B%B4%E6%8E%A5%E7%9A%84%E3%80%81%3CBR%20%2F%3E%20*%E9%97%B4%E6%8E%A5%E7%9A%84%E3%80%81%E5%81%B6%E7%84%B6%E7%9A%84%E3%80%81%E7%89%B9%E6%AE%8A%E7%9A%84%E3%80%81%E6%83%A9%E6%88%92%E6%80%A7%E7%9A%84%E6%88%96%E9%97%B4%E6%8E%A5%E7%9A%84%E6%8D%9F%E5%AE%B3%20%3CBR%20%2F%3E%20*%EF%BC%88%E5%8C%85%E6%8B%AC%E4%BD%86%E4%B8%8D%E9%99%90%E4%BA%8E%E6%9B%BF%E4%BB%A3%E5%95%86%E5%93%81%E6%88%96%20%3CBR%20%2F%3E%20*%E6%9C%8D%E5%8A%A1%E7%9A%84%E9%87%87%E8%B4%AD%EF%BC%9B%E4%BD%BF%E7%94%A8%E3%80%81%E6%95%B0%E6%8D%AE%E6%88%96%E5%88%A9%E6%B6%A6%E7%9A%84%E6%8D%9F%E5%A4%B1%EF%BC%9B%E6%88%96%E4%B8%9A%E5%8A%A1%E4%B8%AD%E6%96%AD%EF%BC%89%3CBR%20%2F%3E*%E4%B8%8D%E6%89%BF%E6%8B%85%E4%BB%BB%E4%BD%95%E8%B4%A3%E4%BB%BB%EF%BC%8C%E6%97%A0%E8%AE%BA%E6%98%AF%E5%90%88%E5%90%8C%E8%B4%A3%E4%BB%BB%E3%80%81%3CBR%20%2F%3E%20*%E4%B8%A5%E6%A0%BC%E8%B4%A3%E4%BB%BB%E8%BF%98%E6%98%AF%E4%BE%B5%E6%9D%83%E8%A1%8C%E4%B8%BA%EF%BC%88%E5%8C%85%E6%8B%AC%E7%96%8F%E5%BF%BD%E6%88%96%E5%85%B6%E4%BB%96%E6%96%B9%E5%BC%8F%EF%BC%89%3CBR%20%2F%3E*%E4%BB%A5%E4%BB%BB%E4%BD%95%E6%96%B9%E5%BC%8F%E5%BC%95%E8%B5%B7%E7%9A%84%E4%BD%BF%E7%94%A8%E6%9C%AC%E8%BD%AF%E4%BB%B6%E7%9A%84%E6%83%85%E5%86%B5%EF%BC%8C%E5%8D%B3%E4%BD%BF%E8%A2%AB%E5%91%8A%E7%9F%A5%20%3CBR%20%2F%3E%20*%E5%AD%98%E5%9C%A8%E6%AD%A4%E7%B1%BB%E6%8D%9F%E5%9D%8F%E7%9A%84%E5%8F%AF%E8%83%BD%E6%80%A7%E3%80%82%3CBR%20%2F%3E*%3CBR%20%2F%3E****************************************************************************%2F%3C%2FP%3E%3CP%3E__STACK_SIZE%20%3D%200x00001000%3B%3CBR%20%2F%3E__HEAP_SIZE%20%3D%200x00001000%EF%BC%9B%3C%2FP%3E%3CP%3E%2F*%20%E9%85%8D%E7%BD%AE%E5%86%85%E5%AD%98%E5%8C%BA%E5%9F%9F%E7%9A%84%E9%93%BE%E6%8E%A5%E8%84%9A%E6%9C%AC%E3%80%82aggiungi%20PFLASH_SECURE%20se%20vuoi%20una%20regione%20dove%20mettere%20chiavi%20critiche*%2F%3CBR%20%2F%3EMEMORY%3CBR%20%2F%3E%7B%3CBR%20%2F%3EITCM%20(RWX)%20%EF%BC%9AORIGIN%20%3D%200x00000000%2C%20LENGTH%20%3D%200x10000%3CBR%20%2F%3EPFLASH%20(RX)%20%EF%BC%9AORIGIN%20%3D%200x400000%EF%BC%8CLENGTH%20%3D%200x3f4000%3CBR%20%2F%3EDFLASH%20(RX)%20%EF%BC%9AORIGIN%20%3D%200x10000000%EF%BC%8CLENGTH%20%3D%200x20000%3CBR%20%2F%3EDTCM%20(RW)%20%EF%BC%9AORIGIN%20%3D%200x20000000%EF%BC%8CLENGTH%20%3D%200x20000%3CBR%20%2F%3ESRAM0_STDBY%20(RW)%20%EF%BC%9AORIGIN%20%3D%200x20400000%EF%BC%8CLENGTH%20%3D%200x8000%3CBR%20%2F%3ESRAM%20(RW)%20%EF%BC%9AORIGIN%20%3D%200x20408000%EF%BC%8CLENGTH%20%3D%200x48000%3CBR%20%2F%3E%7D%3C%2FP%3E%3CP%3E%2F*%20%E8%BF%9E%E6%8E%A5%E5%99%A8%E8%84%9A%E6%9C%AC%E7%94%A8%E4%BA%8E%E6%94%BE%E7%BD%AE%E6%AE%B5%E8%90%BD%E5%92%8C%E7%AC%A6%E5%8F%B7%E5%80%BC%E3%80%82%E5%BA%94%E4%B8%8E%E5%AE%9A%E4%B9%89%E5%86%85%E5%AD%98%E5%8C%BA%E5%9F%9F%20FLASH%20%E5%92%8C%20RAM%20%E7%9A%84%E5%85%B6%E4%BB%96%E9%93%BE%E6%8E%A5%E5%99%A8%E8%84%9A%E6%9C%AC%E4%B8%80%E8%B5%B7%E4%BD%BF%E7%94%A8%20%3CBR%20%2F%3E%20*%E3%80%82%3CBR%20%2F%3E*%20%E5%AE%83%E5%8F%82%E8%80%83%E4%BA%86%E4%BB%A5%E4%B8%8B%E7%AC%A6%E5%8F%B7%EF%BC%8C%E8%BF%99%E4%BA%9B%E7%AC%A6%E5%8F%B7%E5%BF%85%E9%A1%BB%E5%9C%A8%E4%BB%A3%E7%A0%81%E4%B8%AD%E5%AE%9A%E4%B9%89%EF%BC%9A*%20RESET%20%E5%A4%84%E7%90%86%E7%A8%8B%E5%BA%8F%E7%9A%84%E8%BE%93%E5%85%A5%20*%20*%20%E5%AE%83%E5%AE%9A%E4%B9%89%E4%BA%86%E4%BB%A5%E4%B8%8B%E7%AC%A6%E5%8F%B7%EF%BC%8C%E4%BB%A3%E7%A0%81%E6%97%A0%E9%9C%80%E5%AE%9A%E4%B9%89%E5%8D%B3%E5%8F%AF%E4%BD%BF%E7%94%A8%EF%BC%9A%3CBR%20%2F%3E*%20__exidx_start%20*%20__exidx_end%20*%20__ecc_table_start%20__%3CBR%20%2F%3E*%20__%20ecc_table_end%20__%3CBR%20%2F%3E*%20__%20etext%20*%20__data_start%20__%3CBR%20%2F%3E*%20__%20preinit_array_start%20%3CBR%20%2F%3E%20%3CBR%20%2F%3E%20*%20__preinit_array_end%20*%20__preinit_array_end%20*%20__preinit_array_end%20*%20__preinit_array_end%20%3CBR%20%2F%3E%20*%20__preinit_array_end%20*%20__ecc_table_end%20etext%20%3CBR%20%2F%3E%20*%20__data_stinit_array_start%20*%20__init_array_end%20%3CBR%20%2F%3E%20*%20__fini_array_start%20*%20__fini_array_end%20*%20%3CBR%20%2F%3E%20%3CBR%20%2F%3E%20%3CBR%20%2F%3E%20%3CBR%20%2F%3E%20%3CBR%20%2F%3E%20%3CBR%20%2F%3E%20%3CBR%20%2F%3E__data_end%20__%3CBR%20%2F%3E*%20__%20bss_start%20__%3CBR%20%2F%3E*%20__%20bss_end%20__%3CBR%20%2F%3E*%20__%20end%20__%3CBR%20%2F%3E*%20end%3CBR%20%2F%3E*%20__%20HeapLimit%20*%20__StackLimit%3CBR%20%2F%3E*%20__%20stackTop%20*%20__stackTop%20*%20__stack%20*%2F%20ENTRY%20(RESET_Handl%20%3CBR%20%2F%3E%20er)%20%3CBR%20%2F%3E%20%3CBR%20%2F%3E%20%3CBR%20%2F%3E%3C%2FP%3E%3CP%3E%E7%AB%A0%E8%8A%82%3CBR%20%2F%3E%7B%3CBR%20%2F%3E.text%3A%3CBR%20%2F%3E%7B%3CBR%20%2F%3EKEEP(*(.vectors))%3CBR%20%2F%3E*(.text*)%3C%2FP%3E%3CP%3EKEEP(*(.init))%3CBR%20%2F%3EKEEP(*(.fini))%3C%2FP%3E%3CP%3E%2F*%20.ctors*%2F%3CBR%20%2F%3E*crtbegin.o(.ctors)%3CBR%20%2F%3E*crtbegin%3F.o(.ctors)%3CBR%20%2F%3E*(EXCLUDE_FILE(*crtend%3F.o%20*crtend.o)).ctors)%3CBR%20%2F%3E*(SORT(.ctors.*))%3CBR%20%2F%3E*(.ctors)%3C%2FP%3E%3CP%3E%2F*%20.dtors*%2F%3CBR%20%2F%3E*crtbegin.o(.dtors)%3CBR%20%2F%3E*crtbegin%3F.o(.dtors)%3CBR%20%2F%3E*(EXCLUDE_FILE(*crtend%3F.o%20*crtend.o)).dtors)%3CBR%20%2F%3E*(SORT(.dtors.*))%3CBR%20%2F%3E*(.dtors)%3C%2FP%3E%3CP%3E*(.rodata*)%3CBR%20%2F%3EKEEP(*(.eh_frame*))%3CBR%20%2F%3E%7D%20%26gt%3B%20PFLASH%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FP%3E%3CP%3E.arm.extab%3A%20%3CBR%20%2F%3E%20%7B*%20(.arm.extab*%20%3CBR%20%2F%3E.gnu.linkonce.armextab.*)%3CBR%20%2F%3E%7D%20%26gt%3B%20PFLASH%3C%2FP%3E%3CP%3E__exidx_start%20%3D%20%EF%BC%9B%3CBR%20%2F%3E.arm.exidX%3A%20%7B*%20(.arm.exidx*%20%3CBR%20%2F%3E%20%3CBR%20%2F%3E.gnu.linkonce.armexidx.*)%3CBR%20%2F%3E%7D%20%26gt%3B%20PFLASH%3CBR%20%2F%3E__exidx_end%20%3D%20%EF%BC%9B%3C%2FP%3E%3CP%3E.ecc.table%20%3A%3CBR%20%2F%3E%7B%3CBR%20%2F%3E.%3D%20ALIGN(4)%3B%3CBR%20%2F%3E__ecc_table_start__%20%3D%20..%EF%BC%9B%3C%2FP%3E%3CP%3EQUAD%20(__data_start__)%3CBR%20%2F%3EQUAD%20((__data_end__%20-%20__data_start__)%20%2F%20%3CLI-EMOJI%20id%3D%22lia_smiling-face-with-sunglasses%22%20title%3D%22%3Asmiling_face_with_sunglasses%3A%22%3E%3C%2FLI-EMOJI%3E%3C%2FP%3E%3CP%3EQUAD%20(__bss_start__)%3CBR%20%2F%3EQUAD%20((__bss_end__%20-%20__bss_start__)%20%2F%20%3CLI-EMOJI%20id%3D%22lia_smiling-face-with-sunglasses%22%20title%3D%22%3Asmiling_face_with_sunglasses%3A%22%3E%3C%2FLI-EMOJI%3E%3C%2FP%3E%3CP%3EQUAD%20(__HeapTop)%3CBR%20%2F%3EQUAD%20((__HeapLimit%20-%20__HeapTop)%20%2F%20%3CLI-EMOJI%20id%3D%22lia_smiling-face-with-sunglasses%22%20title%3D%22%3Asmiling_face_with_sunglasses%3A%22%3E%3C%2FLI-EMOJI%3E%3C%2FP%3E%3CP%3EQUAD%20(__StackLimit)%3CBR%20%2F%3EQUAD%20((__StackTop%20-%20__StackLimit)%20%2F%20%3CLI-EMOJI%20id%3D%22lia_smiling-face-with-sunglasses%22%20title%3D%22%3Asmiling_face_with_sunglasses%3A%22%3E%3C%2FLI-EMOJI%3E%3C%2FP%3E%3CP%3Equad%20(origin(itcm))%3CBR%20%2F%3Equad%20(length(itcm)%20%2F%20%3CLI-EMOJI%20id%3D%22lia_smiling-face-with-sunglasses%22%20title%3D%22%3Asmiling_face_with_sunglasses%3A%22%3E%3C%2FLI-EMOJI%3E%3C%2FP%3E%3CP%3Equad%20(origin(dtcm))%3CBR%20%2F%3Equad%20(length(dtcm)%20%2F%20%3CLI-EMOJI%20id%3D%22lia_smiling-face-with-sunglasses%22%20title%3D%22%3Asmiling_face_with_sunglasses%3A%22%3E%3C%2FLI-EMOJI%3E%3C%2FP%3E%3CP%3E__ecc_table_end__%20%3D%20%EF%BC%9B%3CBR%20%2F%3E%7D%20%26gt%3B%20PFLASH%3C%2FP%3E%3CP%3E.copy.table%20%3A%3CBR%20%2F%3E%7B%3CBR%20%2F%3E.%3D%20ALIGN(4)%3B%3CBR%20%2F%3E__copy_table_start__%20%3D%20..%EF%BC%9B%3C%2FP%3E%3CP%3ELONG%20(__etext)%3CBR%20%2F%3ELONG%20(__data_start__)%3CBR%20%2F%3ELONG%20((__data_end__%20-%20__data_start__)%20%2F%204)%3C%2FP%3E%3CP%3E%2F*%20%E5%9C%A8%E6%AD%A4%E5%A4%84%E6%B7%BB%E5%8A%A0%E6%AF%8F%E4%B8%AA%E9%99%84%E5%8A%A0%E6%95%B0%E6%8D%AE%E9%83%A8%E5%88%86%20*%2F%3CBR%20%2F%3E%2F*%3CBR%20%2F%3ELONG%20(__etext2)%3CBR%20%2F%3ELONG%20(__data2_start__)%3CBR%20%2F%3ELONG%20((__data2_end__%20-%20__data2_start__)%20%2F%204)%3CBR%20%2F%3E*%2F%3CBR%20%2F%3E__copy_table_end__%20%3D%20%EF%BC%9B%3CBR%20%2F%3E%7D%20%26gt%3B%20PFLASH%3C%2FP%3E%3CP%3E.zero.table%20%3A%3CBR%20%2F%3E%7B%3CBR%20%2F%3E.%3D%20ALIGN(4)%3B%3CBR%20%2F%3E__zero_table_start__%20%3D%20.%3B%3CBR%20%2F%3E%2F*%20Add%20each%20additional%20bss%20section%20here%20*%2F%3CBR%20%2F%3E%2F*%3CBR%20%2F%3ELONG%20(__bss2_start__)%3CBR%20%2F%3ELONG%20((__bss2_end__%20-%20__bss2_start__)%20%2F%204)%3CBR%20%2F%3E*%2F%3CBR%20%2F%3E__zero_table_end__%20%3D%20%EF%BC%9B%3CBR%20%2F%3E%7D%20%26gt%3B%20PFLASH%3C%2FP%3E%3CP%3E__etext%20%3D%20ALIGN(8)%EF%BC%9B%3C%2FP%3E%3CP%3E.boot_header%20%3A%3CBR%20%2F%3E%7B%3CBR%20%2F%3EKEEP(*(.boot_header))%3CBR%20%2F%3E%7D%20%26gt%3B%20%E9%97%AA%E5%AD%98%3C%2FP%3E%3CP%3E.standby_ram%20%3A%3CBR%20%2F%3E%7B%3CBR%20%2F%3E*(.standby_ram)%3CBR%20%2F%3E%7D%20%26gt%3B%20SRAM0_STDBY%3C%2FP%3E%3CP%3E%2F*%20Due%20ECC%20initialization%20sequence%20__data_start__%20and%20__data_end__%20should%20be%20aligned%20on%208%20bytes%20*%2F%3CBR%20%2F%3E.data%20%3A%20AT%20(__etext)%3CBR%20%2F%3E%7B%3CBR%20%2F%3E.%3D%20ALIGN(8)%3B%3CBR%20%2F%3E__data_start__%20%3D%20..%EF%BC%9B%3CBR%20%2F%3E*(vtable)%3CBR%20%2F%3E*(.data)%3CBR%20%2F%3E*(.data.*)%3C%2FP%3E%3CP%3E.%20%3D%20ALIGN(4)%3B%3CBR%20%2F%3E%2F*%20%E9%A2%84%E7%BD%AE%E6%95%B0%E6%8D%AE%20*%2F%3CBR%20%2F%3EPROVIDE_HIDDEN%20(__preinit_array_start%20%3D%20.)%EF%BC%9B%3CBR%20%2F%3EKEEP(*(.preinit_array))%3CBR%20%2F%3EPROVIDE_HIDDEN%20(__preinit_array_end%20%3D%20.)%EF%BC%9B%3C%2FP%3E%3CP%3E.%20%3D%20ALIGN(4)%3B%3CBR%20%2F%3E%2F*%20%E5%88%9D%E5%A7%8B%E6%95%B0%E6%8D%AE%20*%2F%3CBR%20%2F%3EPROVIDE_HIDDEN%20(__init_array_start%20%3D%20.)%EF%BC%9B%3CBR%20%2F%3EKEEP(*(SORT(.init_array.*))%3CBR%20%2F%3EKEEP(*(.init_array))%3CBR%20%2F%3EPROVIDE_HIDDEN%20(__init_array_end%20%3D%20.)%EF%BC%9B%3C%2FP%3E%3CP%3E.%20%3D%20ALIGN(4)%EF%BC%9B%3CBR%20%2F%3E%2F*%20Finit%20data%20*%2F%3CBR%20%2F%3EPROVIDE_HIDDEN%EF%BC%88__fini_array_start%20%3D%20.%EF%BC%89%EF%BC%9B%3CBR%20%2F%3EKEEP(*(SORT(.fini_array.*))%3CBR%20%2F%3EKEEP(*(.fini_array))%3CBR%20%2F%3EPROVIDE_HIDDEN%20(__fini_array_end%20%3D%20.)%EF%BC%9B%3C%2FP%3E%3CP%3EKEEP(*(.jcr*))%3CBR%20%2F%3E.%3D%20ALIGN(8)%3B%3CBR%20%2F%3E%2F*%20%E6%89%80%E6%9C%89%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9D%9F%20*%2F%3CBR%20%2F%3E__data_end__%20%3D%20%EF%BC%9B%3C%2FP%3E%3CP%3E%7D%20%26gt%3B%20SRAM%3C%2FP%3E%3CP%3E%2F*%20Due%20ECC%20initialization%20sequence%20__bss_start__%20and%20__bss_end__%20should%20be%20aligned%20on%208%20bytes%20*%2F%3CBR%20%2F%3E.bss%20%3A%3CBR%20%2F%3E%7B%3CBR%20%2F%3E.%20%3D%20ALIGN(8)%3B%3CBR%20%2F%3E__bss_start__%20%3D%20.%3B%3CBR%20%2F%3E*(.bss)%3CBR%20%2F%3E*(.bss.*)%3CBR%20%2F%3E*(COMMON)%3CBR%20%2F%3E.%20%3D%20ALIGN(8)%3B%3CBR%20%2F%3E__bss_end__%20%3D%20%EF%BC%9B%3CBR%20%2F%3E%7D%20%26gt%3B%20SRAM%3C%2FP%3E%3CP%3E%2F*%20%E6%AD%A3%E7%A1%AE%20ECC%20%E5%88%9D%E5%A7%8B%E5%8C%96%E5%BA%8F%E5%88%97%20__HeapTop%20and%20__%20HeapLimit%20%E5%BA%94%E5%9C%A8%208%20%E5%AD%97%E8%8A%82%E4%B8%8A%E5%AF%B9%E9%BD%90%20*%2F%20.heap%20%3CBR%20%2F%3E(COPY)%3A%3CBR%20%2F%3E%7B%3CBR%20%2F%3E.%3D%20ALIGN(8)%3B%3CBR%20%2F%3E__HeapTop%20%3D%20.%3B%3CBR%20%2F%3E__%20end__%20%3D%20..%EF%BC%9B%3CBR%20%2F%3E_end%20%3D%20%EF%BC%9B%3CBR%20%2F%3EPROVIDE(end%20%3D%20.)%3B%3CBR%20%2F%3E.%3D%20.%2B%20__heap_size%3B%3CBR%20%2F%3E.%3D%20ALIGN(8)%3B%3CBR%20%2F%3E__HeapLimit%20%3D%20%EF%BC%9B%3CBR%20%2F%3E%7D%20%26gt%3B%20SRAM%3C%2FP%3E%3CP%3E%2F*%20%E6%AD%A3%E7%A1%AE%20ECC%20%E5%88%9D%E5%A7%8B%E5%8C%96%E5%BA%8F%E5%88%97%20__StackLimit%20and%20__%20stackTop%20%E5%BA%94%E5%9C%A8%208%20%E5%AD%97%E8%8A%82%E4%B8%8A%E5%AF%B9%E9%BD%90%20*%2F%20.stack%20%3CBR%20%2F%3E(origin(sram)%20%2B%20length(sram)%20-%20__stack_size)%20(copy)%20%3A%3CBR%20%2F%3E%7B%3CBR%20%2F%3E.%3D%20align(8)%3B%3CBR%20%2F%3E__StackLimit%20%3D%20.%3B%3CBR%20%2F%3E.%20%3D%20.%20%2B%20__%20stack_size%3B%3CBR%20%2F%3E.%3D%20ALIGN(8)%EF%BC%9B%3CBR%20%2F%3E__StackTop%20%3D%20.%3B%3CBR%20%2F%3E%7D%20%26gt%3B%20SRAM%3CBR%20%2F%3EPROVIDE(__%20stack%20%3D%20__StackTop)%EF%BC%9B%3C%2FP%3E%3CP%3E%2F*%20%E6%A3%80%E6%9F%A5%E6%95%B0%E6%8D%AE%20%2B%20%E5%A0%86%20%2B%20%E5%A0%86%E6%A0%88%E6%98%AF%E5%90%A6%E8%B6%85%E8%BF%87%20RAM%20%E9%99%90%E5%88%B6%20*%2F%3CBR%20%2F%3EASSERT(__StackLimit%20%26gt%3B%3D%20__HeapLimit%2C%22region%20RAM%20%E6%BA%A2%E5%87%BA%E5%A0%86%22)%3CBR%20%2F%3ECM7_START_ADDRESS%20%3D%20ORIGIN(PFLASH)%3B%3CBR%20%2F%3E__STDBYRAM_START%20%3D%20ORIGIN(SRAM0_STDBY)%3B%3CBR%20%2F%3E__STDBYRAM_SIZE%20%3D%20LENGTH(SRAM0_STDBY)%3B%3CBR%20%2F%3E%7D%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FP%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fc-pwmxy87654%2FS32K344-WB%2Fpd-p%2FS32K344-WB%22%20class%3D%22lia-product-mention%22%20data-product%3D%223494-1%22%20target%3D%22_blank%22%3ES32K344-WB%3C%2FA%3E%3C%2FP%3E%3CP%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2174494%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20Basic%20Secure%20Boot%20HSE%20S32K344%20ADKP%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2174494%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E4%BD%A0%E5%A5%BD%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F248858%22%20target%3D%22_blank%22%3E%40silvia_zandoli2%3C%2FA%3E%3C%2FP%3E%0A%3CP%3E%E8%AF%B7%E5%8F%82%E8%80%83%E4%BB%A5%E4%B8%8B%E4%B8%BB%E9%A2%98%EF%BC%8C%E5%85%B6%E4%B8%AD%E5%8C%85%E5%90%AB%E4%B8%8E%E6%AD%A4%E4%B8%BB%E9%A2%98%E7%9B%B8%E5%85%B3%E7%9A%84%E4%BF%A1%E6%81%AF%EF%BC%8C%E6%88%96%E8%AE%B8%E5%AF%B9%E6%82%A8%E6%9C%89%E6%89%80%E5%B8%AE%E5%8A%A9%E3%80%82%3C%2FP%3E%0A%3CP%3E%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2FS32K%2FS32K3-Restrict-the-debug-access-with-a-password-when-HSE-is-used%2Fm-p%2F1756696%22%20target%3D%22_blank%22%3E%5BS32K3%5D%E4%BD%BF%E7%94%A8%20HSE%20%E6%97%B6%E9%80%9A%E8%BF%87%E5%AF%86%E7%A0%81%E9%99%90%E5%88%B6%E8%B0%83%E8%AF%95%E8%AE%BF%E9%97%AE%E6%9D%83%E9%99%90%3C%2FA%3E%3C%2FP%3E%0A%3CP%3E%E6%AD%A4%E5%A4%96%EF%BC%8C%E6%88%91%E5%BB%BA%E8%AE%AE%E6%9F%A5%E7%9C%8B%3CA%20href%3D%22https%3A%2F%2Fwww.nxp.com%2Fwebapp%2FDownload%3FcolCode%3DS32K3_HSE_DemoExamples%22%20target%3D%22_blank%22%20rel%3D%22noopener%20nofollow%20noreferrer%22%3ES32K3%20MCU%20%E9%80%9A%E7%94%A8%20HSE%20%E6%BC%94%E7%A4%BA%E7%A4%BA%E4%BE%8B%3C%2FA%3E%E5%92%8C%2F%E6%88%96%20HSE_DEMOAPP%20%E4%B8%AD%E6%8F%90%E4%BE%9B%E7%9A%84%E5%87%BD%E6%95%B0%20ProgramADKPService()%E3%80%81Advance_LifeCycle_Service()%20%E5%92%8C%20attributeProgrammingService()%20%E7%9A%84%E5%AE%9E%E7%8E%B0%E3%80%82%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3EBR%E3%80%81VaneB%3C%2FP%3E%3C%2FLINGO-BODY%3E