played around with initialization code
diff --git a/bbb_cape/src/cape/main.c b/bbb_cape/src/cape/main.c
index 32b87da..411a734 100644
--- a/bbb_cape/src/cape/main.c
+++ b/bbb_cape/src/cape/main.c
@@ -9,6 +9,18 @@
// Change the vector table offset to use our vector table instead of the
// bootloader's.
SCB->VTOR = (uint32_t)&_vectors;
+ // Data Memory Barrier to make sure it gets the updated vector table.
+ __asm__ __volatile__("dmb");
fill_packet_start();
+
+ // Make it go right to sleep after handling all exceptions. This actually
+ // decreses ISR latency a little bit because it doesn't have to stack the
+ // registers for the first one.
+ SCB->SCR |= SCB_SCR_SLEEPONEXIT_Msk;
+ // This seems like the perfect place to use WFI, but Brian on 2013-12-13
+ // couldn't find anything verifying that WFI doesn't increase the latency for
+ // the first interrupt handled, and we should never actually get here anyways,
+ // so it doesn't matter.
+ while (1) {}
}