#! 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) } }