SmartSnippets DA1459x SDK
mem_da1459x.ld.h
1 /*
2  * Copyright (C) 2020 Renesas Electronics Corporation and/or its affiliates.
3  * All rights reserved. Confidential Information.
4  *
5  * This software ("Software") is supplied by Renesas Electronics Corporation and/or its
6  * affiliates ("Renesas"). Renesas grants you a personal, non-exclusive, non-transferable,
7  * revocable, non-sub-licensable right and license to use the Software, solely if used in
8  * or together with Renesas products. You may make copies of this Software, provided this
9  * copyright notice and disclaimer ("Notice") is included in all such copies. Renesas
10  * reserves the right to change or discontinue the Software at any time without notice.
11  *
12  * THE SOFTWARE IS PROVIDED "AS IS". RENESAS DISCLAIMS ALL WARRANTIES OF ANY KIND,
13  * WHETHER EXPRESS, IMPLIED, OR STATUTORY, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
14  * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. TO THE
15  * MAXIMUM EXTENT PERMITTED UNDER LAW, IN NO EVENT SHALL RENESAS BE LIABLE FOR ANY DIRECT,
16  * INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING FROM, OUT OF OR IN
17  * CONNECTION WITH THE SOFTWARE, EVEN IF RENESAS HAS BEEN ADVISED OF THE POSSIBILITY OF
18  * SUCH DAMAGES. USE OF THIS SOFTWARE MAY BE SUBJECT TO TERMS AND CONDITIONS CONTAINED IN
19  * AN ADDITIONAL AGREEMENT BETWEEN YOU AND RENESAS. IN CASE OF CONFLICT BETWEEN THE TERMS
20  * OF THIS NOTICE AND ANY SUCH ADDITIONAL LICENSE AGREEMENT, THE TERMS OF THE AGREEMENT
21  * SHALL TAKE PRECEDENCE. BY CONTINUING TO USE THIS SOFTWARE, YOU AGREE TO THE TERMS OF
22  * THIS NOTICE.IF YOU DO NOT AGREE TO THESE TERMS, YOU ARE NOT PERMITTED TO USE THIS
23  * SOFTWARE.
24  */
25 
26 /* Linker script to configure memory regions.
27  * May need to be modified for a specific board.
28  * ROM.ORIGIN: starting address of read-only RAM area
29  * ROM.LENGTH: length of read-only RAM area
30  * RAM.ORIGIN: starting address of read-write RAM area
31  * RAM.LENGTH: length of read-write RAM area
32  */
33 
34 /*
35  * The size of the interrupt vector table
36  */
37 #define IVT_AREA_OVERHEAD 0x200
38 
39 #if (dg_configCODE_LOCATION == NON_VOLATILE_IS_NONE)
40  #define CODE_BASE_ADDRESS (0x0) /* Remapped address will be at 0x20000000. */
41  #define CODE_SZ (CODE_SIZE)
42 
43  MEMORY
44  {
45  /* CODE and RAM are merged into a single RAM section */
46  RAM (rx) : ORIGIN = CODE_BASE_ADDRESS, LENGTH = CODE_SZ
47  }
48 #elif (dg_configCODE_LOCATION == NON_VOLATILE_IS_QSPI_FLASH) || (dg_configCODE_LOCATION == NON_VOLATILE_IS_EMBEDDED_FLASH)
49  #define CODE_BASE_ADDRESS (0x0) /* Remapped address will be at any offset according to the image header. */
50  #define CODE_SZ (CODE_SIZE)
51  #define RAM_BASE_ADDRESS (0x20000000 + IVT_AREA_OVERHEAD)
52  #define RAM_SZ (RAM_SIZE - IVT_AREA_OVERHEAD)
53 
54  MEMORY
55  {
56  ROM (rx) : ORIGIN = CODE_BASE_ADDRESS, LENGTH = CODE_SZ
57  RAM (rw) : ORIGIN = RAM_BASE_ADDRESS, LENGTH = RAM_SZ
58  }
59 #else
60  #error "Unknown code location type..."
61 #endif
62 
63 
dg_configCODE_LOCATION
#define dg_configCODE_LOCATION
Code location.
Definition: bsp_defaults.h:269