Re: UART Dynamic Driver - Buffer Queue data transfer model - DMA - Overrun error
a) To bypass the large file limit use one of the file sharing websites, and share the link for the file here. (Dropsend.com, etc.)
b1) In your interrupts and callbacks put counters, count number of times they were entered, how many bytes processed, etc. It can aid debugging by finding where it is working/failing.
b2) Choose some spare pins and pulse them when code passes through certain points, then you can check real time flow with an Oscilloscope.
c) To avoid overruns you must "service" the event before too much data is received. For a UART that "timing" would be the total bits/bytes to fill the FIFO at the baudrate (Ensure you have FIFO enabled in MHC, and check FIFO size in PIC's datasheets). Ensure anything involved (Interrupts, DMA, etc.) is set up before transfer begins, and ensure all priorities are such that other modules won't block the UART beyond your calculated timing.
d) You need to totally avoid the overrun, not just fix it when it occurs. Get you code fast enough so overrun can't occur, that will give you reliability. Don't want one of those products that sometimes locks up in the field.