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 Nov 10 07:45:06 2014 +0000
Revision:
395:bfce16e86ea4
Parent:
270:e2babe29baf8
Synchronized with git revision 8adfd82aa1bf8859ec08537ee7bcd4aaaec1769b

Full URL: https://github.com/mbedmicro/mbed/commit/8adfd82aa1bf8859ec08537ee7bcd4aaaec1769b/

Targets: LPC176X - Add repeater pinmode

Who changed what in which revision?

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