summaryrefslogtreecommitdiff
path: root/nuttx/arch/arm/src/stm32/stm32_start.c
diff options
context:
space:
mode:
Diffstat (limited to 'nuttx/arch/arm/src/stm32/stm32_start.c')
-rw-r--r--nuttx/arch/arm/src/stm32/stm32_start.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/nuttx/arch/arm/src/stm32/stm32_start.c b/nuttx/arch/arm/src/stm32/stm32_start.c
index b90beeb16..a2f82f7b2 100644
--- a/nuttx/arch/arm/src/stm32/stm32_start.c
+++ b/nuttx/arch/arm/src/stm32/stm32_start.c
@@ -52,6 +52,7 @@
#include "stm32.h"
#include "stm32_gpio.h"
+#include "stm32_userspace.h"
#ifdef CONFIG_ARCH_FPU
# include "nvic.h"
@@ -198,6 +199,7 @@ void __start(void)
{
*dest++ = 0;
}
+
showprogress('B');
/* Move the intialized data section from his temporary holding spot in
@@ -210,6 +212,7 @@ void __start(void)
{
*dest++ = *src++;
}
+
showprogress('C');
/* Perform early serial initialization */
@@ -219,10 +222,21 @@ void __start(void)
#endif
showprogress('D');
+ /* For the case of the separate user-/kernel-space build, perform whatever
+ * platform specific initialization of the user memory is required.
+ * Normally this just means initializing the user space .data and .bss
+ * segments.
+ */
+
+#ifdef CONFIG_NUTTX_KERNEL
+ stm32_userspace();
+ showprogress('E');
+#endif
+
/* Initialize onboard resources */
stm32_boardinitialize();
- showprogress('E');
+ showprogress('F');
/* Then start NuttX */