On Thursday 11 February 2010 12:42:50 am Bansal, Prateek wrote:
> Hi,
>
Hi,
> When working with DM355 UART1, we are experiencing a strange behavior. When
> calling the write function for this UART, sometimes it takes 200 ms for
> the write function to complete. This happens when a write function is
> called right after another write function. There is not a lot of data sent
> to the UART at one time, at most 32 bytes. The UART is running at 100,000
> baud and would take at most 3.2 ms to send this data, not 200 ms.
>
The exact same problem exists for DM6446, too. Out 1 of 2 write requests to
the UART is delayed by 200 ms. Haven't investigated the reason though.
Besr regards,
Caglar
> We have tested this in non-Linux environment and found there were no
> delays. Has anyone came across this issue on UART transmits on DM355
> devices?
>
> Below is simple test code that re-creates this issue.
>
>
> static int halUartWrite(int fd, uint8_t* buffer, size_t s)
> {
> int num = 0;
>
> if( fd != invalidHandle )
> {
> num = write(fd, buffer, s);
> tcdrain(fd);
> }
>
> return num;
> }
>
> int main(int argc, char** argv)
> {
> char testString[] = "A really long test to see what happens.";
> char buffer[100];
> time_t currentTime;
>
> int cartridgeSerialPortFileDevice = halUartOpen("/dev/ttyS1", 100000);
> if( cartridgeSerialPortFileDevice == invalidHandle )
> {
> printf("ttyS1 failed\n");
> exit(-1);
> }
>
> printf("Length of test string (%s) %d\n", testString, sizeof
> testString);
>
> currentTime = currentTime_ms();
> halUartWrite(cartridgeSerialPortFileDevice, testString, sizeof
> testString); printf("Elapsed time (ms) after 1st write: %d\n",
> currentTime_ms() - currentTime);
> halUartWrite(cartridgeSerialPortFileDevice, testString, sizeof
> testString); // 200 ms delay until this is seen printf("Elapsed time (ms)
> after 2nd write: %d\n", currentTime_ms() - currentTime);
>
> halUartRead(cartridgeSerialPortFileDevice, buffer, sizeof buffer);
> printf("Finished\n");
> }
>
>
> Thanks,
> Prateek Bansal
>
_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source