46
NXPTM M522XX, KINETIS and i.MX RT / UART DMA Defines
« on: May 24, 2018, 02:32:36 PM »
Hi,
Just started working with the Kinetis version of uTasker and first task is to get UART running with DMA and RX in free-running mode. Anyway, dug into the Tty_drv.c and found this bit:
Problem I'm seeing is that SERIAL_SUPPORT_DMA_ is not defined anywhere in the app_hw_kinetis.h header, but SERIAL_SUPPORT_DMA is.
Thanks,
Alex
Just started working with the Kinetis version of uTasker and first task is to get UART running with DMA and RX in free-running mode. Anyway, dug into the Tty_drv.c and found this bit:
Code: [Select]
#if defined SERIAL_SUPPORT_DMA_ // {18}
if (ptTTYQue->ucDMA_mode & UART_TX_DMA) {
QUEUE_TRANSFER reduction = (ptTTYQue->lastDMA_block_length - fnRemainingDMA_tx(channel)); // get the number of characters
ptTTYQue->tty_queue.chars -= reduction;
ptTTYQue->lastDMA_block_length -= reduction;
ptTTYQue->tty_queue.put += reduction;
if (ptTTYQue->tty_queue.put >= ptTTYQue->tty_queue.buffer_end) {
ptTTYQue->tty_queue.put -= ptTTYQue->tty_queue.buf_length;
}
}
#endif
Problem I'm seeing is that SERIAL_SUPPORT_DMA_ is not defined anywhere in the app_hw_kinetis.h header, but SERIAL_SUPPORT_DMA is.
Thanks,
Alex