127 lines
3.2 KiB
Plaintext
127 lines
3.2 KiB
Plaintext
|
|
#! 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)
|
||
|
|
}
|
||
|
|
}
|