The official Mbed 2 C/C++ SDK provides the software platform and libraries to build your applications.
Dependents: hello SerialTestv11 SerialTestv12 Sierpinski ... more
mbed 2
This is the mbed 2 library. If you'd like to learn about Mbed OS please see the mbed-os docs.
TARGET_ARM_CM3DS_MPS2/TOOLCHAIN_IAR/MPS2.icf@165:d1b4690b3f8b, 2018-04-19 (annotated)
- Committer:
- AnnaBridge
- Date:
- Thu Apr 19 14:31:27 2018 +0100
- Revision:
- 165:d1b4690b3f8b
- Parent:
- 145:64910690c574
mbed library. Release version 161
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
AnnaBridge | 145:64910690c574 | 1 | /* |
AnnaBridge | 165:d1b4690b3f8b | 2 | * Copyright (c) 2009-2018 ARM Limited. All rights reserved. |
AnnaBridge | 145:64910690c574 | 3 | * |
AnnaBridge | 145:64910690c574 | 4 | * SPDX-License-Identifier: Apache-2.0 |
AnnaBridge | 145:64910690c574 | 5 | * |
AnnaBridge | 145:64910690c574 | 6 | * Licensed under the Apache License, Version 2.0 (the License) you may |
AnnaBridge | 145:64910690c574 | 7 | * not use this file except in compliance with the License. |
AnnaBridge | 145:64910690c574 | 8 | * You may obtain a copy of the License at |
AnnaBridge | 145:64910690c574 | 9 | * |
AnnaBridge | 145:64910690c574 | 10 | * http://www.apache.org/licenses/LICENSE-2.0 |
AnnaBridge | 145:64910690c574 | 11 | * |
AnnaBridge | 145:64910690c574 | 12 | * Unless required by applicable law or agreed to in writing, software |
AnnaBridge | 145:64910690c574 | 13 | * distributed under the License is distributed on an AS IS BASIS, WITHOUT |
AnnaBridge | 145:64910690c574 | 14 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
AnnaBridge | 145:64910690c574 | 15 | * See the License for the specific language governing permissions and |
AnnaBridge | 145:64910690c574 | 16 | * limitations under the License. |
AnnaBridge | 145:64910690c574 | 17 | */ |
AnnaBridge | 145:64910690c574 | 18 | |
AnnaBridge | 165:d1b4690b3f8b | 19 | /* |
AnnaBridge | 165:d1b4690b3f8b | 20 | * WARNING: these symbols are the same as the defines in ../memory_zones.h but |
AnnaBridge | 165:d1b4690b3f8b | 21 | * can not be included here. Please make sure that the two definitions match. |
AnnaBridge | 145:64910690c574 | 22 | */ |
AnnaBridge | 165:d1b4690b3f8b | 23 | /* Code memory zones */ |
AnnaBridge | 165:d1b4690b3f8b | 24 | define symbol FLASH_START = 0x00000000; |
AnnaBridge | 165:d1b4690b3f8b | 25 | define symbol FLASH_SIZE = 0x00040000; /* 256 KiB */ |
AnnaBridge | 165:d1b4690b3f8b | 26 | define symbol ZBT_SSRAM1_START = 0x00400000; |
AnnaBridge | 165:d1b4690b3f8b | 27 | define symbol ZBT_SSRAM1_SIZE = 0x00400000; /* 4 MiB */ |
AnnaBridge | 165:d1b4690b3f8b | 28 | |
AnnaBridge | 165:d1b4690b3f8b | 29 | /* Data memory zones */ |
AnnaBridge | 165:d1b4690b3f8b | 30 | define symbol SRAM0_START = 0x20000000; |
AnnaBridge | 165:d1b4690b3f8b | 31 | define symbol SRAM0_SIZE = 0x00008000; /* 32 KiB */ |
AnnaBridge | 165:d1b4690b3f8b | 32 | define symbol SRAM1_START = 0x20008000; |
AnnaBridge | 165:d1b4690b3f8b | 33 | define symbol SRAM1_SIZE = 0x00008000; /* 32 KiB */ |
AnnaBridge | 165:d1b4690b3f8b | 34 | define symbol SRAM2_START = 0x20010000; |
AnnaBridge | 165:d1b4690b3f8b | 35 | define symbol SRAM2_SIZE = 0x00008000; /* 32 KiB */ |
AnnaBridge | 165:d1b4690b3f8b | 36 | define symbol SRAM3_START = 0x20018000; |
AnnaBridge | 165:d1b4690b3f8b | 37 | define symbol SRAM3_SIZE = 0x00008000; /* 32 KiB */ |
AnnaBridge | 165:d1b4690b3f8b | 38 | define symbol ZBT_SSRAM23_START = 0x20400000; |
AnnaBridge | 165:d1b4690b3f8b | 39 | define symbol ZBT_SSRAM23_SIZE = 0x00400000; /* 4 MiB */ |
AnnaBridge | 165:d1b4690b3f8b | 40 | |
AnnaBridge | 165:d1b4690b3f8b | 41 | /* NVIC vector numbers and size. */ |
AnnaBridge | 165:d1b4690b3f8b | 42 | define symbol NVIC_NUM_VECTORS = 16 + 57; |
AnnaBridge | 165:d1b4690b3f8b | 43 | define symbol NVIC_VECTORS_SIZE = NVIC_NUM_VECTORS * 4; |
AnnaBridge | 165:d1b4690b3f8b | 44 | |
AnnaBridge | 165:d1b4690b3f8b | 45 | /* Specials */ |
AnnaBridge | 165:d1b4690b3f8b | 46 | define symbol __ICFEDIT_intvec_start__ = FLASH_START; |
AnnaBridge | 165:d1b4690b3f8b | 47 | |
AnnaBridge | 165:d1b4690b3f8b | 48 | /* Memory Regions */ |
AnnaBridge | 165:d1b4690b3f8b | 49 | define symbol __ICFEDIT_region_ROM_start__ = ZBT_SSRAM1_START; |
AnnaBridge | 165:d1b4690b3f8b | 50 | define symbol __ICFEDIT_region_ROM_end__ = ZBT_SSRAM1_START + ZBT_SSRAM1_SIZE - 1; |
AnnaBridge | 165:d1b4690b3f8b | 51 | /* |
AnnaBridge | 165:d1b4690b3f8b | 52 | * At execution, RAM is set to be in ZBT SSRAM2 and 3, just after the vector |
AnnaBridge | 165:d1b4690b3f8b | 53 | * table previously moved from Flash. |
AnnaBridge | 165:d1b4690b3f8b | 54 | */ |
AnnaBridge | 165:d1b4690b3f8b | 55 | define symbol __ICFEDIT_region_RAM_start__ = ZBT_SSRAM23_START + NVIC_VECTORS_SIZE; |
AnnaBridge | 165:d1b4690b3f8b | 56 | define symbol __ICFEDIT_region_RAM_end__ = ZBT_SSRAM23_START + ZBT_SSRAM23_SIZE; |
AnnaBridge | 165:d1b4690b3f8b | 57 | |
AnnaBridge | 165:d1b4690b3f8b | 58 | /* Sizes */ |
AnnaBridge | 145:64910690c574 | 59 | /* Heap and Stack size */ |
AnnaBridge | 165:d1b4690b3f8b | 60 | define symbol __ICFEDIT_size_heap__ = 0xF000; |
AnnaBridge | 145:64910690c574 | 61 | define symbol __ICFEDIT_size_cstack__ = 0x1000; |
AnnaBridge | 145:64910690c574 | 62 | |
AnnaBridge | 145:64910690c574 | 63 | define memory mem with size = 4G; |
AnnaBridge | 145:64910690c574 | 64 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; |
AnnaBridge | 145:64910690c574 | 65 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; |
AnnaBridge | 145:64910690c574 | 66 | |
AnnaBridge | 145:64910690c574 | 67 | initialize by copy { readwrite }; |
AnnaBridge | 145:64910690c574 | 68 | do not initialize { section .noinit }; |
AnnaBridge | 145:64910690c574 | 69 | |
AnnaBridge | 145:64910690c574 | 70 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; |
AnnaBridge | 145:64910690c574 | 71 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; |
AnnaBridge | 145:64910690c574 | 72 | |
AnnaBridge | 145:64910690c574 | 73 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; |
AnnaBridge | 145:64910690c574 | 74 | place in ROM_region { readonly }; |
AnnaBridge | 145:64910690c574 | 75 | place in RAM_region { readwrite, |
AnnaBridge | 145:64910690c574 | 76 | block CSTACK, block HEAP }; |