Hello,
I'm succesfully using UART0 in DM6437 using the uart PSP drivers, in interrupt mode, with flow control enabled.
However, when I try to instance UART1 in my code then UART0 stops receiving, the gio_read() function blocks itself and doesn't detect any more rx interruptions
(never unblocks ), this doesn't happen when having only UART0.
My configuration in DSPBIOS is:
-------------------------------------------
/* Uart0 Driver*/
bios.UDEV.create("UART0");
bios.UDEV.instance("UART0").fxnTableType = "IOM_Fxns";
bios.UDEV.instance("UART0").initFxn = prog.extern("UART0_INIT");
bios.UDEV.instance("UART0").fxnTable = prog.extern("UARTMD_FXNS");
bios.UDEV.instance("UART0").params = prog.extern("Uart0_DevParams");
bios.UDEV.instance("UART0").deviceId = 0;
/* Uart1 Driver*/
bios.UDEV.create("UART1");
bios.UDEV.instance("UART1").fxnTableType = "IOM_Fxns";
bios.UDEV.instance("UART1").initFxn = prog.extern("UART1_INIT");
bios.UDEV.instance("UART1").fxnTable = prog.extern("UARTMD_FXNS");
bios.UDEV.instance("UART1").params = prog.extern("Uart1_DevParams");
bios.UDEV.instance("UART1").deviceId = 1;
My initialization parameters and functions are:
------------------------------------------------------------
UARTMD_DevParams Uart0_DevParams =
{
/** Driver operation mode */
PSP_OPMODE_INTERRUPT,
/** Sync mode enabled */
TRUE,
/** Default input module clock */
PSP_UART_MODULE_CLOCK,
/** Edma handle */
NULL
};
UARTMD_DevParams Uart1_DevParams =
{
/** Driver operation mode */
PSP_OPMODE_INTERRUPT,
/** Sync mode enabled */
TRUE,
/** Default input module clock */
PSP_UART_MODULE_CLOCK,
/** Edma handle */
NULL
};
void UART0_INIT()
{
if(NULL != hEdma) //hEdma defined in edma library
{
Uart0_DevParams.hEdma = hEdma;
}
}
void UART1_INIT()
{
if(NULL != hEdma) //hEdma defined in edma library
{
Uart1_DevParams.hEdma = hEdma;
}
}
I'm also taking care of PINMUX0, PINMUX1 ,PSC and VDD3P3V_PWDN to enable both UARTs properly.
What can be happening ???? IF i comment out the "UART1" instace in the DSPBIOS .tcf file, UART0 receives and transmites sucessfully, however if include that code then UART0 is able to transmit but GPIO driver blocks itself as if it never detected the rx interruptions,
can somebody help me out please??? I have NO IDEA what can be wrong, I already read the UART user manual, datasheet, checked the PSP Uart sample code, and my code is as shown in example (the inconvinience is that the example code only works for UART0 and not both uarts at the same time )
PLEASE PLEASE HELP !!!
