I have this C++ abstraction layer for a STM32F405 board, and I'm trying to interface it with some other code, but I've found that the creation of a large array causes some weird behavior.  Here is my main() function:
int main(void)
{
  char test[10000];
  Board board;
  board.init_board();
  while(1)
  {
    board.led0_toggle();
    board.clock_delay(100);
  }
  return 0;
}
When I run this, after the second line, it runs through every interrupt routine, however, if I remove the array, i.e.
int main(void)
{
  Board board;
  board.init_board();
  while(1)
  {
    board.led0_toggle();
    board.clock_delay(100);
  }
  return 0;
}
It runs as expected. Any advice on what might be going on?
