mbed library sources

Fork of mbed-src by mbed official

Files at this revision

API Documentation at this revision

Comitter:
mbed_official
Date:
Mon Jul 21 08:45:07 2014 +0100
Parent:
261:ee1cf08b7bc7
Child:
263:3095fd66fd32
Commit message:
Synchronized with git revision f971aef91393bdb89fd26278bff585cc24ccc30a

Full URL: https://github.com/mbedmicro/mbed/commit/f971aef91393bdb89fd26278bff585cc24ccc30a/

[Nucleo, Discovery] Add default heap size( 1 KB) for Nucleo F401RE, DISCOVERY 407

Changed in this revision

common/InterruptManager.cpp Show annotated file Show diff for this revision Revisions of this file
targets/cmsis/TARGET_STM/TARGET_DISCO_F407VG/TOOLCHAIN_GCC_ARM/startup_stm32f407xx.s Show annotated file Show diff for this revision Revisions of this file
targets/cmsis/TARGET_STM/TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/startup_stm32f401xe.s Show annotated file Show diff for this revision Revisions of this file
targets/cmsis/TARGET_STM/TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/startup_stm32f401xe.s Show annotated file Show diff for this revision Revisions of this file
targets/cmsis/TARGET_STM/TARGET_NUCLEO_F401RE/TOOLCHAIN_GCC_ARM/startup_STM32F40x.s Show annotated file Show diff for this revision Revisions of this file
targets/cmsis/TARGET_STM/TARGET_NUCLEO_F401RE/TOOLCHAIN_IAR/stm32f401xe.icf Show annotated file Show diff for this revision Revisions of this file
--- a/common/InterruptManager.cpp	Mon Jul 21 07:45:07 2014 +0100
+++ b/common/InterruptManager.cpp	Mon Jul 21 08:45:07 2014 +0100
@@ -7,7 +7,7 @@
 
 typedef void (*pvoidf)(void);
 
-InterruptManager* InterruptManager::_instance = NULL;
+InterruptManager* InterruptManager::_instance = (InterruptManager*)NULL;
 
 InterruptManager* InterruptManager::get() {
     if (NULL == _instance)
@@ -25,7 +25,7 @@
     // is very likely to occur
     if (NULL != _instance) {
         delete _instance;
-        _instance = NULL;
+        _instance = (InterruptManager*)NULL;
     }
 }
 
@@ -68,7 +68,7 @@
     if (_chains[irq_pos]->size() == 1 && NULL != _chains[irq_pos]->get(0)->get_function()) {
         NVIC_SetVector(irq, (uint32_t)_chains[irq_pos]->get(0)->get_function());
         delete _chains[irq_pos];
-        _chains[irq_pos] = NULL;
+        _chains[irq_pos] = (CallChain*) NULL;
     }
     return true;
 }
--- a/targets/cmsis/TARGET_STM/TARGET_DISCO_F407VG/TOOLCHAIN_GCC_ARM/startup_stm32f407xx.s	Mon Jul 21 07:45:07 2014 +0100
+++ b/targets/cmsis/TARGET_STM/TARGET_DISCO_F407VG/TOOLCHAIN_GCC_ARM/startup_stm32f407xx.s	Mon Jul 21 08:45:07 2014 +0100
@@ -72,6 +72,41 @@
  * @param  None
  * @retval : None
 */
+   .section .stack
+    .align 3
+#ifdef __STACK_SIZE
+    .equ    Stack_Size, __STACK_SIZE
+#else
+    .equ    Stack_Size, 0xc00
+#endif
+    .globl    __StackTop
+    .globl    __StackLimit
+__StackLimit:
+    .space    Stack_Size
+    .size __StackLimit, . - __StackLimit
+__StackTop:
+    .size __StackTop, . - __StackTop
+
+    .section .heap
+    .align 3
+#ifdef __HEAP_SIZE
+    .equ    Heap_Size, __HEAP_SIZE
+#else
+    .equ    Heap_Size, 0x400
+#endif
+    .globl    __HeapBase
+    .globl    __HeapLimit
+__HeapBase:
+    .if    Heap_Size
+    .space    Heap_Size
+    .endif
+    .size __HeapBase, . - __HeapBase
+__HeapLimit:
+    .size __HeapLimit, . - __HeapLimit
+
+
+
+
 
     .section  .text.Reset_Handler
   .weak  Reset_Handler
--- a/targets/cmsis/TARGET_STM/TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/startup_stm32f401xe.s	Mon Jul 21 07:45:07 2014 +0100
+++ b/targets/cmsis/TARGET_STM/TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_MICRO/startup_stm32f401xe.s	Mon Jul 21 08:45:07 2014 +0100
@@ -58,7 +58,7 @@
 ;   <o>  Heap Size (in Bytes) <0x0-0xFFFFFFFF:8>
 ; </h>
 
-Heap_Size       EQU     0x00000000
+Heap_Size       EQU     0x00000400
 
                 AREA    HEAP, NOINIT, READWRITE, ALIGN=3
                 EXPORT  __heap_base
--- a/targets/cmsis/TARGET_STM/TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/startup_stm32f401xe.s	Mon Jul 21 07:45:07 2014 +0100
+++ b/targets/cmsis/TARGET_STM/TARGET_NUCLEO_F401RE/TOOLCHAIN_ARM_STD/startup_stm32f401xe.s	Mon Jul 21 08:45:07 2014 +0100
@@ -39,8 +39,9 @@
 ; 
 ;*******************************************************************************
 
+
 __initial_sp    EQU     0x20018000 ; Top of RAM
-  
+
                 PRESERVE8
                 THUMB
 
--- a/targets/cmsis/TARGET_STM/TARGET_NUCLEO_F401RE/TOOLCHAIN_GCC_ARM/startup_STM32F40x.s	Mon Jul 21 07:45:07 2014 +0100
+++ b/targets/cmsis/TARGET_STM/TARGET_NUCLEO_F401RE/TOOLCHAIN_GCC_ARM/startup_STM32F40x.s	Mon Jul 21 08:45:07 2014 +0100
@@ -52,7 +52,7 @@
 #ifdef __HEAP_SIZE
     .equ    Heap_Size, __HEAP_SIZE
 #else
-    .equ    Heap_Size, 0
+    .equ    Heap_Size, 0x400
 #endif
     .globl    __HeapBase
     .globl    __HeapLimit
--- a/targets/cmsis/TARGET_STM/TARGET_NUCLEO_F401RE/TOOLCHAIN_IAR/stm32f401xe.icf	Mon Jul 21 07:45:07 2014 +0100
+++ b/targets/cmsis/TARGET_STM/TARGET_NUCLEO_F401RE/TOOLCHAIN_IAR/stm32f401xe.icf	Mon Jul 21 08:45:07 2014 +0100
@@ -16,7 +16,7 @@
 
 /* Stack and Heap */
 define symbol __size_cstack__ = 0x400;
-define symbol __size_heap__   = 0x200;
+define symbol __size_heap__   = 0x400;
 define block CSTACK    with alignment = 8, size = __size_cstack__   { };
 define block HEAP      with alignment = 8, size = __size_heap__     { };
 define block STACKHEAP with fixed order { block HEAP, block CSTACK };