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:
您好,我已经解决了我的问题,谢谢您!