I keep glitching my bootloader on Fio V3

Hey,

I'm not sure what is going wrong, but I keep having to re-install a bootloader on my Fio V3.

I know you are not supposed to play with registers which affect the USB timing, but what I am doing looks safe.

Could I be running out of space in the flash or ram?

Here is my setup code:

#define PIN_XBEE_SLEEP		PIN_D7
#define PIN_XBEE_SLEEPING		PIN_D8

void setup()
{
	// initialize serial:
	Serial.begin(57600);          //USB data
	Serial1.begin(57600);         //UART data
	s_CmdLine.reserve(64);
	rxBuffer.reserve(256);
	MyIP.reserve(16);

	pinMode(PIN_D2,OUTPUT);					//1 Hz Test Signal
	pinMode(PIN_XBEE_SLEEP,OUTPUT);			//xBEE_Sleep
	pinMode(PIN_XBEE_SLEEPING,INPUT);		//xBEE Sleep Status

	noInterrupts();
	TCCR1A = 0;
	TCCR1B = 0;
	
	TCNT1  = TIMER_CMP;
	TCCR1B |= (1 << CS12);
	TIMSK1 |= (1 << TOIE1);
	interrupts();

	XBEE_WAKE();
	readCurrentCfg(true);
}

Is there something I am doing wrong which could be causing this?

Ok,

I looks like I was running out of RAM, which would cause the glitching.

I ended up changing Serial.println("xxx") type statements to Serial.println(F("xxx")) and the behavior disappeared. I am kind of shocked the Arduino compiler doesn't do this automatically.