I am facing a quite a strange issue with the subject.
It look like it only partially works.
I have UART4 configured for SDMA with
- RXTL set to 16 bytes
- TXTL set to 16 bytes
- DMA ageing turned on
- SDMA watermark level set to 16 bytes as well
I am having problem when transfer size is exactly 16 bytes, in this case SDMA interrupt does not trigger.
If I send from 1 to 15 bytes I receive RX interrupt and get the data correctly.
If I send 16 bytes I don't get RX interrupt at all.
If I send 16 bytes and then 1 extra byte after a delay I will get interrupt and read all 17 bytes ok.
To me it look like I can get DMA data ageing interrupt but can't get normal watermark based interrupt.
I tripple checked UART code and cannot find any issue, everything look completely fine.
Checked SDMA channel configuration and found no configuration error as well.
Can you please suggest where do I need to have a look to check fo SDMA possible watermark errors?
It look like only UART that suffers, other devices which use SDMA work completely fine.
My platform is Windows Embedded Compact 7.