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 Jan 27 15:30:04 2014 +0000
Revision:
77:b5886236e6f0
Parent:
46:bebbbd80dd87
Synchronized with git revision 84a8f2bcd4fff802c20a78cc2edf304135d243d2

Full URL: https://github.com/mbedmicro/mbed/commit/84a8f2bcd4fff802c20a78cc2edf304135d243d2/

Who changed what in which revision?

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