DSTREAM causing peripherals to behave differently


I have discovered that running my board support code using the DS-5 and DSTREAM causes different behavior than executing without debug support.  For example, in the case of Ethernet, the MAC transmit will not occur unless there is a 1 second delay inserted between the ready bit TxBD write and the TDAR write.  Alternatively, a breakpoint before the TDAR write could be used and as long I re-write the TxBD manually using the Eclipse interface the transmit will work.  Otherwise it will not.  However, none of this is necessary and the transmit works fine without the debugger.  I've disabled semihosting just in case.

Another problem is found with the USB - waiting for the UI bit (interrupt) to be set for packet detect.  With the debugger connected, the code is stuck forever at that wait despite packets existing.  Works fine running standalone.

I'm trying to figure out - what could cause this?