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.

Committer:
<>
Date:
Wed Apr 12 16:07:08 2017 +0100
Revision:
140:97feb9bacc10
Release 140 of the mbed library

Ports for Upcoming Targets

3841: Add nRf52840 target https://github.com/ARMmbed/mbed-os/pull/3841
3992: Introducing UBLOX_C030 platform. https://github.com/ARMmbed/mbed-os/pull/3992

Fixes and Changes

3951: [NUCLEO_F303ZE] Correct ARDUINO pin https://github.com/ARMmbed/mbed-os/pull/3951
4021: Fixing a macro to detect when RTOS was in use for the NRF52840_DK https://github.com/ARMmbed/mbed-os/pull/4021
3979: KW24D: Add missing SPI defines and Arduino connector definitions https://github.com/ARMmbed/mbed-os/pull/3979
3990: UBLOX_C027: construct a ticker-based wait, rather than calling wait_ms(), in the https://github.com/ARMmbed/mbed-os/pull/3990
4003: Fixed OBOE in async serial tx for NRF52 target, fixes #4002 https://github.com/ARMmbed/mbed-os/pull/4003
4012: STM32: Correct I2C master error handling https://github.com/ARMmbed/mbed-os/pull/4012
4020: NUCLEO_L011K4 remove unsupported tool chain files https://github.com/ARMmbed/mbed-os/pull/4020
4065: K66F: Move bss section to m_data_2 Section https://github.com/ARMmbed/mbed-os/pull/4065
4014: Issue 3763: Reduce heap allocation in the GCC linker file https://github.com/ARMmbed/mbed-os/pull/4014
4030: [STM32L0] reduce IAR heap and stack size for small targets https://github.com/ARMmbed/mbed-os/pull/4030
4109: NUCLEO_L476RG : minor serial pin update https://github.com/ARMmbed/mbed-os/pull/4109
3982: Ticker - kl25z bugfix for handling events in the past https://github.com/ARMmbed/mbed-os/pull/3982

Who changed what in which revision?

UserRevisionLine numberNew contents of line
<> 140:97feb9bacc10 1 /*###ICF### Section handled by ICF editor, don't touch! ****/
<> 140:97feb9bacc10 2 /*-Editor annotation file-*/
<> 140:97feb9bacc10 3 /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */
<> 140:97feb9bacc10 4 /*-Specials-*/
<> 140:97feb9bacc10 5 define symbol __ICFEDIT_intvec_start__ = 0x21000;
<> 140:97feb9bacc10 6 /*-Memory Regions-*/
<> 140:97feb9bacc10 7 define symbol __ICFEDIT_region_ROM_start__ = 0x21000;
<> 140:97feb9bacc10 8 define symbol __ICFEDIT_region_ROM_end__ = 0xfffff;
<> 140:97feb9bacc10 9 define symbol __ICFEDIT_region_RAM_start__ = 0x20003288;
<> 140:97feb9bacc10 10 define symbol __ICFEDIT_region_RAM_end__ = 0x2003ffff;
<> 140:97feb9bacc10 11 export symbol __ICFEDIT_region_RAM_start__;
<> 140:97feb9bacc10 12 export symbol __ICFEDIT_region_RAM_end__;
<> 140:97feb9bacc10 13 /*-Sizes-*/
<> 140:97feb9bacc10 14 /*Heap 1/4 of ram and stack 1/8*/
<> 140:97feb9bacc10 15 define symbol __ICFEDIT_size_cstack__ = 0x800;
<> 140:97feb9bacc10 16 define symbol __ICFEDIT_size_heap__ = 0x3000;
<> 140:97feb9bacc10 17 /**** End of ICF editor section. ###ICF###*/
<> 140:97feb9bacc10 18
<> 140:97feb9bacc10 19 define symbol __code_start_soft_device__ = 0x0;
<> 140:97feb9bacc10 20
<> 140:97feb9bacc10 21 define memory mem with size = 4G;
<> 140:97feb9bacc10 22 define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
<> 140:97feb9bacc10 23 define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
<> 140:97feb9bacc10 24
<> 140:97feb9bacc10 25 define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
<> 140:97feb9bacc10 26 define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
<> 140:97feb9bacc10 27
<> 140:97feb9bacc10 28 initialize by copy { readwrite };
<> 140:97feb9bacc10 29 do not initialize { section .noinit };
<> 140:97feb9bacc10 30
<> 140:97feb9bacc10 31 keep { section .intvec };
<> 140:97feb9bacc10 32 place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
<> 140:97feb9bacc10 33 place in ROM_region { readonly };
<> 140:97feb9bacc10 34 place in RAM_region { readwrite,
<> 140:97feb9bacc10 35 block HEAP,
<> 140:97feb9bacc10 36 block CSTACK };
<> 140:97feb9bacc10 37
<> 140:97feb9bacc10 38 /*This is used for mbed applications build inside the Embedded workbench
<> 140:97feb9bacc10 39 Applications build with the python scritps use a hex merge so need to merge it
<> 140:97feb9bacc10 40 inside the linker. The linker can only use binary files so the hex merge is not possible
<> 140:97feb9bacc10 41 through the linker. That is why a binary is used instead of a hex image for the embedded project.
<> 140:97feb9bacc10 42 */
<> 140:97feb9bacc10 43 if(isdefinedsymbol(SOFT_DEVICE_BIN))
<> 140:97feb9bacc10 44 {
<> 140:97feb9bacc10 45 place at address mem:__code_start_soft_device__ { section .noinit_softdevice };
<> 140:97feb9bacc10 46 }