summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorDave Hylands <dhylands@gmail.com>2014-09-28 10:17:44 -0700
committerDave Hylands <dhylands@gmail.com>2014-09-28 10:17:44 -0700
commitada691e704c0c8dcf4cb1aaeba5d76c02e89f03b (patch)
treed059cef8b9c658696d87b9e8f9ad119629a81733
parentf90b59e61035c194470b7de589cfc3b44484b1fe (diff)
downloadmicropython-ada691e704c0c8dcf4cb1aaeba5d76c02e89f03b.tar.gz
micropython-ada691e704c0c8dcf4cb1aaeba5d76c02e89f03b.zip
teensy: Enable 8-byte stack alignment for IRQ Handlers.
-rw-r--r--teensy/main.c8
1 files 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;