Hi,
I am using OMAPL-138 package in my project. I configured UART channels on DSP core as per below settings. I am using OMAPL_138_StarterWare_1_10_04_01.
// UART Settings
PSCModuleControl(SOC_PSC_0_REGS, HW_PSC_UART0, PSC_POWERDOMAIN_ALWAYS_ON,
PSC_MDCTL_NEXT_ENABLE);
UARTPinMuxSetup(0, TRUE);
config = UART_WORDL_8BITS;
UARTConfigSetExpClk(SOC_UART_0_REGS, SOC_UART_0_MODULE_FREQ,
BAUD_115200, config,
UART_OVER_SAMP_RATE_16);
UARTFIFOEnable(SOC_UART_0_REGS);
UARTFIFOLevelSet(SOC_UART_0_REGS, UART_RX_TRIG_LEVEL_1);
IntRegister(C674X_MASK_INT6, SCID_SCI0Interrupt_it);
IntEventMap(C674X_MASK_INT6, SYS_INT_UART0_INT);
IntEnable(C674X_MASK_INT6);
// Code End
//ISR Routine
unsigned int int_id = 0;
int_id = UARTIntStatus(SOC_UART_0_REGS);
IntEventClear(SYS_INT_UART0_INT);
if(UART_INTID_RX_DATA == int_id)
{
while(UARTCharsAvail(SOC_UART_0_REGS))
{
rxData[count_rx++] = UARTCharGetNonBlocking(SOC_UART_0_REGS);
}
}
}
Problem:
UART channel is not able to receive complete data from other module. Sometime it's performance is good but not consistently. For example if we send 20 characters from other module on UART, omapL_138 is able to receive only 10 characters(sometime complete data, sometime 12 characters like that) remaining characters are discarded by DSP core.
Please do needful.
Regards,
Mitul Shinde