Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of mbed-src by
Revision 262:85569914dbe0, committed 2014-07-21
- 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
--- 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 };
