<?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中的主题 Re: S32K322 Initialized data segments are not initialized incorrect value or get corrupted</title>
    <link>https://community.nxp.com/t5/S32K/S32K322-Initialized-data-segments-are-not-initialized-incorrect/m-p/2084379#M47979</link>
    <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/160001"&gt;@danielmartynek&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Its very difficult to track the issue, I was checking if there is any clock issue cause this corruption.&lt;/P&gt;&lt;P&gt;But, after some experiment I am 90% sure, this is not clock issue its any other issue which we are still investigating.&lt;/P&gt;&lt;P&gt;We are creating a new bootloader and test if this helps us.&lt;/P&gt;&lt;P&gt;It would be very helpful if we connect on call.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks &amp;amp; Regards&lt;/P&gt;&lt;P&gt;Abdullah Ansari&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Tue, 22 Apr 2025 07:32:36 GMT</pubDate>
    <dc:creator>AbdNxp</dc:creator>
    <dc:date>2025-04-22T07:32:36Z</dc:date>
    <item>
      <title>S32K322 Initialized data segments are not initialized incorrect value or get corrupted</title>
      <link>https://community.nxp.com/t5/S32K/S32K322-Initialized-data-segments-are-not-initialized-incorrect/m-p/2075350#M47539</link>
      <description>&lt;P&gt;Hi Dear NXP and contributors,&lt;/P&gt;&lt;P&gt;I am stuck in very critical issue regarding corruption of initialized data segment.&lt;/P&gt;&lt;P&gt;I am using NXP S32K322 MCU, there are two code section c0 and c1 , c0 starts with 0x000000 address (I use it for bootloader) while 0x500200 for application code flash.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Before I begin, listing sdk details from RTD header file:-&lt;/P&gt;&lt;P&gt;* Autosar Version : 4.7.0&lt;BR /&gt;* Autosar Revision : ASR_REL_4_7_REV_0000&lt;BR /&gt;* Autosar Conf.Variant :&lt;BR /&gt;* SW Version : 3.0.0&lt;BR /&gt;* Build Version : S32K3_RTD_3_0_0_P01_HF02_D2305_ASR_REL_4_7_REV_0000_20230331&lt;/P&gt;&lt;P&gt;* IDE : S32DS&lt;/P&gt;&lt;P&gt;* MCU : S32K322 Cortex _M7_0&lt;/P&gt;&lt;P&gt;My application some time encounter with hardfault, which I debugged and found that just after control jumped to application from the bootloader few static variable (be pointer or normal variable) either not initialized with the constant value that is assigned during initialization and few pointer variables in RTD its self are not initialized with correct address.&lt;/P&gt;&lt;P&gt;for example ,&lt;/P&gt;&lt;P&gt;1. I am using freeRTOS where variable xFreeBytesRemaining in heap_2 should be initialize with configADJUSTED_HEAP_SIZE but some time its initial value is 0. which is invalid value and because of this task/software timer/mutex e.tc create fails.&lt;/P&gt;&lt;P&gt;2. Similarly variable Power_Ip_pxMC_RGM, which suppose to have default value defined by macro&amp;nbsp;IP_MC_RGM_BASE. But some time this variable get initialize with some invalid value, which definitely causes illegal memory access causing hard fault.&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am attaching my bootloader and application linker files, application configuration file.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Below function where Bootloader jumps to application&lt;/P&gt;&lt;DIV&gt;void bootApp(void)&lt;/DIV&gt;&lt;DIV&gt;{&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;if (periPheralInitStatus.spiInitStatus)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;SPIDeInit();&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;C40_Ip_Abort();&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Clock_Ip_DisableModuleClock(LPSPI2_CLK);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;if (periPheralInitStatus.canInitStatus)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;IntCtrl_Ip_DisableIrq (FlexCAN3_1_IRQn);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;CAN3DeInit();&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Clock_Ip_DisableModuleClock(FLEXCAN3_CLK);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;if(periPheralInitStatus.timer0InitStatus)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;IntCtrl_Ip_DisableIrq(PIT0_IRQn);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;TIMERDeInit();&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Clock_Ip_DisableModuleClock(PIT0_CLK);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;WDTReset();&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Bootup_Application(0x00500800);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;}&lt;/DIV&gt;&lt;DIV&gt;void Bootup_Application(const uint32_t app_StarAddress)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; static void (*jump_to_application)(void);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; appStack = *((uint32_t *)(app_StarAddress));&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; appEntry = *((uint32_t *)(app_StarAddress + 4));&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; jump_to_application = (void (*)(void))appEntry;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; S32_SCB-&amp;gt;VTOR = (uint32_t)app_StarAddress;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;/*&amp;nbsp; &amp;nbsp;ASM_KEYWORD("cpsid i");&amp;nbsp; &amp;nbsp;*/&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; __asm volatile ("cpsid i" : : : "memory");&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; __asm volatile ("msr msp, %0" : : "r" (appStack) : "sp");&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; __asm volatile ("MSR psp, %0\n" : : "r" (appStack) : "memory");&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; jump_to_application();&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;}&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Below is application main function&lt;/P&gt;&lt;DIV&gt;void AppMain(void)&lt;/DIV&gt;&lt;DIV&gt;{&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;GPIOInit();&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;WDTInit();&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;WDTReset();&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Power_Ip_Init(&amp;amp;Power_Ip_HwIPsConfigPB);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;BoardInit();&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;WDTReset();&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;/*This is what I was talking, here I cross verify the freeHeap before creating tasks*&lt;/SPAN&gt;&lt;SPAN&gt;/&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;if ((configTOTAL_HEAP_SIZE - &lt;LI-EMOJI id="lia_smiling-face-with-sunglasses" title=":smiling_face_with_sunglasses:"&gt;&lt;/LI-EMOJI&gt; !=&amp;nbsp; xPortGetFreeHeapSize())&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;xPortAppInitFreeHeapSize();&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;OSInit(); //Creats the task&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;OsStart(); // just start the scheduler&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;while(1); //if stuct here , external watch dog will reset the softeare.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Need Help urgently.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks &amp;amp; Regards&lt;/P&gt;</description>
      <pubDate>Mon, 07 Apr 2025 16:53:43 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/S32K322-Initialized-data-segments-are-not-initialized-incorrect/m-p/2075350#M47539</guid>
      <dc:creator>AbdNxp</dc:creator>
      <dc:date>2025-04-07T16:53:43Z</dc:date>
    </item>
    <item>
      <title>Re: S32K322 Initialized data segments are not initialized incorrect value or get corrupted</title>
      <link>https://community.nxp.com/t5/S32K/S32K322-Initialized-data-segments-are-not-initialized-incorrect/m-p/2076232#M47576</link>
      <description>&lt;P&gt;Hi &lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/239701"&gt;@AbdNxp&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;The S32K322 MCU has two application cores, I understand the the secondary core is disabled. &lt;/P&gt;
&lt;P&gt;Ca you share more information about the exception? Is it a MemManage fault or a BusFault?&lt;/P&gt;
&lt;P&gt;Can you check the addresses of the variables just before the jump and use watchpoints on them?&lt;/P&gt;
&lt;P&gt;What do you mean by "just after the jump", where do you halt it? &lt;/P&gt;
&lt;P&gt;Are some of the variable initialized in the bootloader already?&amp;nbsp;You did not share the startup code of the two projects. &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks,&lt;/P&gt;
&lt;P&gt;Daniel&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 08 Apr 2025 13:27:41 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/S32K322-Initialized-data-segments-are-not-initialized-incorrect/m-p/2076232#M47576</guid>
      <dc:creator>danielmartynek</dc:creator>
      <dc:date>2025-04-08T13:27:41Z</dc:date>
    </item>
    <item>
      <title>Re: S32K322 Initialized data segments are not initialized incorrect value or get corrupted</title>
      <link>https://community.nxp.com/t5/S32K/S32K322-Initialized-data-segments-are-not-initialized-incorrect/m-p/2076684#M47591</link>
      <description>&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;I am using two power modes&lt;/P&gt;&lt;P&gt;mode0 is RUN mode, and mode1 is STANDBY mode.&lt;/P&gt;&lt;P&gt;I have attached few snapshot from configuration tool, that may help my configuation.&lt;/P&gt;&lt;P&gt;"What I mean by after jumping from bootloader to application?"&lt;/P&gt;&lt;P&gt;Every reset bootloader run (starting at 0x00400000 which is c0 of flash memory) it initializes CAN SPI, timer,does read /write to internal flash memory.&amp;nbsp;&lt;/P&gt;&lt;P&gt;Once bootloader met certain conditions to jump to application it jumps to address 0x00500800 (application start address is 0x00500200), sell below application linler file content.&lt;/P&gt;&lt;DIV&gt;HEAP_SIZE&amp;nbsp; = DEFINED(__heap_size__)&amp;nbsp; ? __heap_size__&amp;nbsp; : 0x00004000;&lt;/DIV&gt;&lt;DIV&gt;__STANDBY_RAM_LIMIT_END&amp;nbsp; = 0x20407FFF;&amp;nbsp; /* 32Kbyte for standby ram */&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;ENTRY(Reset_Handler)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;MEMORY&lt;/DIV&gt;&lt;DIV&gt;{&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;int_pflash&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; : ORIGIN = 0x00500000 + 0x200, LENGTH = 0x001D4000 - 0x200&amp;nbsp; &amp;nbsp;/* 2048KB - 176KB (sBAF + HSE)*/&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; /*int_pflash&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; : ORIGIN = 0x00400000, LENGTH = 0x001D4000&amp;nbsp; /*2048KB - 176KB (sBAF + HSE)*/&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; int_dflash&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; : ORIGIN = 0x10000000, LENGTH = 0x00020000&amp;nbsp; &amp;nbsp; /* 128KB */&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; int_itcm&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; : ORIGIN = 0x00000000, LENGTH = 0x00008000&amp;nbsp; &amp;nbsp; /* 32KB */&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; int_dtcm&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; : ORIGIN = 0x20000000, LENGTH = 0x0000F000&amp;nbsp; &amp;nbsp; /* 60KB */&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; int_stack_dtcm&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; : ORIGIN = 0x2000F000, LENGTH = 0x00001000&amp;nbsp; &amp;nbsp; /* 4KB */&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; int_sram&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; : ORIGIN = 0x20400000, LENGTH = 0x0000CA00&amp;nbsp; &amp;nbsp; /* (50KB-VRN)32KB, needs to include int_sram_fls_rsv */&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; int_sram_fls_rsv&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; : ORIGIN = 0x2040CA00, LENGTH = 0x00000100&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; int_sram_no_cacheable&amp;nbsp; &amp;nbsp;: ORIGIN = 0x2040CB00, LENGTH = 0x00003000&amp;nbsp; &amp;nbsp; /* (12KB-VRN)16KB , needs to include int_sram_results&amp;nbsp; */&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; int_sram_results&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; : ORIGIN = 0x2040FB00, LENGTH = 0x00000100&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; int_sram_shareable&amp;nbsp; &amp;nbsp; &amp;nbsp; : ORIGIN = 0x2040FC00, LENGTH = 0x00000400&amp;nbsp; &amp;nbsp; /* (1KB - VRN)16KB */&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; ram_rsvd2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;: ORIGIN = 0x20410000, LENGTH = 0&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/* End of SRAM */&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; /*********************************************************************************/&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; int_dtcm_1_bd&amp;nbsp; &amp;nbsp; : ORIGIN = 0x21400000, LENGTH = 0x00010000&amp;nbsp; &amp;nbsp; /* 64K (VRN)*/&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; /*********************************************************************************/&lt;/DIV&gt;&lt;DIV&gt;}&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;SECTIONS&lt;/DIV&gt;&lt;DIV&gt;{&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; .pflash :&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; KEEP(*(.boot_header))&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(2048);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; __text_start = .;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; __interrupts_init_start = .;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; KEEP(*(.intc_vector))&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(4);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; __interrupts_init_end = .;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; KEEP(*(.core_loop))&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(4);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; *(.startup)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(4);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; *(.systeminit)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(4);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; *(.text.startup)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(4);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; *(.text)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; *(.text*)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(4);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; *(.mcal_text)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(4);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; *(.acmcu_code_rom)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(4);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; __acfls_code_rom_start = .;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; *(.acfls_code_rom)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(4);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; __acfls_code_rom_end = .;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; KEEP(*(.init))&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(4);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; KEEP(*(.fini))&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(4);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; *(.rodata)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; *(.rodata*)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(4);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; *(.mcal_const_cfg)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(4);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; *(.mcal_const)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(4);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; __init_table = .;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; KEEP(*(.init_table))&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(4);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; __zero_table = .;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; KEEP(*(.zero_table))&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; } &amp;gt; int_pflash&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; . = ALIGN(4);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __text_end = .;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __sram_data_rom = __text_end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; .sram_bss (NOLOAD) :&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(8);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; __standby_ram_begin__ = .;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; *(.standby_data)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(8);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; __standby_ram_end__ = .;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(16);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; __sram_bss_start = .;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; *(.bss)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; *(.bss*)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(16);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; *(.mcal_bss)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(4);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; __sram_bss_end = .;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; } &amp;gt; int_sram&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; .sram_data : AT(__sram_data_rom)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(4);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; __sram_data_begin__ = .;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(4);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; *(.ramcode)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(4);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; *(.data)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; *(.data*)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(4);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; *(.mcal_data)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(4);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; __sram_data_end__ = .;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; } &amp;gt; int_sram&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __sram_data_rom_end = __sram_data_rom + (__sram_data_end__ - __sram_data_begin__);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; /* heap section */&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; .heap (NOLOAD):&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . += ALIGN(4);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _end = .;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; end = .;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _heap_start = .;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . += HEAP_SIZE;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _heap_end = .;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; } &amp;gt; int_sram&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; .acfls_code_ram :&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; acfls_code_ram_start&amp;nbsp; = .;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; *(.acfls_code_ram)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; acfls_code_ram_stop&amp;nbsp; &amp;nbsp;= .;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; } &amp;gt; int_sram_fls_rsv&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __non_cacheable_data_rom = __sram_data_rom_end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; .non_cacheable_data : AT(__non_cacheable_data_rom)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(4);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; __non_cacheable_data_start__ = .;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; *(.mcal_data_no_cacheable)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(4);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; *(.mcal_const_no_cacheable)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(4);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; HSE_LOOP_ADDR = .;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; LONG(0x0);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; __non_cacheable_data_end__ = .;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; } &amp;gt; int_sram_no_cacheable&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __non_cacheable_data_rom_end = __non_cacheable_data_rom + (__non_cacheable_data_end__ - __non_cacheable_data_start__);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; .non_cacheable_bss (NOLOAD) :&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(16);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; __non_cacheable_bss_start = .;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; *(.mcal_bss_no_cacheable)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(4);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; __non_cacheable_bss_end = .;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; } &amp;gt; int_sram_no_cacheable&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; .int_results (NOLOAD):&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(4);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; KEEP(*(.int_results))&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . += 0x100;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; } &amp;gt; int_sram_results&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __shareable_data_rom = __non_cacheable_data_rom_end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; .shareable_data : AT(__shareable_data_rom)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(4);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; __shareable_data_start__ = .;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; KEEP(*(.mcal_shared_data))&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(4);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; __shareable_data_end__ = .;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; } &amp;gt; int_sram_shareable&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __shareable_data_rom_end = __shareable_data_rom + (__shareable_data_end__ - __shareable_data_start__);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; .int_vector :&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(2048);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; __interrupts_ram_start = .;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . += __interrupts_init_end - __interrupts_init_start;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(4);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; __interrupts_ram_end = .;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; } &amp;gt; int_dtcm&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; .shareable_bss (NOLOAD) :&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(16);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; __shareable_bss_start = .;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; *(.mcal_shared_bss)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(4);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; __shareable_bss_end = .;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; } &amp;gt; int_sram_shareable&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; /********************************************************** VRN*/&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __itcm0_code_rom = __shareable_data_rom_end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; .itcm0_code : AT(__itcm0_code_rom)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(4);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; __itcm0_code_start__ = .;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; KEEP(*(.itcm0_code))&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(4);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; __itcm0_code_end__ = .;&amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; } &amp;gt; int_itcm&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __itcm0_code_rom_end = __itcm0_code_rom + (__itcm0_code_end__ - __itcm0_code_start__);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __dtcm0_data_rom = __itcm0_code_rom_end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; .dtcm0_data : AT(__dtcm0_data_rom)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(4);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; __dtcm0_data_start__ = .;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; KEEP(*(.dtcm0_data))&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(4);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; __dtcm0_data_end__ = .;&amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; } &amp;gt; int_dtcm&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __dtcm0_data_rom_end = __dtcm0_data_rom + (__dtcm0_data_end__ - __dtcm0_data_start__);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __dtcm1_bd_data_rom&amp;nbsp; = __dtcm0_data_rom_end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; .dtcm1_bd_data : AT(__dtcm1_bd_data_rom)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(4);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; __dtcm1_bd_data_start__ = .;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; KEEP(*(.dtcm1_bd_data))&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(4);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; __dtcm1_bd_data_end__ = .;&amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; } &amp;gt; int_dtcm_1_bd&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __dtcm1_bd_data_rom_end = __dtcm1_bd_data_rom + (__dtcm1_bd_data_end__ - __dtcm1_bd_data_start__);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;/**********************************************************/&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __Stack_dtcm_end&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= ORIGIN(int_stack_dtcm);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __Stack_dtcm_start&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= ORIGIN(int_stack_dtcm) + LENGTH(int_stack_dtcm);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __INT_SRAM_START&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= ORIGIN(int_sram);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __INT_SRAM_END&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= ORIGIN(ram_rsvd2);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __INT_ITCM_START&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= ORIGIN(int_itcm);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __INT_ITCM_END&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= ORIGIN(int_itcm) + LENGTH(int_itcm);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __INT_DTCM_START&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= ORIGIN(int_dtcm);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __INT_DTCM_END&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= ORIGIN(int_dtcm) + LENGTH(int_dtcm) + LENGTH(int_stack_dtcm);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; /*********************************************************VRN*/&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __INT_DTCM_1_BD_START&amp;nbsp; &amp;nbsp; = ORIGIN(int_dtcm_1_bd);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __INT_DTCM_1_BD_END&amp;nbsp; &amp;nbsp; &amp;nbsp; = ORIGIN(int_dtcm_1_bd) + LENGTH(int_dtcm_1_bd);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __RAM_DTCM1_BD_DATA_START&amp;nbsp; = __dtcm1_bd_data_start__;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __ROM_DTCM1_BD_DATA_START&amp;nbsp; = __dtcm1_bd_data_rom;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __ROM_DTCM1_BD_DATA_END&amp;nbsp; &amp;nbsp; = __dtcm1_bd_data_rom_end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __DTCM1_BD_START = ORIGIN(int_dtcm_1_bd);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __DTCM1_BD_SIZE&amp;nbsp; = 0x10; /*64 kbyte*/&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;/**********************************************************/&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __RAM_SHAREABLE_START&amp;nbsp; &amp;nbsp; = ORIGIN(int_sram_shareable);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __RAM_SHAREABLE_END&amp;nbsp; &amp;nbsp; &amp;nbsp; = ORIGIN(int_sram_shareable) + LENGTH(int_sram_shareable);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __RAM_SHAREABLE_SIZE&amp;nbsp; &amp;nbsp; &amp;nbsp;= 0xE;&amp;nbsp; /* 16kbyte in power of 2 */&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __ROM_SHAREABLE_START&amp;nbsp; &amp;nbsp; = __shareable_data_rom;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __ROM_SHAREABLE_END&amp;nbsp; &amp;nbsp; &amp;nbsp; = __shareable_data_rom_end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __RAM_NO_CACHEABLE_START = ORIGIN(int_sram_no_cacheable);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __RAM_NO_CACHEABLE_END&amp;nbsp; &amp;nbsp;= ORIGIN(int_sram_shareable)-1;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __RAM_NO_CACHEABLE_SIZE&amp;nbsp; = 0xE;&amp;nbsp; /* 16kbyte in power of 2 */&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __ROM_NO_CACHEABLE_START = __non_cacheable_data_rom;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __ROM_NO_CACHEABLE_END&amp;nbsp; &amp;nbsp;= __non_cacheable_data_rom_end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __RAM_CACHEABLE_START&amp;nbsp; &amp;nbsp; = __sram_data_begin__;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __RAM_CACHEABLE_END&amp;nbsp; &amp;nbsp; &amp;nbsp; = ORIGIN(int_sram_no_cacheable)-1;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __RAM_CACHEABLE_SIZE&amp;nbsp; &amp;nbsp; &amp;nbsp;= 0xE;&amp;nbsp; /* 16kbyte in power of 2 */&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __ROM_CACHEABLE_START&amp;nbsp; &amp;nbsp; = __sram_data_rom;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __ROM_CACHEABLE_END&amp;nbsp; &amp;nbsp; &amp;nbsp; = __sram_data_rom_end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __ROM_CODE_START&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= ORIGIN(int_pflash);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __ROM_DATA_START&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= ORIGIN(int_dflash);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __BSS_SRAM_START&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= __sram_bss_start;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __BSS_SRAM_END&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= __sram_bss_end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __BSS_SRAM_SIZE&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = __sram_bss_end - __sram_bss_start;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __BSS_SRAM_NC_START&amp;nbsp; &amp;nbsp; &amp;nbsp; = __non_cacheable_bss_start;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __BSS_SRAM_NC_SIZE&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= __non_cacheable_bss_end - __non_cacheable_bss_start;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __BSS_SRAM_NC_END&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = __non_cacheable_bss_end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __BSS_SRAM_SH_START&amp;nbsp; &amp;nbsp; &amp;nbsp; = __shareable_bss_start;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __BSS_SRAM_SH_SIZE&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= __shareable_bss_end - __shareable_bss_start;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __BSS_SRAM_SH_END&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = __shareable_bss_end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __RAM_INTERRUPT_START&amp;nbsp; &amp;nbsp; = __interrupts_ram_start;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __INIT_INTERRUPT_START&amp;nbsp; &amp;nbsp;= __interrupts_init_start;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __INIT_INTERRUPT_END&amp;nbsp; &amp;nbsp; &amp;nbsp;= __interrupts_init_end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __RAM_ITCM0_CODE_START&amp;nbsp; &amp;nbsp;= __itcm0_code_start__;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __ROM_ITCM0_CODE_START&amp;nbsp; &amp;nbsp;= __itcm0_code_rom;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __ROM_ITCM0_CODE_END&amp;nbsp; &amp;nbsp; &amp;nbsp;= __itcm0_code_rom_end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __RAM_DTCM0_DATA_START&amp;nbsp; &amp;nbsp;= __dtcm0_data_start__;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __ROM_DTCM0_DATA_START&amp;nbsp; &amp;nbsp;= __dtcm0_data_rom;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __ROM_DTCM0_DATA_END&amp;nbsp; &amp;nbsp; &amp;nbsp;= __dtcm0_data_rom_end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __INIT_TABLE&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= __init_table;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __ZERO_TABLE&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= __zero_table;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __RAM_INIT&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= 1;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __ITCM_INIT&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = 1;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __DTCM_INIT&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = 1;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; /**********************************************************/&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __DTCM1_BD_INIT&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = 1;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;/**********************************************************/&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; Fls_ACEraseRomStart&amp;nbsp; &amp;nbsp; &amp;nbsp; = __acfls_code_rom_start;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; Fls_ACEraseRomEnd&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = __acfls_code_rom_end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; Fls_ACEraseSize&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = (__acfls_code_rom_end - __acfls_code_rom_start) / 4; /* Copy 4 bytes at a time*/&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; Fls_ACWriteRomStart&amp;nbsp; &amp;nbsp; &amp;nbsp; = __acfls_code_rom_start;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; Fls_ACWriteRomEnd&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = __acfls_code_rom_end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; Fls_ACWriteSize&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = (__acfls_code_rom_end - __acfls_code_rom_start) / 4; /* Copy 4 bytes at a time*/&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; _ERASE_FUNC_ADDRESS_&amp;nbsp; &amp;nbsp; &amp;nbsp;= ADDR(.acfls_code_ram);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; _WRITE_FUNC_ADDRESS_&amp;nbsp; &amp;nbsp; &amp;nbsp;= ADDR(.acfls_code_ram);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __ENTRY_VTABLE&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= __INIT_INTERRUPT_START;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __CORE0_VTOR&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= __INIT_INTERRUPT_START;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __CORE1_VTOR&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= __INIT_INTERRUPT_START;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __CORE2_VTOR&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= __INIT_INTERRUPT_START;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __INDEX_COPY_CORE2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= 3;&amp;nbsp; &amp;nbsp; /* This symbol is used to initialize data of ITCM/DTCM for CORE2 */&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; ASSERT(__standby_ram_end__ &amp;lt;= __STANDBY_RAM_LIMIT_END, "Memory for standby ram overflow")&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;}&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;see bootloader Linker below:-&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV&gt;HEAP_SIZE&amp;nbsp; = DEFINED(__heap_size__)&amp;nbsp; ? __heap_size__&amp;nbsp; : 0x00004000;&lt;/DIV&gt;&lt;DIV&gt;__STANDBY_RAM_LIMIT_END&amp;nbsp; = 0x20407FFF;&amp;nbsp; /* 32Kbyte for standby ram */&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;ENTRY(Reset_Handler)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;MEMORY&lt;/DIV&gt;&lt;DIV&gt;{&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;/*int_pflash&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; : ORIGIN = 0x00500000 + 0x200, LENGTH = 0x001D4000 - 0x200&amp;nbsp; &amp;nbsp;/* 2048KB - 176KB (sBAF + HSE)*/&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; int_pflash&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; : ORIGIN = 0x00400000, LENGTH = 0x001D4000&amp;nbsp; /*2048KB - 176KB (sBAF + HSE)*/&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; int_dflash&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; : ORIGIN = 0x10000000, LENGTH = 0x00020000&amp;nbsp; &amp;nbsp; /* 128KB */&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; int_itcm&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; : ORIGIN = 0x00000000, LENGTH = 0x00008000&amp;nbsp; &amp;nbsp; /* 32KB */&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; int_dtcm&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; : ORIGIN = 0x20000000, LENGTH = 0x0000F000&amp;nbsp; &amp;nbsp; /* 60KB */&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; int_stack_dtcm&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; : ORIGIN = 0x2000F000, LENGTH = 0x00001000&amp;nbsp; &amp;nbsp; /* 4KB */&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; int_sram&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; : ORIGIN = 0x20400000, LENGTH = 0x0000CA00&amp;nbsp; &amp;nbsp; /* (50KB-VRN)32KB, needs to include int_sram_fls_rsv */&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; int_sram_fls_rsv&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; : ORIGIN = 0x2040CA00, LENGTH = 0x00000100&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; int_sram_no_cacheable&amp;nbsp; &amp;nbsp;: ORIGIN = 0x2040CB00, LENGTH = 0x00003000&amp;nbsp; &amp;nbsp; /* (12KB-VRN)16KB , needs to include int_sram_results&amp;nbsp; */&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; int_sram_results&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; : ORIGIN = 0x2040FB00, LENGTH = 0x00000100&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; int_sram_shareable&amp;nbsp; &amp;nbsp; &amp;nbsp; : ORIGIN = 0x2040FC00, LENGTH = 0x00000400&amp;nbsp; &amp;nbsp; /* (1KB - VRN)16KB */&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; ram_rsvd2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;: ORIGIN = 0x20410000, LENGTH = 0&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/* End of SRAM */&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; /*********************************************************************************/&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; int_dtcm_1_bd&amp;nbsp; &amp;nbsp; : ORIGIN = 0x21400000, LENGTH = 0x00010000&amp;nbsp; &amp;nbsp; /* 64K (VRN)*/&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; /*********************************************************************************/&lt;/DIV&gt;&lt;DIV&gt;}&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;SECTIONS&lt;/DIV&gt;&lt;DIV&gt;{&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; .pflash :&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; KEEP(*(.boot_header))&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(2048);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; __text_start = .;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; __interrupts_init_start = .;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; KEEP(*(.intc_vector))&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(4);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; __interrupts_init_end = .;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; KEEP(*(.core_loop))&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(4);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; *(.startup)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(4);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; *(.systeminit)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(4);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; *(.text.startup)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(4);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; *(.text)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; *(.text*)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(4);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; *(.mcal_text)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(4);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; *(.acmcu_code_rom)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(4);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; __acfls_code_rom_start = .;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; *(.acfls_code_rom)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(4);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; __acfls_code_rom_end = .;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; KEEP(*(.init))&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(4);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; KEEP(*(.fini))&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(4);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; *(.rodata)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; *(.rodata*)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(4);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; *(.mcal_const_cfg)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(4);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; *(.mcal_const)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(4);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; __init_table = .;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; KEEP(*(.init_table))&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(4);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; __zero_table = .;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; KEEP(*(.zero_table))&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; } &amp;gt; int_pflash&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; . = ALIGN(4);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __text_end = .;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __sram_data_rom = __text_end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; .sram_bss (NOLOAD) :&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(8);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; __standby_ram_begin__ = .;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; *(.standby_data)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(8);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; __standby_ram_end__ = .;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(16);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; __sram_bss_start = .;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; *(.bss)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; *(.bss*)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(16);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; *(.mcal_bss)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(4);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; __sram_bss_end = .;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; } &amp;gt; int_sram&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; .sram_data : AT(__sram_data_rom)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(4);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; __sram_data_begin__ = .;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(4);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; *(.ramcode)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(4);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; *(.data)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; *(.data*)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(4);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; *(.mcal_data)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(4);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; __sram_data_end__ = .;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; } &amp;gt; int_sram&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __sram_data_rom_end = __sram_data_rom + (__sram_data_end__ - __sram_data_begin__);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; /* heap section */&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; .heap (NOLOAD):&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . += ALIGN(4);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _end = .;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; end = .;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _heap_start = .;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . += HEAP_SIZE;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _heap_end = .;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; } &amp;gt; int_sram&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; .acfls_code_ram :&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; acfls_code_ram_start&amp;nbsp; = .;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; *(.acfls_code_ram)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; acfls_code_ram_stop&amp;nbsp; &amp;nbsp;= .;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; } &amp;gt; int_sram_fls_rsv&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __non_cacheable_data_rom = __sram_data_rom_end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; .non_cacheable_data : AT(__non_cacheable_data_rom)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(4);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; __non_cacheable_data_start__ = .;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; *(.mcal_data_no_cacheable)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(4);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; *(.mcal_const_no_cacheable)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(4);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; HSE_LOOP_ADDR = .;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; LONG(0x0);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; __non_cacheable_data_end__ = .;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; } &amp;gt; int_sram_no_cacheable&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __non_cacheable_data_rom_end = __non_cacheable_data_rom + (__non_cacheable_data_end__ - __non_cacheable_data_start__);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; .non_cacheable_bss (NOLOAD) :&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(16);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; __non_cacheable_bss_start = .;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; *(.mcal_bss_no_cacheable)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(4);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; __non_cacheable_bss_end = .;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; } &amp;gt; int_sram_no_cacheable&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; .int_results (NOLOAD):&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(4);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; KEEP(*(.int_results))&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . += 0x100;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; } &amp;gt; int_sram_results&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __shareable_data_rom = __non_cacheable_data_rom_end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; .shareable_data : AT(__shareable_data_rom)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(4);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; __shareable_data_start__ = .;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; KEEP(*(.mcal_shared_data))&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(4);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; __shareable_data_end__ = .;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; } &amp;gt; int_sram_shareable&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __shareable_data_rom_end = __shareable_data_rom + (__shareable_data_end__ - __shareable_data_start__);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; .int_vector :&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(2048);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; __interrupts_ram_start = .;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . += __interrupts_init_end - __interrupts_init_start;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(4);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; __interrupts_ram_end = .;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; } &amp;gt; int_dtcm&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; .shareable_bss (NOLOAD) :&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(16);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; __shareable_bss_start = .;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; *(.mcal_shared_bss)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(4);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; __shareable_bss_end = .;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; } &amp;gt; int_sram_shareable&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; /********************************************************** VRN*/&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __itcm0_code_rom = __shareable_data_rom_end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; .itcm0_code : AT(__itcm0_code_rom)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(4);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; __itcm0_code_start__ = .;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; KEEP(*(.itcm0_code))&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(4);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; __itcm0_code_end__ = .;&amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; } &amp;gt; int_itcm&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __itcm0_code_rom_end = __itcm0_code_rom + (__itcm0_code_end__ - __itcm0_code_start__);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __dtcm0_data_rom = __itcm0_code_rom_end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; .dtcm0_data : AT(__dtcm0_data_rom)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(4);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; __dtcm0_data_start__ = .;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; KEEP(*(.dtcm0_data))&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(4);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; __dtcm0_data_end__ = .;&amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; } &amp;gt; int_dtcm&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __dtcm0_data_rom_end = __dtcm0_data_rom + (__dtcm0_data_end__ - __dtcm0_data_start__);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __dtcm1_bd_data_rom&amp;nbsp; = __dtcm0_data_rom_end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; .dtcm1_bd_data : AT(__dtcm1_bd_data_rom)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(4);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; __dtcm1_bd_data_start__ = .;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; KEEP(*(.dtcm1_bd_data))&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . = ALIGN(4);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; __dtcm1_bd_data_end__ = .;&amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; } &amp;gt; int_dtcm_1_bd&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __dtcm1_bd_data_rom_end = __dtcm1_bd_data_rom + (__dtcm1_bd_data_end__ - __dtcm1_bd_data_start__);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;/**********************************************************/&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __Stack_dtcm_end&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= ORIGIN(int_stack_dtcm);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __Stack_dtcm_start&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= ORIGIN(int_stack_dtcm) + LENGTH(int_stack_dtcm);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __INT_SRAM_START&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= ORIGIN(int_sram);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __INT_SRAM_END&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= ORIGIN(ram_rsvd2);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __INT_ITCM_START&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= ORIGIN(int_itcm);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __INT_ITCM_END&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= ORIGIN(int_itcm) + LENGTH(int_itcm);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __INT_DTCM_START&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= ORIGIN(int_dtcm);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __INT_DTCM_END&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= ORIGIN(int_dtcm) + LENGTH(int_dtcm) + LENGTH(int_stack_dtcm);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; /*********************************************************VRN*/&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __INT_DTCM_1_BD_START&amp;nbsp; &amp;nbsp; = ORIGIN(int_dtcm_1_bd);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __INT_DTCM_1_BD_END&amp;nbsp; &amp;nbsp; &amp;nbsp; = ORIGIN(int_dtcm_1_bd) + LENGTH(int_dtcm_1_bd);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __RAM_DTCM1_BD_DATA_START&amp;nbsp; = __dtcm1_bd_data_start__;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __ROM_DTCM1_BD_DATA_START&amp;nbsp; = __dtcm1_bd_data_rom;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __ROM_DTCM1_BD_DATA_END&amp;nbsp; &amp;nbsp; = __dtcm1_bd_data_rom_end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __DTCM1_BD_START = ORIGIN(int_dtcm_1_bd);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __DTCM1_BD_SIZE&amp;nbsp; = 0x10; /*64 kbyte*/&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;/**********************************************************/&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __RAM_SHAREABLE_START&amp;nbsp; &amp;nbsp; = ORIGIN(int_sram_shareable);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __RAM_SHAREABLE_END&amp;nbsp; &amp;nbsp; &amp;nbsp; = ORIGIN(int_sram_shareable) + LENGTH(int_sram_shareable);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __RAM_SHAREABLE_SIZE&amp;nbsp; &amp;nbsp; &amp;nbsp;= 0xE;&amp;nbsp; /* 16kbyte in power of 2 */&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __ROM_SHAREABLE_START&amp;nbsp; &amp;nbsp; = __shareable_data_rom;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __ROM_SHAREABLE_END&amp;nbsp; &amp;nbsp; &amp;nbsp; = __shareable_data_rom_end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __RAM_NO_CACHEABLE_START = ORIGIN(int_sram_no_cacheable);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __RAM_NO_CACHEABLE_END&amp;nbsp; &amp;nbsp;= ORIGIN(int_sram_shareable)-1;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __RAM_NO_CACHEABLE_SIZE&amp;nbsp; = 0xE;&amp;nbsp; /* 16kbyte in power of 2 */&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __ROM_NO_CACHEABLE_START = __non_cacheable_data_rom;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __ROM_NO_CACHEABLE_END&amp;nbsp; &amp;nbsp;= __non_cacheable_data_rom_end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __RAM_CACHEABLE_START&amp;nbsp; &amp;nbsp; = __sram_data_begin__;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __RAM_CACHEABLE_END&amp;nbsp; &amp;nbsp; &amp;nbsp; = ORIGIN(int_sram_no_cacheable)-1;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __RAM_CACHEABLE_SIZE&amp;nbsp; &amp;nbsp; &amp;nbsp;= 0xF;&amp;nbsp; /* 32kbyte in power of 2 */&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __ROM_CACHEABLE_START&amp;nbsp; &amp;nbsp; = __sram_data_rom;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __ROM_CACHEABLE_END&amp;nbsp; &amp;nbsp; &amp;nbsp; = __sram_data_rom_end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __ROM_CODE_START&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= ORIGIN(int_pflash);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __ROM_DATA_START&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= ORIGIN(int_dflash);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __BSS_SRAM_START&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= __sram_bss_start;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __BSS_SRAM_END&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= __sram_bss_end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __BSS_SRAM_SIZE&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = __sram_bss_end - __sram_bss_start;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __BSS_SRAM_NC_START&amp;nbsp; &amp;nbsp; &amp;nbsp; = __non_cacheable_bss_start;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __BSS_SRAM_NC_SIZE&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= __non_cacheable_bss_end - __non_cacheable_bss_start;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __BSS_SRAM_NC_END&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = __non_cacheable_bss_end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __BSS_SRAM_SH_START&amp;nbsp; &amp;nbsp; &amp;nbsp; = __shareable_bss_start;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __BSS_SRAM_SH_SIZE&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= __shareable_bss_end - __shareable_bss_start;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __BSS_SRAM_SH_END&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = __shareable_bss_end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __RAM_INTERRUPT_START&amp;nbsp; &amp;nbsp; = __interrupts_ram_start;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __INIT_INTERRUPT_START&amp;nbsp; &amp;nbsp;= __interrupts_init_start;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __INIT_INTERRUPT_END&amp;nbsp; &amp;nbsp; &amp;nbsp;= __interrupts_init_end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __RAM_ITCM0_CODE_START&amp;nbsp; &amp;nbsp;= __itcm0_code_start__;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __ROM_ITCM0_CODE_START&amp;nbsp; &amp;nbsp;= __itcm0_code_rom;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __ROM_ITCM0_CODE_END&amp;nbsp; &amp;nbsp; &amp;nbsp;= __itcm0_code_rom_end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __RAM_DTCM0_DATA_START&amp;nbsp; &amp;nbsp;= __dtcm0_data_start__;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __ROM_DTCM0_DATA_START&amp;nbsp; &amp;nbsp;= __dtcm0_data_rom;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __ROM_DTCM0_DATA_END&amp;nbsp; &amp;nbsp; &amp;nbsp;= __dtcm0_data_rom_end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __INIT_TABLE&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= __init_table;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __ZERO_TABLE&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= __zero_table;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __RAM_INIT&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= 1;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __ITCM_INIT&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = 1;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __DTCM_INIT&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = 1;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; /**********************************************************/&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __DTCM1_BD_INIT&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = 1;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;/**********************************************************/&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; Fls_ACEraseRomStart&amp;nbsp; &amp;nbsp; &amp;nbsp; = __acfls_code_rom_start;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; Fls_ACEraseRomEnd&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = __acfls_code_rom_end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; Fls_ACEraseSize&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = (__acfls_code_rom_end - __acfls_code_rom_start) / 4; /* Copy 4 bytes at a time*/&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; Fls_ACWriteRomStart&amp;nbsp; &amp;nbsp; &amp;nbsp; = __acfls_code_rom_start;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; Fls_ACWriteRomEnd&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = __acfls_code_rom_end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; Fls_ACWriteSize&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = (__acfls_code_rom_end - __acfls_code_rom_start) / 4; /* Copy 4 bytes at a time*/&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; _ERASE_FUNC_ADDRESS_&amp;nbsp; &amp;nbsp; &amp;nbsp;= ADDR(.acfls_code_ram);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; _WRITE_FUNC_ADDRESS_&amp;nbsp; &amp;nbsp; &amp;nbsp;= ADDR(.acfls_code_ram);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __ENTRY_VTABLE&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= __INIT_INTERRUPT_START;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __CORE0_VTOR&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= __INIT_INTERRUPT_START;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __CORE1_VTOR&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= __INIT_INTERRUPT_START;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __CORE2_VTOR&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= __INIT_INTERRUPT_START;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; __INDEX_COPY_CORE2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= 3;&amp;nbsp; &amp;nbsp; /* This symbol is used to initialize data of ITCM/DTCM for CORE2 */&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; ASSERT(__standby_ram_end__ &amp;lt;= __STANDBY_RAM_LIMIT_END, "Memory for standby ram overflow")&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;}&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;If I am not wrong below function in startup.c is responsible for initializing the initialized and un initialized static and global variables both in bootloader and application.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;P&gt;void init_data_bss(void)&lt;BR /&gt;{&lt;BR /&gt;const Sys_CopyLayoutType * copy_layout;&lt;BR /&gt;const Sys_ZeroLayoutType * zero_layout;&lt;BR /&gt;const uint32 * rom;&lt;BR /&gt;const uint8 * rom8;&lt;BR /&gt;uint32 * ram;&lt;BR /&gt;uint8 * ram8;&lt;BR /&gt;uint8 dataPad;&lt;BR /&gt;uint32 len = 0U;&lt;BR /&gt;uint32 size = 0U;&lt;BR /&gt;uint32 i = 0U;&lt;BR /&gt;uint32 j = 0U;&lt;/P&gt;&lt;P&gt;const uint32 * initTable_Ptr = (uint32 *)__INIT_TABLE;&lt;BR /&gt;const uint32 * zeroTable_Ptr = (uint32*)__ZERO_TABLE;&lt;/P&gt;&lt;P&gt;/* Copy initialized table */&lt;BR /&gt;len = *initTable_Ptr;&lt;BR /&gt;initTable_Ptr++;&lt;BR /&gt;copy_layout = (const Sys_CopyLayoutType *)initTable_Ptr;&lt;BR /&gt;for(i = 0; i &amp;lt; len; i++)&lt;BR /&gt;{&lt;BR /&gt;rom = copy_layout[i].rom_start;&lt;BR /&gt;ram = copy_layout[i].ram_start;&lt;BR /&gt;size = (uint32)copy_layout[i].rom_end - (uint32)copy_layout[i].rom_start;&lt;BR /&gt;/* Make sure the data area to be copied must be aligned with 4. Then, copy 4 bytes at per one read */&lt;BR /&gt;dataPad = size &amp;amp; 0x3U;&lt;BR /&gt;for(j = 0UL; j &amp;lt; ((size - dataPad) &amp;gt;&amp;gt; 2); j++)&lt;BR /&gt;{&lt;BR /&gt;ram[j] = rom[j];&lt;BR /&gt;}&lt;BR /&gt;/* For the rest of data, copy 1 bytes at per one read */&lt;BR /&gt;rom8 = (uint8 *)&amp;amp;(rom[j]);&lt;BR /&gt;ram8 = (uint8 *)&amp;amp;(ram[j]);&lt;BR /&gt;for (j = 0; j &amp;lt; dataPad; j++)&lt;BR /&gt;{&lt;BR /&gt;ram8[j] = rom8[j];&lt;BR /&gt;}&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;/* Clear zero table */&lt;BR /&gt;len = *zeroTable_Ptr;&lt;BR /&gt;zeroTable_Ptr++;&lt;BR /&gt;zero_layout = (const Sys_ZeroLayoutType *)zeroTable_Ptr;&lt;BR /&gt;for(i = 0; i &amp;lt; len; i++)&lt;BR /&gt;{&lt;BR /&gt;ram = zero_layout[i].ram_start;&lt;BR /&gt;size = (uint32)zero_layout[i].ram_end - (uint32)zero_layout[i].ram_start;&lt;/P&gt;&lt;P&gt;for(j = 0UL; j &amp;lt; (size &amp;gt;&amp;gt; 2); j++)&lt;BR /&gt;{&lt;BR /&gt;ram[j] = 0U;&lt;BR /&gt;}&lt;BR /&gt;/* Since the size of the section always aligns with 32bits according to the sample file linker.&lt;BR /&gt;Zeroing the last 4 bytes of the section if the data to be used of program does not align with 4.*/&lt;BR /&gt;if ((size &amp;amp; 0x3U) != 0)&lt;BR /&gt;{&lt;BR /&gt;ram[j] = 0;&lt;BR /&gt;}&lt;BR /&gt;}&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;when control reaches to application main function then few of initialized static variable/pointer in RTD files and freeRTOS files that suppose to have some initial value do not have expected values. for example&amp;nbsp;Power_Ip_pxMC_RGM pointer that should point to&amp;nbsp;&amp;nbsp;(0x4028C000u, refer to Power_IM_MC_RGM.c ) is pointing to invalid address causing hard fault.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Please let me knwo if more details are needed.&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;/DIV&gt;&amp;nbsp;&lt;/DIV&gt;</description>
      <pubDate>Wed, 09 Apr 2025 04:58:37 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/S32K322-Initialized-data-segments-are-not-initialized-incorrect/m-p/2076684#M47591</guid>
      <dc:creator>AbdNxp</dc:creator>
      <dc:date>2025-04-09T04:58:37Z</dc:date>
    </item>
    <item>
      <title>Re: S32K322 Initialized data segments are not initialized incorrect value or get corrupted</title>
      <link>https://community.nxp.com/t5/S32K/S32K322-Initialized-data-segments-are-not-initialized-incorrect/m-p/2079104#M47693</link>
      <description>&lt;P&gt;Hi &lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/239701"&gt;@AbdNxp&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;Sorry for the delay, I was out of office for a few days.&lt;/P&gt;
&lt;P&gt;Where is the Power_Ip_pxMC_RGM pointer located in the memory?&lt;/P&gt;</description>
      <pubDate>Mon, 14 Apr 2025 07:16:06 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/S32K322-Initialized-data-segments-are-not-initialized-incorrect/m-p/2079104#M47693</guid>
      <dc:creator>danielmartynek</dc:creator>
      <dc:date>2025-04-14T07:16:06Z</dc:date>
    </item>
    <item>
      <title>Re: S32K322 Initialized data segments are not initialized incorrect value or get corrupted</title>
      <link>https://community.nxp.com/t5/S32K/S32K322-Initialized-data-segments-are-not-initialized-incorrect/m-p/2079109#M47694</link>
      <description>&lt;P&gt;the variable is declared in Power_Ip_MC_RGM.c file&amp;nbsp; as below.&lt;/P&gt;&lt;P&gt;static Power_Ip_MC_RGM_Type * Power_Ip_pxMC_RGM = (Power_Ip_MC_RGM_Type *)IP_MC_RGM_BASE;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;After bootloader initializes SP,PC and&amp;nbsp; VTOR and jumps to application, then before the main function of application is being called some data from rom to ram is copied as mentioned in below function. If you see below code first initialized data are copied from rom to ram.&lt;/P&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;P&gt;void init_data_bss(void)&lt;BR /&gt;{&lt;BR /&gt;const Sys_CopyLayoutType * copy_layout;&lt;BR /&gt;const Sys_ZeroLayoutType * zero_layout;&lt;BR /&gt;const uint32 * rom;&lt;BR /&gt;const uint8 * rom8;&lt;BR /&gt;uint32 * ram;&lt;BR /&gt;uint8 * ram8;&lt;BR /&gt;uint8 dataPad;&lt;BR /&gt;uint32 len = 0U;&lt;BR /&gt;uint32 size = 0U;&lt;BR /&gt;uint32 i = 0U;&lt;BR /&gt;uint32 j = 0U;&lt;/P&gt;&lt;P&gt;const uint32 * initTable_Ptr = (uint32 *)__INIT_TABLE;&lt;BR /&gt;const uint32 * zeroTable_Ptr = (uint32*)__ZERO_TABLE;&lt;/P&gt;&lt;P&gt;/* Copy initialized table */&lt;BR /&gt;len = *initTable_Ptr;&lt;BR /&gt;initTable_Ptr++;&lt;BR /&gt;copy_layout = (const Sys_CopyLayoutType *)initTable_Ptr;&lt;BR /&gt;for(i = 0; i &amp;lt; len; i++)&lt;BR /&gt;{&lt;BR /&gt;rom = copy_layout[i].rom_start;&lt;BR /&gt;ram = copy_layout[i].ram_start;&lt;BR /&gt;size = (uint32)copy_layout[i].rom_end - (uint32)copy_layout[i].rom_start;&lt;BR /&gt;/* Make sure the data area to be copied must be aligned with 4. Then, copy 4 bytes at per one read */&lt;BR /&gt;dataPad = size &amp;amp; 0x3U;&lt;BR /&gt;for(j = 0UL; j &amp;lt; ((size - dataPad) &amp;gt;&amp;gt; 2); j++)&lt;BR /&gt;{&lt;BR /&gt;ram[j] = rom[j];&lt;BR /&gt;}&lt;BR /&gt;/* For the rest of data, copy 1 bytes at per one read */&lt;BR /&gt;rom8 = (uint8 *)&amp;amp;(rom[j]);&lt;BR /&gt;ram8 = (uint8 *)&amp;amp;(ram[j]);&lt;BR /&gt;for (j = 0; j &amp;lt; dataPad; j++)&lt;BR /&gt;{&lt;BR /&gt;ram8[j] = rom8[j];&lt;BR /&gt;}&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;/* Clear zero table */&lt;BR /&gt;len = *zeroTable_Ptr;&lt;BR /&gt;zeroTable_Ptr++;&lt;BR /&gt;zero_layout = (const Sys_ZeroLayoutType *)zeroTable_Ptr;&lt;BR /&gt;for(i = 0; i &amp;lt; len; i++)&lt;BR /&gt;{&lt;BR /&gt;ram = zero_layout[i].ram_start;&lt;BR /&gt;size = (uint32)zero_layout[i].ram_end - (uint32)zero_layout[i].ram_start;&lt;/P&gt;&lt;P&gt;for(j = 0UL; j &amp;lt; (size &amp;gt;&amp;gt; 2); j++)&lt;BR /&gt;{&lt;BR /&gt;ram[j] = 0U;&lt;BR /&gt;}&lt;BR /&gt;/* Since the size of the section always aligns with 32bits according to the sample file linker.&lt;BR /&gt;Zeroing the last 4 bytes of the section if the data to be used of program does not align with 4.*/&lt;BR /&gt;if ((size &amp;amp; 0x3U) != 0)&lt;BR /&gt;{&lt;BR /&gt;ram[j] = 0;&lt;BR /&gt;}&lt;BR /&gt;}&lt;BR /&gt;}&lt;/P&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;My app main function called by main&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV&gt;void AppMain(void)&lt;/DIV&gt;&lt;DIV&gt;{&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;//NOTE : clock and Gpio must be initialized before using&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;GPIOInit();&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;WDTInit();&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;WDTReset();&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Power_Ip_Init(&amp;amp;Power_Ip_HwIPsConfigPB); /*power_Ip init, inside this funtion , the variable is used insede this function*/&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;BoardInit(); /*clock initialization*/&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;/*&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Free Heap before creating task&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;* This is required because sometimes static variable are not initialized to the constant value&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;* Its safe to to initialize the static variable by application*/&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;if ((configTOTAL_HEAP_SIZE - &lt;LI-EMOJI id="lia_smiling-face-with-sunglasses" title=":smiling_face_with_sunglasses:"&gt;&lt;/LI-EMOJI&gt; !=&amp;nbsp; xPortGetFreeHeapSize())&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; xPortAppInitFreeHeapSize();&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; memset(&amp;amp;gThis, SYS_NULL, sizeof(gThis));&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; gThis.vStatusLog = &amp;amp;vStatusLog;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;if(AppInit() == SYS_SUCCESS)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;#ifdef SYS_DEBUG_ENABLED&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; SYS_LOG_INFO("App Init Success");&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;#end&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;else&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;#ifdef SYS_DEBUG_ENABLED&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;SYS_LOG_INFO("App Init Failed");&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;#endif&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;//todo failure action&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;gThis.nextState = VEHICLE_STATE_LOCKED; //todo: remove after testing&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;gThis.motorCtrlCANConfig.bit.direction = FORWARD_DIRECTION;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;BodyControlSetMotorCtrlEnablePin(SYS_ON);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;#ifdef VEHICLE_VARIANT_WITHOUT_TELEMATICS&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;GPIOWritePin(V4_LDO_DIS_PIN_PORT,V4_LDO_DIS_PIN_PIN, SYS_ON);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;GPIOWritePin(LTE_POWER_KEY_PORT,LTE_POWER_KEY_PIN, SYS_OFF);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;#elif defined(VEHICLE_VARIANT_ECO_ONLY)&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;GPIOWritePin(V4_LDO_DIS_PIN_PORT,V4_LDO_DIS_PIN_PIN, SYS_ON);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;GPIOWritePin(LTE_POWER_KEY_PORT,LTE_POWER_KEY_PIN, SYS_OFF);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;#else&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;GPIOWritePin(V4_LDO_DIS_PIN_PORT,V4_LDO_DIS_PIN_PIN, SYS_OFF);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;#endif&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; bleInit();&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;uint8_t retryCount = 10;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;do{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;WDTReset();&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;if(OSInit() == SYS_SUCCESS)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;/*NOTE : Always enable interrupts after intialization&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;* is completed else unnecessary interrupts causes hurdle in init process due to context switch*/&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; CANInit(CHANNEL3, (CANRxCompletedCallback *)&amp;amp;CANRxCallback);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; IntCtrl_Ip_Init(&amp;amp;IntCtrlConfig_0);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; OSStart();&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;else{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;retryCount--;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;SysDelay(100);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;} while(retryCount &amp;gt; 0);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;while (SYS_TRUE)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;SysDelay(100000);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;}&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 11 Apr 2025 13:53:08 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/S32K322-Initialized-data-segments-are-not-initialized-incorrect/m-p/2079109#M47694</guid>
      <dc:creator>AbdNxp</dc:creator>
      <dc:date>2025-04-11T13:53:08Z</dc:date>
    </item>
    <item>
      <title>Re: S32K322 Initialized data segments are not initialized incorrect value or get corrupted</title>
      <link>https://community.nxp.com/t5/S32K/S32K322-Initialized-data-segments-are-not-initialized-incorrect/m-p/2079133#M47695</link>
      <description>&lt;P&gt;attaching debug screen shots&lt;/P&gt;</description>
      <pubDate>Fri, 11 Apr 2025 14:26:26 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/S32K322-Initialized-data-segments-are-not-initialized-incorrect/m-p/2079133#M47695</guid>
      <dc:creator>AbdNxp</dc:creator>
      <dc:date>2025-04-11T14:26:26Z</dc:date>
    </item>
    <item>
      <title>Re: S32K322 Initialized data segments are not initialized incorrect value or get corrupted</title>
      <link>https://community.nxp.com/t5/S32K/S32K322-Initialized-data-segments-are-not-initialized-incorrect/m-p/2079892#M47741</link>
      <description>&lt;P&gt;Hello &lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/239701"&gt;@AbdNxp&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;It is difficult to find the root cause as this is a sporadic issue.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Can you find Power_Ip_pxMC_RGM in the .map file?&lt;/P&gt;
&lt;P&gt;If sometimes Power_Ip_pxMC_RGM is intialized correctly, where is it located in the SRAM, which MPU region?&lt;/P&gt;
&lt;P&gt;Can you disable MPU before the jump? The application has a different memmory map and it should initilize the MPU again anyway.&lt;/P&gt;
&lt;P&gt;Can you confirm that all the compiler options in your projects match the RTD release notes precisely.&lt;/P&gt;
&lt;P&gt;Also, the system clocks must be set precisely to one of the clock options listed in the RM, e.g. Table 151. Option A - High Performance mode (CORE_CLK @ 160 MHz).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thank you,&lt;/P&gt;
&lt;P&gt;BR, Daniel&lt;/P&gt;</description>
      <pubDate>Mon, 14 Apr 2025 10:38:16 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/S32K322-Initialized-data-segments-are-not-initialized-incorrect/m-p/2079892#M47741</guid>
      <dc:creator>danielmartynek</dc:creator>
      <dc:date>2025-04-14T10:38:16Z</dc:date>
    </item>
    <item>
      <title>Re: S32K322 Initialized data segments are not initialized incorrect value or get corrupted</title>
      <link>https://community.nxp.com/t5/S32K/S32K322-Initialized-data-segments-are-not-initialized-incorrect/m-p/2084379#M47979</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/160001"&gt;@danielmartynek&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Its very difficult to track the issue, I was checking if there is any clock issue cause this corruption.&lt;/P&gt;&lt;P&gt;But, after some experiment I am 90% sure, this is not clock issue its any other issue which we are still investigating.&lt;/P&gt;&lt;P&gt;We are creating a new bootloader and test if this helps us.&lt;/P&gt;&lt;P&gt;It would be very helpful if we connect on call.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks &amp;amp; Regards&lt;/P&gt;&lt;P&gt;Abdullah Ansari&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 22 Apr 2025 07:32:36 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/S32K322-Initialized-data-segments-are-not-initialized-incorrect/m-p/2084379#M47979</guid>
      <dc:creator>AbdNxp</dc:creator>
      <dc:date>2025-04-22T07:32:36Z</dc:date>
    </item>
    <item>
      <title>Re: S32K322 Initialized data segments are not initialized incorrect value or get corrupted</title>
      <link>https://community.nxp.com/t5/S32K/S32K322-Initialized-data-segments-are-not-initialized-incorrect/m-p/2085460#M48064</link>
      <description>&lt;P&gt;Hello Abdullah,&lt;/P&gt;
&lt;P&gt;Our free online technical support does not provide support via calls for many reasons.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I have asked you a few questions here already, can you answer them?&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Can you find Power_Ip_pxMC_RGM in the .map file?&lt;/LI&gt;
&lt;LI&gt;If sometimes Power_Ip_pxMC_RGM is intialized correctly, where is the pointer located in the SRAM.&lt;/LI&gt;
&lt;LI&gt;Which MPU region is it?&lt;/LI&gt;
&lt;LI&gt;What are the attributes of the MPU region? Especially the cache configuration.&lt;/LI&gt;
&lt;LI&gt;Have you tried with MPU disabled?&lt;/LI&gt;
&lt;LI&gt;Have you tried using watchpoints at the variables?&lt;/LI&gt;
&lt;LI&gt;Can you confirm that all the compiler options in your projects match the RTD release notes precisely.&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thank you,&lt;/P&gt;
&lt;P&gt;Daniel&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 23 Apr 2025 12:47:05 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/S32K322-Initialized-data-segments-are-not-initialized-incorrect/m-p/2085460#M48064</guid>
      <dc:creator>danielmartynek</dc:creator>
      <dc:date>2025-04-23T12:47:05Z</dc:date>
    </item>
  </channel>
</rss>

