mbed library sources

Dependents:   Encrypted my_mbed lklk CyaSSL_DTLS_Cellular ... more

Superseded

This library was superseded by mbed-dev - https://os.mbed.com/users/mbed_official/code/mbed-dev/.

Development branch of the mbed library sources. This library is kept in synch with the latest changes from the mbed SDK and it is not guaranteed to work.

If you are looking for a stable and tested release, please import one of the official mbed library releases:

Import librarymbed

The official Mbed 2 C/C++ SDK provides the software platform and libraries to build your applications.

Committer:
mbed_official
Date:
Mon Sep 28 13:00:10 2015 +0100
Revision:
631:ff681937ffd8
Synchronized with git revision 1be56c8134a3ed6004f149a84f658de45dda6a5c

Full URL: https://github.com/mbedmicro/mbed/commit/1be56c8134a3ed6004f149a84f658de45dda6a5c/

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 631:ff681937ffd8 1 /* mbed Microcontroller Library - stackheap
mbed_official 631:ff681937ffd8 2 * Copyright (C) 2009-2011 ARM Limited. All rights reserved.
mbed_official 631:ff681937ffd8 3 *
mbed_official 631:ff681937ffd8 4 * Setup a fixed single stack/heap memory model,
mbed_official 631:ff681937ffd8 5 * between the top of the RW/ZI region and the stackpointer
mbed_official 631:ff681937ffd8 6 */
mbed_official 631:ff681937ffd8 7
mbed_official 631:ff681937ffd8 8 #ifdef __cplusplus
mbed_official 631:ff681937ffd8 9 extern "C" {
mbed_official 631:ff681937ffd8 10 #endif
mbed_official 631:ff681937ffd8 11
mbed_official 631:ff681937ffd8 12 #include <rt_misc.h>
mbed_official 631:ff681937ffd8 13 #include <stdint.h>
mbed_official 631:ff681937ffd8 14
mbed_official 631:ff681937ffd8 15 extern char Image$$RW_IRAM1$$ZI$$Limit[];
mbed_official 631:ff681937ffd8 16
mbed_official 631:ff681937ffd8 17 extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
mbed_official 631:ff681937ffd8 18 uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
mbed_official 631:ff681937ffd8 19 uint32_t sp_limit = __current_sp();
mbed_official 631:ff681937ffd8 20
mbed_official 631:ff681937ffd8 21 zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
mbed_official 631:ff681937ffd8 22
mbed_official 631:ff681937ffd8 23 struct __initial_stackheap r;
mbed_official 631:ff681937ffd8 24 r.heap_base = zi_limit;
mbed_official 631:ff681937ffd8 25 r.heap_limit = sp_limit;
mbed_official 631:ff681937ffd8 26 return r;
mbed_official 631:ff681937ffd8 27 }
mbed_official 631:ff681937ffd8 28
mbed_official 631:ff681937ffd8 29 #ifdef __cplusplus
mbed_official 631:ff681937ffd8 30 }
mbed_official 631:ff681937ffd8 31 #endif