How to test serial cable?

From: Vitaliy Sardyko <vitaliy_sardyko.a.t.mail.ru>
Date: Tue Jun 22 2004 - 16:33:45 EDT

 Hallo,
 
 I'am from Asus porting team, and now I try to make a serial console via cable , but our cable isn't standart
 "self creature" :) , for testing I use changed HaRET with support sending bytes via maped FFUART registers,
 ( I did that when I make IRSIR support for Asus and this method is work), next I plug serial cable
 to PC port, run MINICOM, send some bytes from HaRET, but nothing happend.

 Why in H2200 list, you asked me? I send email heare because I'm use H2210 with serial cable to test my
 method bytes sendind, I ajust FFUART to work 115200 8n1 without flow control, cable for IPAQ from market.

 How you think this will be work on FFUART? ( on STUART with sir it's work ). Or maybe you have
 another idea about how test serial cable in 115200 8n1 two line mode?
 
 In HARET a code like this

#define FUART_BASE_ADDR 0x40100000
#define FUART_DLAB_SETUP 0x83
#define FUART_DLAB_UNSETUP 0x03
#define FUART_DIVISOR_LATCH 0x08
#define FUART_ENABLE 0x40
 
oid asusExploreFUART(void)
{
        char TestString[] = "HaRET for Asus FFUART initialization\r\n";
        int i=0;
        pxaFUART volatile *fuart = (pxaFUART *)memPhysMap( FUART_BASE_ADDR );

        SetThreadPriority (GetCurrentThread (), THREAD_PRIORITY_TIME_CRITICAL);

        if( !fuart )
        {
                Complain( C_ERROR("Cann't map FFUART memory") );
                return;
        }
        //disable FUART
        fuart->IER = 0;

        // adjust FUART
        fuart->LCR = FUART_DLAB_SETUP; // entering in baud rate programming mode

        fuart->rxtx = FUART_DIVISOR_LATCH; // 115200 baud
        fuart->IER = 0;

        fuart->LCR = FUART_DLAB_UNSETUP; // exit from baud rate programming mode

        fuart->IIRFCR = 0; // disable FIFO
        fuart->ISR = 0;

        fuart->IER = FUART_ENABLE; // enable FFUART
        
        while(TestString[i])
        {
                        fuart->rxtx = (char)TestString[i];
                                while( !(fuart->LSR & (1 << 5)) );
                        i++;
        }

        SetThreadPriority (GetCurrentThread (), THREAD_PRIORITY_NORMAL);
}

 Best regards,
 Vitaliy Sardyko.
 
Received on Tue Jun 22 16:30:04 2004

This archive was generated by hypermail 2.1.8 : Tue Jun 22 2004 - 16:30:25 EDT