1//-----------------------------------------------------------------------------
2// ILINK command file template for the Renesas RX microcontroller R5F565N9
3//-----------------------------------------------------------------------------
4define exported symbol __link_file_version_4 = 1;
5define memory mem with size = 4G;
6
7// ID Code Protection
8define exported symbol __ID_BYTES_1_4   = 0xFFFFFFFF;
9define exported symbol __ID_BYTES_5_8   = 0xFFFFFFFF;
10define exported symbol __ID_BYTES_9_12  = 0xFFFFFFFF;
11define exported symbol __ID_BYTES_13_16 = 0xFFFFFFFF;
12
13// Endian Select Register (MDE)
14// Choose between Little endian=0xFFFFFFFF or Big endian=0xFFFFFFF8
15define exported symbol __MDES           = 0xFFFFFFFF;
16
17// Option Function Select Register 0 (OFS0)
18define exported symbol __OFS0           = 0xFFFFFFFF;
19
20// Option Function Select Register 1 (OFS1)
21define exported symbol __OFS1           = 0xFFFFFFFF;
22
23define region ROM_region16 = mem:[from 0xFFFF8000 to 0xFFF10000];
24define region RAM_region16 = mem:[from 0x00000004 to 0x0003FFFF];
25define region ROM_region24 = mem:[from 0xFFF00000 to 0xFFF10000];
26define region RAM_region24 = mem:[from 0x00000004 to 0x0003FFFF];
27define region ROM_region32 = mem:[from 0xFFF00000 to 0xFFF10000];
28define region RAM_region32 = mem:[from 0x00000004 to 0x0003FFFF];
29
30initialize by copy { rw, ro section D, ro section D_1, ro section D_2 };
31do not initialize  { section .*.noinit };
32
33define block HEAP     with alignment = 4, size = _HEAP_SIZE { };
34define block USTACK   with alignment = 4, size = _USTACK_SIZE { };
35define block ISTACK   with alignment = 4, size = _ISTACK_SIZE { };
36
37define block STACKS with fixed order { block ISTACK,
38                                       block USTACK };
39place at address mem:0xFE7F5D00 { ro section .option_mem };
40place at address mem:0xFFFFFF80 { ro section .exceptvect };
41place at address mem:0xFFFFFFFC { ro section .resetvect };
42
43"ROM16":place in ROM_region16        { ro section .code16*,
44                                       ro section .data16* };
45"RAM16":place in RAM_region16        { rw section .data16*,
46                                       rw section __DLIB_PERTHREAD };
47"ROM24":place in ROM_region24        { ro section .code24*,
48                                       ro section .data24* };
49"RAM24":place in RAM_region24        { rw section .data24* };
50"ROM32":place in ROM_region32        { ro };
51"RAM32":place in RAM_region32        { rw,
52                                       ro section D,
53                                       ro section D_1,
54                                       ro section D_2,
55                                       block HEAP,
56                                       block STACKS,
57                                       last section FREEMEM };
58