mbed library sources. Supersedes mbed-src.

Dependents:   Nucleo_Hello_Encoder BLE_iBeaconScan AM1805_DEMO DISCO-F429ZI_ExportTemplate1 ... more

Committer:
AnnaBridge
Date:
Wed Jun 21 17:46:44 2017 +0100
Revision:
167:e84263d55307
Child:
173:e131a1973e81
This updates the lib to the mbed lib v 145

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AnnaBridge 167:e84263d55307 1 /*###ICF### Section handled by ICF editor, don't touch! ****/
AnnaBridge 167:e84263d55307 2 /*-Editor annotation file-*/
AnnaBridge 167:e84263d55307 3 /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */
AnnaBridge 167:e84263d55307 4 /*-Specials-*/
AnnaBridge 167:e84263d55307 5 //define symbol __ICFEDIT_intvec_start__ = 0x00000000;
AnnaBridge 167:e84263d55307 6
AnnaBridge 167:e84263d55307 7 //include "main.icf";
AnnaBridge 167:e84263d55307 8
AnnaBridge 167:e84263d55307 9 /*-Memory Regions-*/
AnnaBridge 167:e84263d55307 10 define symbol __ICFEDIT_region_ROM_start__ = 0x00000000;
AnnaBridge 167:e84263d55307 11 define symbol __ICFEDIT_region_ROM_end__ = 0x000FFFFF;
AnnaBridge 167:e84263d55307 12 define symbol __ICFEDIT_region_TCM_start__ = 0x1FFF0000;
AnnaBridge 167:e84263d55307 13 define symbol __ICFEDIT_region_TCM_end__ = 0x1FFFFFFF;
AnnaBridge 167:e84263d55307 14 define symbol __ICFEDIT_region_ROM_USED_RAM_start__ = 0x10000000;
AnnaBridge 167:e84263d55307 15 define symbol __ICFEDIT_region_ROM_USED_RAM_end__ = 0x10005FFF;
AnnaBridge 167:e84263d55307 16 //define symbol __ICFEDIT_region_RECY_RAM_start__ = 0x10002090;
AnnaBridge 167:e84263d55307 17 //define symbol __ICFEDIT_region_RECY_RAM_end__ = 0x100037FF;
AnnaBridge 167:e84263d55307 18 if( !isdefinedsymbol( __ICFEDIT_region_BD_RAM_start__ ) ) {
AnnaBridge 167:e84263d55307 19 define symbol __ICFEDIT_region_BD_RAM_start__ = 0x10006000;
AnnaBridge 167:e84263d55307 20 }
AnnaBridge 167:e84263d55307 21 if( !isdefinedsymbol( __ICFEDIT_region_BD_RAM_end__ ) ) {
AnnaBridge 167:e84263d55307 22 define symbol __ICFEDIT_region_BD_RAM_end__ = 0x1006FFFF;
AnnaBridge 167:e84263d55307 23 }
AnnaBridge 167:e84263d55307 24 define symbol __ICFEDIT_region_SDRAM_RAM_start__ = 0x30000000;
AnnaBridge 167:e84263d55307 25 define symbol __ICFEDIT_region_SDRAM_RAM_end__ = 0x301FFFFF;
AnnaBridge 167:e84263d55307 26
AnnaBridge 167:e84263d55307 27 /*-Sizes-*/
AnnaBridge 167:e84263d55307 28 define symbol __ICFEDIT_size_cstack__ = 0x1000;
AnnaBridge 167:e84263d55307 29 define symbol __ICFEDIT_size_heap__ = 0x19000;
AnnaBridge 167:e84263d55307 30 /**** End of ICF editor section. ###ICF###*/
AnnaBridge 167:e84263d55307 31
AnnaBridge 167:e84263d55307 32
AnnaBridge 167:e84263d55307 33 define memory mem with size = 4G;
AnnaBridge 167:e84263d55307 34 define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
AnnaBridge 167:e84263d55307 35 define region TCM_region = mem:[from __ICFEDIT_region_TCM_start__ to __ICFEDIT_region_TCM_end__];
AnnaBridge 167:e84263d55307 36 define region ROM_USED_RAM_region = mem:[from __ICFEDIT_region_ROM_USED_RAM_start__ to __ICFEDIT_region_ROM_USED_RAM_end__];
AnnaBridge 167:e84263d55307 37 //define region RECY_RAM_region = mem:[from __ICFEDIT_region_RECY_RAM_start__ to __ICFEDIT_region_RECY_RAM_end__];
AnnaBridge 167:e84263d55307 38 define region BD_RAM_region = mem:[from __ICFEDIT_region_BD_RAM_start__ to __ICFEDIT_region_BD_RAM_end__];
AnnaBridge 167:e84263d55307 39 define region SDRAM_RAM_region = mem:[from __ICFEDIT_region_SDRAM_RAM_start__ to __ICFEDIT_region_SDRAM_RAM_end__];
AnnaBridge 167:e84263d55307 40
AnnaBridge 167:e84263d55307 41 define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
AnnaBridge 167:e84263d55307 42 define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
AnnaBridge 167:e84263d55307 43
AnnaBridge 167:e84263d55307 44 //initialize by copy { readwrite };
AnnaBridge 167:e84263d55307 45 //initialize by copy with packing = none { section __DLIB_PERTHREAD }; // Required in a multi-threaded application
AnnaBridge 167:e84263d55307 46
AnnaBridge 167:e84263d55307 47 //do not initialize { section * };
AnnaBridge 167:e84263d55307 48
AnnaBridge 167:e84263d55307 49 //place at address mem:__ICFEDIT_intvec_start__ { readonly section .vectors_table };
AnnaBridge 167:e84263d55307 50
AnnaBridge 167:e84263d55307 51
AnnaBridge 167:e84263d55307 52 /*place in RAM_region { readwrite, block CSTACK, block HEAP };*/
AnnaBridge 167:e84263d55307 53 //place in TCM_region { readwrite };
AnnaBridge 167:e84263d55307 54
AnnaBridge 167:e84263d55307 55 /****************************************
AnnaBridge 167:e84263d55307 56 * ROM Section config *
AnnaBridge 167:e84263d55307 57 ****************************************/
AnnaBridge 167:e84263d55307 58 keep { section .rom };
AnnaBridge 167:e84263d55307 59 place at start of ROM_region { section .rom };
AnnaBridge 167:e84263d55307 60
AnnaBridge 167:e84263d55307 61 /****************************************
AnnaBridge 167:e84263d55307 62 * BD RAM Section config *
AnnaBridge 167:e84263d55307 63 ****************************************/
AnnaBridge 167:e84263d55307 64 keep { section .ram_dedecated_vector_table* };
AnnaBridge 167:e84263d55307 65 define block .vector_table with fixed order{section .ram_dedecated_vector_table*};
AnnaBridge 167:e84263d55307 66
AnnaBridge 167:e84263d55307 67 keep { section .ram_user_define_irq_table* };
AnnaBridge 167:e84263d55307 68 define block .user_vector_table with fixed order{section .ram_user_define_irq_table*};
AnnaBridge 167:e84263d55307 69
AnnaBridge 167:e84263d55307 70 keep { section .ram_user_define_data_table* };
AnnaBridge 167:e84263d55307 71 define block .user_data_table with fixed order{section .ram_user_define_data_table*};
AnnaBridge 167:e84263d55307 72
AnnaBridge 167:e84263d55307 73 define block .rom.bss with fixed order{ section .hal.ram.bss* object hal_misc.o,
AnnaBridge 167:e84263d55307 74 section .hal.ram.bss* object hal_pinmux.o,
AnnaBridge 167:e84263d55307 75 section .hal.ram.bss* object diag.o,
AnnaBridge 167:e84263d55307 76 section .hal.ram.bss* object rtl8195a_ssi_rom.o,
AnnaBridge 167:e84263d55307 77 section .hal.ram.bss* object rtl8195a_gpio.o,
AnnaBridge 167:e84263d55307 78 section .hal.ram.bss*,
AnnaBridge 167:e84263d55307 79 section .timer2_7_vector_table.data*,
AnnaBridge 167:e84263d55307 80 section .infra.ram.bss*,
AnnaBridge 167:e84263d55307 81 section .mon.ram.bss*,
AnnaBridge 167:e84263d55307 82 section .wlan_ram_map* object rom_wlan_ram_map.o,
AnnaBridge 167:e84263d55307 83 section .wlan_ram_map*,
AnnaBridge 167:e84263d55307 84 section .libc.ram.bss*,
AnnaBridge 167:e84263d55307 85 };
AnnaBridge 167:e84263d55307 86
AnnaBridge 167:e84263d55307 87 keep { section .start.ram.data* };
AnnaBridge 167:e84263d55307 88 define block .ram.start.table with fixed order{ section .start.ram.data* };
AnnaBridge 167:e84263d55307 89
AnnaBridge 167:e84263d55307 90 keep { section .image1.validate.rodata* };
AnnaBridge 167:e84263d55307 91 keep { section .infra.ram.data* };
AnnaBridge 167:e84263d55307 92 keep { section .timer.ram.data* };
AnnaBridge 167:e84263d55307 93 keep { section .hal.ram.data* };
AnnaBridge 167:e84263d55307 94 define block .ram_image1.data with fixed order{ section .image1.validate.rodata*,
AnnaBridge 167:e84263d55307 95 section .infra.ram.data*,
AnnaBridge 167:e84263d55307 96 section .timer.ram.data*,
AnnaBridge 167:e84263d55307 97 section .cutb.ram.data*,
AnnaBridge 167:e84263d55307 98 section .hal.ram.data* object rom.o, // for standard libaray __impure_data_ptr
AnnaBridge 167:e84263d55307 99 section .cutc.ram.data*,
AnnaBridge 167:e84263d55307 100 section .hal.ram.data*
AnnaBridge 167:e84263d55307 101 };
AnnaBridge 167:e84263d55307 102 define block .ram_image1.bss with fixed order{ //section .hal.flash.data*,
AnnaBridge 167:e84263d55307 103 section .hal.sdrc.data*
AnnaBridge 167:e84263d55307 104 };
AnnaBridge 167:e84263d55307 105
AnnaBridge 167:e84263d55307 106 define block .ram_image1.text with fixed order{ section .hal.ram.text*,
AnnaBridge 167:e84263d55307 107 section .hal.sdrc.text*,
AnnaBridge 167:e84263d55307 108 //section .text* object startup.o,
AnnaBridge 167:e84263d55307 109 section .infra.ram.text*,
AnnaBridge 167:e84263d55307 110 };
AnnaBridge 167:e84263d55307 111
AnnaBridge 167:e84263d55307 112 define block IMAGE1 with fixed order { section LOADER };
AnnaBridge 167:e84263d55307 113 define block IMAGE1_DBG with fixed order { block .ram.start.table, block .ram_image1.data, block .ram_image1.bss, block .ram_image1.text };
AnnaBridge 167:e84263d55307 114
AnnaBridge 167:e84263d55307 115 place at start of ROM_USED_RAM_region {
AnnaBridge 167:e84263d55307 116 block .vector_table,
AnnaBridge 167:e84263d55307 117 block .user_vector_table,
AnnaBridge 167:e84263d55307 118 block .user_data_table,
AnnaBridge 167:e84263d55307 119 block .rom.bss,
AnnaBridge 167:e84263d55307 120 block IMAGE1
AnnaBridge 167:e84263d55307 121 };
AnnaBridge 167:e84263d55307 122
AnnaBridge 167:e84263d55307 123 keep { section .image2.ram.data* };
AnnaBridge 167:e84263d55307 124 define block .image2.start.table1 with fixed order{ section .image2.ram.data* };
AnnaBridge 167:e84263d55307 125
AnnaBridge 167:e84263d55307 126 keep { section .image2.validate.rodata*, section .custom.validate.rodata* };
AnnaBridge 167:e84263d55307 127 define block .image2.start.table2 with fixed order{ section .image2.validate.rodata*, section .custom.validate.rodata* };
AnnaBridge 167:e84263d55307 128
AnnaBridge 167:e84263d55307 129 define block SHT$$PREINIT_ARRAY { preinit_array };
AnnaBridge 167:e84263d55307 130 define block SHT$$INIT_ARRAY { init_array };
AnnaBridge 167:e84263d55307 131 define block CPP_INIT with alignment = 8, fixed order {
AnnaBridge 167:e84263d55307 132 block SHT$$PREINIT_ARRAY,
AnnaBridge 167:e84263d55307 133 block SHT$$INIT_ARRAY
AnnaBridge 167:e84263d55307 134 };
AnnaBridge 167:e84263d55307 135 define block FPB_REMAP with alignment = 256,fixed order {
AnnaBridge 167:e84263d55307 136 section .fpb.remap*
AnnaBridge 167:e84263d55307 137 };
AnnaBridge 167:e84263d55307 138 define block .ram_image2.text with fixed order{ section .infra.ram.start*,
AnnaBridge 167:e84263d55307 139 section .rodata*,
AnnaBridge 167:e84263d55307 140 block CPP_INIT,
AnnaBridge 167:e84263d55307 141 section .mon.ram.text*,
AnnaBridge 167:e84263d55307 142 section .hal.flash.text*,
AnnaBridge 167:e84263d55307 143 section .hal.gpio.text*,
AnnaBridge 167:e84263d55307 144 section .text* object main.o,
AnnaBridge 167:e84263d55307 145 section .text*,
AnnaBridge 167:e84263d55307 146 section .wlan.text,
AnnaBridge 167:e84263d55307 147 section .wps.text,
AnnaBridge 167:e84263d55307 148 section CODE,
AnnaBridge 167:e84263d55307 149 section .otg.rom.text,
AnnaBridge 167:e84263d55307 150 section Veneer object startup.o,
AnnaBridge 167:e84263d55307 151 section __DLIB_PERTHREAD,
AnnaBridge 167:e84263d55307 152 section .iar.dynexit*,
AnnaBridge 167:e84263d55307 153 //section .mdns.text
AnnaBridge 167:e84263d55307 154 };
AnnaBridge 167:e84263d55307 155
AnnaBridge 167:e84263d55307 156 define block .ram.data with fixed order{ readwrite, readonly,
AnnaBridge 167:e84263d55307 157 section .data*,
AnnaBridge 167:e84263d55307 158 section .wlan.data,
AnnaBridge 167:e84263d55307 159 section .wps.data,
AnnaBridge 167:e84263d55307 160 section DATA,
AnnaBridge 167:e84263d55307 161 section .ram.otg.data.a,
AnnaBridge 167:e84263d55307 162 section .iar.init_table,
AnnaBridge 167:e84263d55307 163 //section .mdns.data
AnnaBridge 167:e84263d55307 164 };
AnnaBridge 167:e84263d55307 165
AnnaBridge 167:e84263d55307 166 define block IMAGE2 with fixed order { block .image2.start.table1, block .image2.start.table2, block .ram_image2.text, block .ram.data };
AnnaBridge 167:e84263d55307 167
AnnaBridge 167:e84263d55307 168 define block .ram.bss with fixed order{ section .bss*,
AnnaBridge 167:e84263d55307 169 section .ssl_ram_map,
AnnaBridge 167:e84263d55307 170 section .hal.flash.data*,
AnnaBridge 167:e84263d55307 171 section .hal.gpio.data*,
AnnaBridge 167:e84263d55307 172 section COMMON,
AnnaBridge 167:e84263d55307 173 section .bdsram.data*,
AnnaBridge 167:e84263d55307 174 section .bss* object heap_4.o
AnnaBridge 167:e84263d55307 175 };
AnnaBridge 167:e84263d55307 176 define block .bf_data with fixed order{ section .bfsram.data* };
AnnaBridge 167:e84263d55307 177 define block .heap with fixed order{ section .heap* };
AnnaBridge 167:e84263d55307 178 define block .stack_dummy with fixed order { section .stack };
AnnaBridge 167:e84263d55307 179 place at start of BD_RAM_region {
AnnaBridge 167:e84263d55307 180 block IMAGE2,
AnnaBridge 167:e84263d55307 181 //block IMAGE1_DBG,
AnnaBridge 167:e84263d55307 182 block .ram.bss,
AnnaBridge 167:e84263d55307 183 //block .bf_data,
AnnaBridge 167:e84263d55307 184 };
AnnaBridge 167:e84263d55307 185
AnnaBridge 167:e84263d55307 186 //place at address mem:0x10052b00 { readwrite,
AnnaBridge 167:e84263d55307 187 place at end of BD_RAM_region {
AnnaBridge 167:e84263d55307 188 block .bf_data,
AnnaBridge 167:e84263d55307 189 block HEAP,
AnnaBridge 167:e84263d55307 190 };
AnnaBridge 167:e84263d55307 191
AnnaBridge 167:e84263d55307 192 define block SDRAM with fixed order{ section .sdram.text*,
AnnaBridge 167:e84263d55307 193 section .sdram.data*,
AnnaBridge 167:e84263d55307 194 section .mdns.text*,
AnnaBridge 167:e84263d55307 195 section .mdns.data*,
AnnaBridge 167:e84263d55307 196 block FPB_REMAP
AnnaBridge 167:e84263d55307 197 };
AnnaBridge 167:e84263d55307 198 define block SDRBSS with fixed order{
AnnaBridge 167:e84263d55307 199 section .sdram.bss*
AnnaBridge 167:e84263d55307 200 };
AnnaBridge 167:e84263d55307 201
AnnaBridge 167:e84263d55307 202 place at start of SDRAM_RAM_region {
AnnaBridge 167:e84263d55307 203 block SDRAM,
AnnaBridge 167:e84263d55307 204 block SDRBSS,
AnnaBridge 167:e84263d55307 205 //block IMAGE1_DBG
AnnaBridge 167:e84263d55307 206 };
AnnaBridge 167:e84263d55307 207
AnnaBridge 167:e84263d55307 208
AnnaBridge 167:e84263d55307 209 /* TCM placement */
AnnaBridge 167:e84263d55307 210 define overlay TCM_overlay {
AnnaBridge 167:e84263d55307 211 section .tcm.heap,
AnnaBridge 167:e84263d55307 212 section .bss object lwip_mem.o,
AnnaBridge 167:e84263d55307 213 section .bss object lwip_memp.o,
AnnaBridge 167:e84263d55307 214 block .heap,
AnnaBridge 167:e84263d55307 215 block .stack_dummy
AnnaBridge 167:e84263d55307 216 };
AnnaBridge 167:e84263d55307 217 /* dummy code placement */
AnnaBridge 167:e84263d55307 218 define overlay TCM_overlay { block IMAGE1_DBG };
AnnaBridge 167:e84263d55307 219 place at start of TCM_region { overlay TCM_overlay };
AnnaBridge 167:e84263d55307 220 place at end of TCM_region { block CSTACK};
AnnaBridge 167:e84263d55307 221
AnnaBridge 167:e84263d55307 222 define exported symbol __rom_bss_start__ = 0x10000300; // use in rom
AnnaBridge 167:e84263d55307 223 define exported symbol __rom_bss_end__ = 0x10000bc8; // use in rom
AnnaBridge 167:e84263d55307 224 define exported symbol __ram_start_table_start__= 0x10000bc8; // use in rom
AnnaBridge 167:e84263d55307 225 define exported symbol __image1_validate_code__= 0x10000bdc; // needed by ram code
AnnaBridge 167:e84263d55307 226 define exported symbol _rtl_impure_ptr = 0x10001c60; // for standard library
AnnaBridge 167:e84263d55307 227
AnnaBridge 167:e84263d55307 228 define exported symbol __sdio_rom_bss_start__ = 0x1006D000;
AnnaBridge 167:e84263d55307 229 define exported symbol __sdio_rom_bss_end__ = 0x1006fa10;