From ada691e704c0c8dcf4cb1aaeba5d76c02e89f03b Mon Sep 17 00:00:00 2001 From: Dave Hylands Date: Sun, 28 Sep 2014 10:17:44 -0700 Subject: [PATCH] teensy: Enable 8-byte stack alignment for IRQ Handlers. --- teensy/main.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/teensy/main.c b/teensy/main.c index 3b2994c86f..bc687fa675 100644 --- a/teensy/main.c +++ b/teensy/main.c @@ -253,9 +253,13 @@ char *strdup(const char *str) { #endif int main(void) { - pinMode(LED_BUILTIN, OUTPUT); - delay(1000); + // TODO: Put this in a more common initialization function. + // Turn on STKALIGN which keeps the stack 8-byte aligned for interrupts + // (per EABI) + #define SCB_CCR_STKALIGN (1 << 9) + SCB_CCR |= SCB_CCR_STKALIGN; + pinMode(LED_BUILTIN, OUTPUT); led_init(); // int first_soft_reset = true;