TI中文支持网
TI专业的中文技术问题搜集分享网站

IWR6843: IWR6843的UART LOGGING有RX的DMA配置吗?

Part Number:IWR6843

这是我的配置代码:

/* Setup the default UART Parameters */
UART_Params_init(&uartParams);
uartParams.writeDataMode = UART_DATA_BINARY;
uartParams.readDataMode = UART_DATA_BINARY;
uartParams.readEcho = UART_ECHO_OFF;/*AFSGQV3*/
uartParams.clockFrequency = gMmwMssMCB.cfg.sysClockFrequency;
uartParams.baudRate = gMmwMssMCB.cfg.loggingBaudRate;
uartParams.isPinMuxDone = 1U;

uartParams.dmaHandle = dmaHandle;/*Here*/
uartParams.txDMAChannel = 1U;/*Here*/
uartParams.rxDMAChannel = 2U;/*2U Here*/

/* Open the Logging UART Instance: */
gMmwMssMCB.loggingUartHandle = UART_open(1, &uartParams);

于mss_main.c中

相关的驱动配置如下:

UartSci_HwCfg gUartSciHwCfg[2] =
{
/* UART1 Hardware configuration:
* – Capable of sending and receiving data
* – PIN MUX is required */
{
((volatile SCIRegs*)SOC_XWR68XX_MSS_SCI_A_BASE_ADDRESS),
UartSci_Duplexity_FULL,
UartSci_PinMux_REQUIRED,
SOC_XWR68XX_MSS_SCIA_LVL0_INT,
SOC_XWR68XX_MSS_SCIA_TX_DMA_REQ,
SOC_XWR68XX_MSS_SCIA_RX_DMA_REQ,
&UartSci_openDMA,
&UartSci_closeDMA,
&UartSci_isDMAEnabled,
&UartSci_initiateRxDMA,
&UartSci_initiateTxDMA
},

/* UART3 Hardware configuration:
* – Capable of only sending data
* – PIN MUX is required */
{
((volatile SCIRegs*)SOC_XWR68XX_MSS_SCI_B_BASE_ADDRESS),
UartSci_Duplexity_FULL,/*before:UartSci_Duplexity_TX_ONLY,*/
UartSci_PinMux_REQUIRED,
SOC_XWR68XX_MSS_SCIB_LVL0_INT,
SOC_XWR68XX_MSS_SCIB_TX_DMA_REQ,
SOC_XWR68XX_MSS_SCIB_RX_DMA_REQ,
&UartSci_openDMA,
&UartSci_closeDMA,
&UartSci_isDMAEnabled,
&UartSci_initiateRxDMA,
&UartSci_initiateTxDMA
}
};

UART LOGGING在未配置DMA的情况下能够正常收发,pinmux为:

Pinmux_Set_OverrideCtrl(SOC_XWR68XX_PINP4_PADBB, PINMUX_OUTEN_RETAIN_HW_CTRL, PINMUX_INPEN_RETAIN_HW_CTRL);
Pinmux_Set_FuncSel(SOC_XWR68XX_PINP4_PADBB, SOC_XWR68XX_PINP4_PADBB_MSS_UARTB_RX);

已测试过UART COMMAND能够使用DMA.

请问UART LOGGING是没有配置DMA吗?如果要根据上述引脚,我应该如何配置?

Chris Meng:

你好,

将uart驱动测试代码里的修改为UART1,相关dma read、dma write也不能成功么?

,

Guifeng Xu:

请问这个驱动测试代码应该如何使用呢?直接找一个Demo替换掉main吗?

,

Chris Meng:

你好,

驱动测试代码请在CCS里下载运行。

,

Guifeng Xu:

UART1是能够配置DMA并使用的,我希望得知UART-3能否配置DMA-RX以及对应的配置方法,谢谢!

,

Guifeng Xu:

我下载了,但不知该如何运行,直接编译显示某些函数无法找到.

,

Guifeng Xu:

在测试代码中似乎没有定义UART-3的RX,我想使用UART-3的RX配合DMA使用,谢谢!

,

Chris Meng:

Guifeng Xu 说:直接编译显示某些函数无法找到

你是否有编译过mmwave sdk的mmw demo。编译测试代码类似,需要先运行setenv.bat,再运行gmake编译。建议先clean一下。你可单独编译测试代码,具体请参考makefile的内容。你之前也编译过这个uart的库,是类似的编译方法。

,

Chris Meng:

Guifeng Xu 说:在测试代码中似乎没有定义UART-3的RX,我想使用UART-3的RX配合DMA使用

类似你修改ppl demo,你需要在测试代码里添加相关pinmux,修改配置uart0的代码为uart1..

,

Guifeng Xu:

我目前还没有从头编译过mmwave sdk的mmw demo…

相关流程我能在哪里看到呢?

,

Chris Meng:

你好,

请参考mmwave sdk doc目录下的user guide。

,

Chris Meng:

Guifeng Xu 说:/* UART3 Hardware configuration: * – Capable of only sending data * – PIN MUX is required */ { ((volatile SCIRegs*)SOC_XWR68XX_MSS_SCI_B_BASE_ADDRESS), UartSci_Duplexity_FULL,/*before:UartSci_Duplexity_TX_ONLY,*/

请问你修改了驱动后,有重新编译uart驱动么?如果有,如果是gmake all也是会一起编译测试代码的。这个编译流程、方法都是类似啊。

,

Guifeng Xu:

具体是user guide的哪个位置呢?我刚接触这种板子不长时间,我很抱歉…

,

Chris Meng:

你好,

请问之前uart驱动你有重新编译么?

,

Guifeng Xu:

有的,测试后不搭配DMA UART LOGGING是可用的.

我目前使用的编译方式均为修改toolbox中可以在CSS中打开的DEMO,然后在CCS中编译生成bin文件,而uart/test/中的文件并没有CCS工程,而我不知道怎么添加到CCS中…

,

Guifeng Xu:

好的,我尝试编译一下.

,

Chris Meng:

Guifeng Xu 说:

有的,测试后不搭配DMA UART LOGGING是可用的.

我目前使用的编译方式均为修改toolbox中可以在CSS中打开的DEMO,然后在CCS中编译生成bin文件,而uart/test/中的文件并没有CCS工程,而我不知道怎么添加到CCS中…

你修改了uart库里的函数,但编译toolbox的demo的时候是只编译demo,调用现有的库的。所以你修改的uart的driver代码是没有生效的,因为你没有重新编译uart driver。请尝试在命令行下重新编译uart driver,再rebuild toolbox demo看看。

,

Guifeng Xu:

我并不是直接修改库,而是将这个文件拉到demo中,在编译时它会覆盖掉库里的文件,这样子是无效的吗?

,

Chris Meng:

你好,

我没有尝试过你这个方法,你的文件里和lib里有同样的变量定义,编译器没有报错?

请按照我提供的建议修改驱动后,请重新编译uart lib。

,

Guifeng Xu:

好的,我尝试一下.

,

Guifeng Xu:

您好,是直接对着uart lib右键->rebuild project吗?

,

Chris Meng:

Chris Meng 说:

请问之前uart驱动你有重新编译么?

请参考sdk user guide在命令行编译驱动库。

,

Guifeng Xu:

您好,我已经解决了我的问题,谢谢您!

赞(0)
未经允许不得转载:TI中文支持网 » IWR6843: IWR6843的UART LOGGING有RX的DMA配置吗?
分享到: 更多 (0)