Part Number:DRA821U
最近我们(UAES)在尝试利用sdk的实现基于DMA的UART通信功能,一直没有调通,大致遇到几个问题:
测试Case |
现象 |
问题 |
使用UART向外发送任意报文 |
如果使用uart_write接口,则UART口上可以检测到电平变化,但是并不是想发的数据;如果使用UARTCharPut接口,则数据可以正常发送 |
这两个接口用起来的区别是什么?事实上我们更想使用uart_write接口,想知道怎么用。 |
利用UART_socGetInitCfg/UART_socSetInitCfg打开DMA功能 |
以下是代码: UART_socGetInitCfg(TEST_UART_CHANNEL, &TSW_Uart_Cfg);
/* here is the changed value: */ TSW_Uart_Cfg.baseAddr = CSL_UART5_BASE; TSW_Uart_Cfg.intNum = CSLR_R5FSS0_CORE0_INTR_UART5_USART_IRQ_0; TSW_Uart_Cfg.enableInterrupt = FALSE; TSW_Uart_Cfg.dmaMode = TRUE;
/* Write back config */ UART_socSetInitCfg(TEST_UART_CHANNEL, &TSW_Uart_Cfg);
DMA功能似乎没有被正常使能,甚至在lauterbach调试时也没有找到这个函数:UART_configDMA |
我们发现驱动中有一个这个宏:UART_DMA_ENABLE,是不是库里面这个宏没有使能?
|
edma/udma/pdma有什么区别? |
edma/udma/pdma有什么区别? |
edma/udma/pdma有什么区别? |
是否有此芯片的基于UART+DMA的Demo软件?(sdk中的代码比较乱,drv/uart文件夹中也没有像一些组件一样的example文件夹,文档也比较简单,参考起来很困难)
p.s. 我们使用的调试器是LauterBach
Cherry Zhou:
您好,我们已经收到您的问题并反馈,预计将于24小时内给您答复。谢谢。
,
Cherry Zhou:
zeng junran 说:edma/udma/pdma有什么区别?
它们是不同的 DMA 模块,在 DRA821 上通常使用 UDMA。 您可以参考该文档。
zeng junran 说:我们发现驱动中有一个这个宏:UART_DMA_ENABLE,是不是库里面这个宏没有使能?
默认情况下,它是未使能状态,因为我们有 DMA 和非 DMA 的示例。 如果您构建 DMA 示例,将包括宏。
zeng junran 说:事实上我们更想使用uart_write接口,想知道怎么用。
在 ti/drv/UART 中有很多地方使用此该API。 请参阅 UART 文档以及 UART 驱动程序示例。 我们也有 UART DMA 示例,请参阅该 UART 文档。
希望以上回答对您有所帮助,如有其他问题请随时联系我们。