Realtek/board/evb/findmy/mdk/app_findmy.sct

127 lines
3.2 KiB
Plaintext
Raw Normal View History

2025-11-25 10:21:47 +08:00
#! armcc -E
#include "..\mem_config.h"
; *************************************************************
; *** Scatter-Loading Description File generated by uVision ***
; *************************************************************
; APP RAM definitions
#define APP_DATA_ON_ADR APP_GLOBAL_ADDR
#define APP_DATA_ON_SIZE APP_GLOBAL_SIZE
#define CACHE_DATA_ON_ADR SHARE_CACHE_RAM_ADDR
#define CACHE_DATA_ON_SIZE SHARE_CACHE_RAM_SIZE
#if (APP_BANK == 0)
#define APP_FLASH_ADR BANK0_APP_ADDR
#else
#define APP_FLASH_ADR BANK1_APP_ADDR
#endif
#define APP_FLASH_SIZE BANK0_APP_SIZE
#define APP_TRACE_ADR 0x08800000
#define APP_TRACE_SIZE (4*1024*1024)
LOAD_FLASH APP_FLASH_ADR APP_FLASH_SIZE
{
app.bin +0
{
* (.app.flash.header)
}
APP_FLASH_HEADER_EXT +0
{
* (.app.flash.header_ext)
}
#if (FEATURE_ENCRYPTION == 0)
FLASH_START_ADDR +0;
{
startup_rtl876x.o (RESET, +First)
}
#endif
FLASH_TEXT +0
{
#if FEATURE_RAM_CODE
* (InRoot$$Sections)
#else
.ANY (+RO)
#endif
* (.app.flash.text)
* (.app.flash.rodata)
}
RAM_VECTOR_TABLE 0x00200000 OVERLAY 0xE8 ; 58 ISRs
{
* (VECTOR, +First)
}
#if (FEATURE_ENCRYPTION == 1)
ENCRYPTION_RAM_CODE APP_DATA_ON_ADR OVERLAY
{
startup_rtl876x.o (RESET, +First)
* (.app.encryption.text)
* (.enc.dummy.align, +Last)
}
#endif
#if (FEATURE_ENCRYPTION == 1)
RAM_DATA_ON +0 OVERLAY (APP_DATA_ON_SIZE) ;real limit is: (APP_DATA_ON_SIZE - ImageLength(ENCRYPTION_RAM_CODE))
#else
RAM_DATA_ON APP_DATA_ON_ADR OVERLAY (APP_DATA_ON_SIZE)
#endif
{
#if FEATURE_RAM_CODE
.ANY (+RO)
#endif
; bignum.o
* (.app.data_ram.text)
* (+RW)
* (.ram.dataon.data)
* (+ZI)
* (.ram.dataon.bss)
}
; overlay section begin
OVERLAY_A ImageLimit(RAM_DATA_ON) OVERLAY
{
*(.app.overlay_a)
}
OVERLAY_B ImageLimit(RAM_DATA_ON) OVERLAY
{
*(.app.overlay_b)
}
OVERLAY_C ImageLimit(RAM_DATA_ON) OVERLAY
{
*(.app.overlay_c)
}
#if (FEATURE_ENCRYPTION == 0)
ScatterAssert((ImageLength(RAM_DATA_ON) + ImageLength(OVERLAY_A)) <= (APP_DATA_ON_SIZE))
ScatterAssert((ImageLength(RAM_DATA_ON) + ImageLength(OVERLAY_B)) <= (APP_DATA_ON_SIZE))
ScatterAssert((ImageLength(RAM_DATA_ON) + ImageLength(OVERLAY_C)) <= (APP_DATA_ON_SIZE))
#else
ScatterAssert((ImageLength(ENCRYPTION_RAM_CODE) + ImageLength(RAM_DATA_ON) + ImageLength(OVERLAY_A)) <= (APP_DATA_ON_SIZE))
ScatterAssert((ImageLength(ENCRYPTION_RAM_CODE) + ImageLength(RAM_DATA_ON) + ImageLength(OVERLAY_B)) <= (APP_DATA_ON_SIZE))
ScatterAssert((ImageLength(ENCRYPTION_RAM_CODE) + ImageLength(RAM_DATA_ON) + ImageLength(OVERLAY_C)) <= (APP_DATA_ON_SIZE))
#endif
; overlay section end
CACHE_DATA_ON CACHE_DATA_ON_ADR OVERLAY CACHE_DATA_ON_SIZE
{
#if FEATURE_RAM_CODE
.ANY (+RO)
#endif
* (.ram.sharecacheram.text)
}
}
LOAD_APP_TRACE APP_TRACE_ADR APP_TRACE_SIZE
{
App.trace APP_TRACE_ADR APP_TRACE_SIZE
{
* (.TRACE)
}
}