/*
 *  Copyright 2020-2024 Yuntu Microelectronics co.,ltd
 *  All rights reserved.
 * 
 *  YUNTU Confidential. This software is owned or controlled by YUNTU and may only be
 *  used strictly in accordance with the applicable license terms. By expressly
 *  accepting such terms or by downloading, installing, activating and/or otherwise
 *  using the software, you are agreeing that you have read, and that you agree to
 *  comply with and are bound by, such license terms. If you do not agree to be
 *  bound by the applicable license terms, then you may not retain, install,
 *  activate or otherwise use the software. The production use license in
 *  Section 2.3 is expressly granted for this software.
 * 
 * @file yt_linker.scf
 * @brief 
 * 
 */



LR_BVT_0 0x2000000
{

        BVT_start 0x2000000 FIXED EMPTY 0
        {
        }
        bvt_header_region_start AlignExpr(+0,4) FIXED EMPTY 0
        {
        }
        bvt_header_region +0 NOCOMPRESS
        {
                *(.bvt_header)
        }
        bvt_header_region_end +0  EMPTY 0
        {
        }
        sb_config_group_region_start AlignExpr(+0,4) FIXED EMPTY 0
        {
        }
        sb_config_group_region +0 NOCOMPRESS
        {
                *(.sb_config_group)
        }
        sb_config_group_region_end +0  EMPTY 0
        {
        }
        sb_config_section_region_start AlignExpr(+0,16) FIXED EMPTY 0
        {
        }
        sb_config_section_region +0 NOCOMPRESS
        {
                *(.sb_config_section)
        }
        sb_config_section_region_end +0  EMPTY 0
        {
        }
        sb_cmac_region_start AlignExpr(+0,16) FIXED EMPTY 0
        {
        }
        sb_cmac_region +0 NOCOMPRESS
        {
                *(.sb_cmac)
        }
        sb_cmac_region_end +0  EMPTY 0
        {
        }
        BVT_end +0 EMPTY 0
        {
        }
}
ScatterAssert(ImageLength(LR_BVT_0) <= 0x800)

LR_IVT_0 0x2000800
{

        IVT_start 0x2000800 FIXED EMPTY 0
        {
        }
        isr_vector_region_start +0 FIXED EMPTY 0
        {
        }
        isr_vector_region +0 NOCOMPRESS
        {
                *(.isr_vector)
        }
        isr_vector_region_end +0  EMPTY 0
        {
        }
        IVT_end +0 EMPTY 0
        {
        }
}
ScatterAssert(ImageLength(LR_IVT_0) <= 1024)

LR_TEXT_0 0x2000c00
{

        TEXT_start 0x2000c00 FIXED EMPTY 0
        {
        }
        text_region_start +0 FIXED EMPTY 0
        {
        }
        text_region +0 NOCOMPRESS
        {
                *(.text*)
        }
        text_region_end +0  EMPTY 0
        {
        }
        rodata_region_start +0 FIXED EMPTY 0
        {
        }
        rodata_region +0 NOCOMPRESS
        {
                *(.rodata*)
        }
        rodata_region_end +0  EMPTY 0
        {
        }
        TEXT_end +0 EMPTY 0
        {
        }

        ARM_start +0 FIXED EMPTY 0
        {
        }
        ARM.exidx_region_start +0 FIXED EMPTY 0
        {
        }
        ARM.exidx_region +0 NOCOMPRESS
        {
                *(.ARM.exidx*)
        }
        ARM.exidx_region_end +0  EMPTY 0
        {
        }
        ARM_end +0 EMPTY 0
        {
        }

        CODE_RAM_start AlignExpr(0x400,4)  EMPTY 0
        {
        }
        code_ram_region_start AlignExpr(+0,4)  EMPTY 0
        {
        }
        code_ram_region +0 NOCOMPRESS
        {
                *(.code_ram)
        }
        code_ram_region_end +0  EMPTY 0
        {
        }
        CODE_RAM_end +0 EMPTY 0
        {
        }
}
ScatterAssert(ImageLength(LR_TEXT_0) <= 0x1FF400)

LR_IVT_RAM_0 0x0
{

        IVT_RAM_start AlignExpr(+0,1024)  EMPTY 0
        {
        }
        IVT_RAM AlignExpr(+0,1024) EMPTY 0x400
        {
        }
        IVT_RAM_end +0 EMPTY 0
        {
        }
}
ScatterAssert(ImageLength(LR_IVT_RAM_0) <= 0x400)

LR_STACK_0 0x20000000
{

        STACK_start +0  EMPTY 0
        {
        }
        STACK +0 EMPTY 0x10000
        {
        }
        STACK_end +0 EMPTY 0
        {
        }
}
ScatterAssert(ImageLength(LR_STACK_0) <= 0x10000)

LR_RAM_0 0x20020000
{

        BSS_start +0  EMPTY 0
        {
        }
        bss_region_start +0  EMPTY 0
        {
        }
        bss_region +0 NOCOMPRESS
        {
                *(.bss*)
        }
        bss_region_end +0  EMPTY 0
        {
        }
        BSS_end +0 EMPTY 0
        {
        }

}
ScatterAssert(ImageLength(LR_RAM_0) <= 0x40000)

LR_TEXT_1 0x2000c00 + ImageLength(LR_TEXT_0)
{

        DATA_RAM_start AlignExpr(ImageLimit(BSS_end),4)  EMPTY 0
        {
        }
        data_region_start +0  EMPTY 0
        {
        }
        data_region +0 NOCOMPRESS
        {
                *(.data*)
        }
        data_region_end +0  EMPTY 0
        {
        }
        DATA_RAM_end +0 EMPTY 0
        {
        }
}
ScatterAssert( 0x1FF400 >= (0 + ImageLength(LR_TEXT_0)))
ScatterAssert(ImageLength(LR_TEXT_1) <= 0x1FF400-(0 + ImageLength(LR_TEXT_0)))
