1
2;/*
3; * Copyright (c) 2018-2021 Arm Limited
4; *
5; * Licensed under the Apache License, Version 2.0 (the "License");
6; * you may not use this file except in compliance with the License.
7; * You may obtain a copy of the License at
8; *
9; *     http://www.apache.org/licenses/LICENSE-2.0
10; *
11; * Unless required by applicable law or agreed to in writing, software
12; * distributed under the License is distributed on an "AS IS" BASIS,
13; * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14; * See the License for the specific language governing permissions and
15; * limitations under the License.
16; *
17; */
18
19
20
21LR_CODE S_CODE_START {
22    ER_CODE S_CODE_START {
23        *.o (RESET +First)
24        .ANY (+RO)
25        /* different test vectors */
26        * (InRoot$$Sections)
27    }
28
29    /* This empty, zero long execution region is here to mark the limit address
30     * of the last execution region that is allocated in SRAM.
31     */
32    CODE_WATERMARK +0 EMPTY 0x0 {
33    }
34    /* Make sure that the sections allocated in the SRAM does not exceed the
35     * size of the SRAM available.
36     */
37    ScatterAssert(ImageLimit(CODE_WATERMARK) <= S_CODE_START + S_CODE_SIZE)
38
39    ER_DATA S_DATA_START {
40        .ANY (+ZI +RW +RO-DATA)
41    }
42
43    #if HEAP_SIZE > 0
44    ARM_LIB_HEAP +0 ALIGN 8 EMPTY  HEAP_SIZE  {   ; Reserve empty region for heap
45    }
46    #endif
47
48    ARM_LIB_STACK +0 ALIGN 32 EMPTY STACK_SIZE {   ; Reserve empty region for stack
49    }
50
51    /* This empty, zero long execution region is here to mark the limit address
52     * of the last execution region that is allocated in SRAM.
53     */
54    SRAM_WATERMARK +0 EMPTY 0x0 {
55    }
56    /* Make sure that the sections allocated in the SRAM does not exceed the
57     * size of the SRAM available.
58     */
59    ScatterAssert(ImageLimit(SRAM_WATERMARK) <= S_DATA_START + S_DATA_SIZE)
60}
61