This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Programming not working with debugger

Other Parts Discussed in Thread: EK-TM4C1294XL, SYSBIOS

I have a program that works without the debugger, but not within the debugger.

I have ported a program running on the TIVA eval board - EK-TM4C1294XL - from TI RTOS 2.12.1.33, compiler 16.3.0 to TI RTOS 2.16.1.4, and new sysbios.

The program (now stripped down to its basics) uses the SPI bus for some data acquisition; it also uses the SDSPI interface for storage, using the FATFS.

The application uses the SPI_transfer with a callback.  That HWI-based callback posts a SWI, which in turn calls the next SPI-transfer (posting another SPI callback), etc.

When executed without the debugger, the code (in particular the api/HWI/SWI loop) works just fine.

When executed in the debugger, with or without any breakpoints set, the application hangs.  Upon pausing in the debugger, the code seems to have executed the first SPI callback, posted the SWI, and called the SWI, and called the second HWI callback.  Now the code goes into Hwi_dispatch, and seems to loop endlessly comparing priorities, and never dispatching anything.  I realize that's a little vague, but the essence is that none of my code ever gets called again - no task, no swi, no HWI, no idle, nothing.  The clock does increment, though.

The data-handling requirements for this application aren't high - 28 bytes at 1 kHz, so it does't particularly make sense to me that that would be a timing problem introduced by whatever overhead is added by the debugger.  And it worked just fine in RTOS 2.12s there some other overhead introduced by the debugger that would affect this situation?  Some GPIO pins that get asserted?

I'd appreciate any hints about how to proceed with debugging this thing. The notable thing to me is that this problem appeared upon upgrading the RTOS from 2.12 to 2.16.

Thanks,

Bob