This is the mail archive of the ecos-discuss@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Serial interface problem


Hello,

I have a problem using the serial interface on our new 
S3C4510 based platform.

I use a copy of the serial driver for the internal UARTS
from the e7t platform. It works, but if I configure
RedBoot to only use the first UART by disabling
CYGPKG_REDBOOT_ANY_CONSOLE, the second UART don't work
anymore in my application.

If application sends some character s3c4510_serial_start_xmit()
gets called and in it the transmit interrupt will be unmasked,
but the ISR are never called.

// Enable the transmitter on the device
static void
s3c4510_serial_start_xmit(serial_channel *chan)
{
    s3c4510_serial_info *s3c4510_chan = 
            (s3c4510_serial_info *)chan->dev_priv;
    s3c4510_chan->tx_enabled = true;
    cyg_drv_interrupt_unmask(s3c4510_chan->tx_int_num);
}

If I look in the registers of the UARTs, both UARTs are
configured equal with rx and tx irq enabled.

If I look at the interrupt mask register it stay unmasked
for the tx interrupt of second port.

It seems like RedBoot gets the interrupt but don't give
it to the application.

Does anybody know what could be wrong?

Roland

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]