mbed official / mbed

Dependents:   hello SerialTestv11 SerialTestv12 Sierpinski ... more

Committer:
AnnaBridge
Date:
Wed Feb 20 20:53:29 2019 +0000
Revision:
172:65be27845400
mbed library release version 165

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AnnaBridge 172:65be27845400 1 /* Linker file for the IAR Compiler for ARM */
AnnaBridge 172:65be27845400 2 /* Specials */
AnnaBridge 172:65be27845400 3 define symbol RDA_ICACHE_DISABLE = 0;
AnnaBridge 172:65be27845400 4 define symbol RDA_PARTITION_INDEX = 0;
AnnaBridge 172:65be27845400 5 /* Memory Regions */
AnnaBridge 172:65be27845400 6 define symbol RDA_IRAM_BASE = 0x00100000;
AnnaBridge 172:65be27845400 7 define symbol RDA_IRAM_END = 0x0011FFFF;
AnnaBridge 172:65be27845400 8 define symbol RDA_DRAM_BASE = 0x00180000;
AnnaBridge 172:65be27845400 9 define symbol RDA_DRAM_END = 0x001A7FFF;
AnnaBridge 172:65be27845400 10 define symbol RDA_FLASH_BASE = 0x14000000;
AnnaBridge 172:65be27845400 11 define symbol RDA_ICACHE_BASE = 0x18000000;
AnnaBridge 172:65be27845400 12 if (0 == RDA_PARTITION_INDEX) {
AnnaBridge 172:65be27845400 13 define symbol RDA_PADDR_OFST = 0x00001000;
AnnaBridge 172:65be27845400 14 } else {
AnnaBridge 172:65be27845400 15 define symbol RDA_PADDR_OFST = 0x001F5000;
AnnaBridge 172:65be27845400 16 }
AnnaBridge 172:65be27845400 17 if (1 == RDA_ICACHE_DISABLE) {
AnnaBridge 172:65be27845400 18 define symbol RDA_CODE_BASE = RDA_FLASH_BASE + RDA_PADDR_OFST;
AnnaBridge 172:65be27845400 19 } else {
AnnaBridge 172:65be27845400 20 define symbol RDA_CODE_BASE = RDA_ICACHE_BASE + RDA_PADDR_OFST;
AnnaBridge 172:65be27845400 21 }
AnnaBridge 172:65be27845400 22 define symbol RDA_CODE_END = RDA_CODE_BASE + 0x1F3FFF;
AnnaBridge 172:65be27845400 23 define symbol RDA_AHB1_BASE = 0x40100000;
AnnaBridge 172:65be27845400 24 define symbol RDA_MEMC_BASE = RDA_AHB1_BASE + 0x00000;
AnnaBridge 172:65be27845400 25 define symbol RDA_MEMC_END = RDA_AHB1_BASE + 0x1FFFF;
AnnaBridge 172:65be27845400 26
AnnaBridge 172:65be27845400 27 define symbol INTVEC_BASE = RDA_CODE_BASE;
AnnaBridge 172:65be27845400 28 define symbol INTVEC_RAM_BASE = RDA_IRAM_BASE;
AnnaBridge 172:65be27845400 29 define symbol I_DATA_BASE = RDA_IRAM_BASE + 0x80;
AnnaBridge 172:65be27845400 30 define symbol I_DATA_END = RDA_IRAM_END;
AnnaBridge 172:65be27845400 31 define symbol D_DATA_BASE = RDA_DRAM_BASE;
AnnaBridge 172:65be27845400 32 define symbol D_DATA_END = RDA_DRAM_END;
AnnaBridge 172:65be27845400 33 define symbol AES_BASE = RDA_MEMC_BASE + 0x18C00;
AnnaBridge 172:65be27845400 34 define symbol AES_END = RDA_MEMC_BASE + 0x197FF;
AnnaBridge 172:65be27845400 35 define symbol WLAN_BASE = RDA_MEMC_BASE + 0x19800;
AnnaBridge 172:65be27845400 36 define symbol WLAN_END = RDA_MEMC_END;
AnnaBridge 172:65be27845400 37
AnnaBridge 172:65be27845400 38 /* Stack Size & Heap Size*/
AnnaBridge 172:65be27845400 39 define symbol CSTACK_SIZE = 0x00400;
AnnaBridge 172:65be27845400 40 define symbol HEAP_SIZE = RDA_DRAM_END - RDA_DRAM_BASE + 1;
AnnaBridge 172:65be27845400 41
AnnaBridge 172:65be27845400 42 /*Memory regions*/
AnnaBridge 172:65be27845400 43 define memory mem with size = 4G;
AnnaBridge 172:65be27845400 44 define region ROM_REGION = mem:[from RDA_CODE_BASE to RDA_CODE_END];
AnnaBridge 172:65be27845400 45 define region IRAM_REGION = mem:[from I_DATA_BASE to I_DATA_END];
AnnaBridge 172:65be27845400 46 define region DRAM_REGION = mem:[from D_DATA_BASE to D_DATA_END];
AnnaBridge 172:65be27845400 47 define region AES_REGION = mem:[from AES_BASE to AES_END];
AnnaBridge 172:65be27845400 48 define region WLAN_REGION = mem:[from WLAN_BASE to WLAN_END];
AnnaBridge 172:65be27845400 49
AnnaBridge 172:65be27845400 50 define block CSTACK with alignment = 8, size = CSTACK_SIZE { };
AnnaBridge 172:65be27845400 51 define block HEAP with alignment = 8, size = HEAP_SIZE { };
AnnaBridge 172:65be27845400 52 define block RW { readwrite };
AnnaBridge 172:65be27845400 53 define block ZI { zi };
AnnaBridge 172:65be27845400 54
AnnaBridge 172:65be27845400 55 initialize by copy { readwrite };
AnnaBridge 172:65be27845400 56 do not initialize { section .noinit };
AnnaBridge 172:65be27845400 57
AnnaBridge 172:65be27845400 58 place at address mem:INTVEC_BASE { readonly section .intvec };
AnnaBridge 172:65be27845400 59
AnnaBridge 172:65be27845400 60 place in ROM_REGION { readonly };
AnnaBridge 172:65be27845400 61 place in IRAM_REGION { block RW, block ZI, block CSTACK};
AnnaBridge 172:65be27845400 62 place in DRAM_REGION { block HEAP};
AnnaBridge 172:65be27845400 63 place in AES_REGION { section AHB1SMEM0 };
AnnaBridge 172:65be27845400 64 place in WLAN_REGION { section AHB1SMEM1 };