aboutsummaryrefslogtreecommitdiffstats
path: root/os/ports
diff options
context:
space:
mode:
Diffstat (limited to 'os/ports')
-rw-r--r--os/ports/GCC/ARMCMx/crt0.c24
1 files changed, 11 insertions, 13 deletions
diff --git a/os/ports/GCC/ARMCMx/crt0.c b/os/ports/GCC/ARMCMx/crt0.c
index bb8d3830d..4ac08ecdb 100644
--- a/os/ports/GCC/ARMCMx/crt0.c
+++ b/os/ports/GCC/ARMCMx/crt0.c
@@ -33,6 +33,17 @@ typedef funcp_t * funcpp_t;
#define SYMVAL(sym) (uint32_t)(((uint8_t *)&(sym)) - ((uint8_t *)0))
+/*
+ * Area fill code, it is a macro because here functions cannot be called
+ * until stacks are initialized.
+ */
+#define fill32(start, end, filler) { \
+ uint32_t *p1 = start; \
+ uint32_t *p2 = end; \
+ while (p1 < p2) \
+ *p1++ = filler; \
+}
+
/*===========================================================================*/
/**
* @name Startup settings
@@ -228,19 +239,6 @@ void _default_exit(void) {
}
/**
- * @brief Memory fill.
- *
- * @param[in] start fill area start
- * @param[in] end fill area end
- * @param[in] filler filler pattern
- */
-static void fill32(uint32_t *start, uint32_t *end, uint32_t filler) {
-
- while (start < end)
- *start++ = filler;
-}
-
-/**
* @brief Reset vector.
*/
#if !defined(__DOXYGEN__)