2 ;**************************************************
3 ; Copyright (c) 2017 ARM Ltd. All rights reserved.
4 ;**************************************************
6 ; Scatter-file for Cortex-A
8 ; This scatter-file places application code, data, stack and heap at suitable addresses in the memory map.
10 #include "mem_<Device>.h"
12 SDRAM __ROM_BASE __ROM_SIZE ; load region size_region
14 VECTORS __ROM_BASE __ROM_SIZE ; load address = execution address
16 * (RESET, +FIRST) ; Vector table and other startup code
17 * (InRoot$$Sections) ; All (library) code that must be in a root region
18 * (+RO-CODE) ; Application RO code (.text)
19 * (+RO-DATA) ; Application RO data (.constdata)
22 RW_DATA __RAM_BASE __RW_DATA_SIZE
23 { * (+RW) } ; Application RW data (.data)
26 __RW_DATA_SIZE) __ZI_DATA_SIZE
27 { * (+ZI) } ; Application ZI data (.bss)
29 ARM_LIB_HEAP (__RAM_BASE
31 +__ZI_DATA_SIZE) EMPTY __HEAP_SIZE ; Heap region growing up
34 ARM_LIB_STACK (__RAM_BASE
40 -__UND_STACK_SIZE) EMPTY -__STACK_SIZE ; Stack region growing down
48 -__ABT_STACK_SIZE) EMPTY -__UND_STACK_SIZE ; UND mode stack
55 -__SVC_STACK_SIZE) EMPTY -__ABT_STACK_SIZE ; ABT mode stack
61 -__IRQ_STACK_SIZE) EMPTY -__SVC_STACK_SIZE ; SVC mode stack
66 -__FIQ_STACK_SIZE) EMPTY -__IRQ_STACK_SIZE ; IRQ mode stack
70 +__RAM_SIZE) EMPTY -__FIQ_STACK_SIZE ; FIQ mode stack
73 TTB __TTB_BASE EMPTY __TTB_SIZE ; Level-1 Translation Table for MMU