diff options
-rw-r--r-- | os/common/ports/ARMCMx/compilers/GCC/crt0.c | 10 | ||||
-rw-r--r-- | os/common/ports/ARMCMx/compilers/GCC/vectors.c | 5 |
2 files changed, 6 insertions, 9 deletions
diff --git a/os/common/ports/ARMCMx/compilers/GCC/crt0.c b/os/common/ports/ARMCMx/compilers/GCC/crt0.c index a9b58820e..06c41a2d0 100644 --- a/os/common/ports/ARMCMx/compilers/GCC/crt0.c +++ b/os/common/ports/ARMCMx/compilers/GCC/crt0.c @@ -51,11 +51,11 @@ typedef funcp_t * funcpp_t; * 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; \
+static void fill32(void *start, void *end, uint32_t filler) {
+ uint32_t *p1 = start;
+ uint32_t *p2 = end;
+ while (p1 < p2)
+ *p1++ = filler;
}
/*===========================================================================*/
diff --git a/os/common/ports/ARMCMx/compilers/GCC/vectors.c b/os/common/ports/ARMCMx/compilers/GCC/vectors.c index 707f8b7b1..0eb9d5d14 100644 --- a/os/common/ports/ARMCMx/compilers/GCC/vectors.c +++ b/os/common/ports/ARMCMx/compilers/GCC/vectors.c @@ -76,9 +76,6 @@ typedef struct { *
* @notapi
*/
-#if !defined(__DOXYGEN__)
-__attribute__ ((naked))
-#endif
void _unhandled_exception(void) {
while (true)
@@ -466,7 +463,7 @@ void Vector3FC(void) __attribute__((weak, alias("_unhandled_exception"))); * @brief STM32 vectors table.
*/
#if !defined(__DOXYGEN__)
-__attribute__ ((section("vectors")))
+__attribute__ ((used, section("vectors")))
#endif
vectors_t _vectors = {
&__main_stack_end__,Reset_Handler, NMI_Handler, HardFault_Handler,
|