Re: Odd Serial Port Problem



red floyd wrote:
I'm using a RTD CM313HR 4-port board, strapped for COM3-6, with a pc486 BSP. This is a PC104 board, so all the ports are on the ISA bus.

I've got the ports strapped as follows:
COM3 3e8, IRQ5
COM4 2e8, IRQ9
COM5 280, IRQ7
COM6,288, IRQ10

There is nothing else on any of these IRQs.

I've modified configInum.h as follows:

#define INT_NUM_COM3 (INT_NUM_IOAPIC_IRQ5)
#define INT_NUM_COM4 (INT_NUM_IOAPIC_IRQ9)
#define INT_NUM_COM5 (INT_NUM_IOAPIC_IRQ7)
#define INT_NUM_COM6 (INT_NUM_IOAPIC_IRQA)
#define INT_NUM_COM3 (INT_NUM_IRQ0 + COM3_INT_LVL)
#define INT_NUM_COM4 (INT_NUM_IRQ0 + COM4_INT_LVL)
#define INT_NUM_COM5 (INT_NUM_IRQ0 + COM5_INT_LVL)
#define INT_NUM_COM6 (INT_NUM_IRQ0 + COM6_INT_LVL)

And pc.h as follows:

#define COM3_BASE_ADR 0x3e8
#define COM4_BASE_ADR 0x2e8
#define COM5_BASE_ADR 0x280
#define COM6_BASE_ADR 0x288
#define COM3_INT_LVL 0x05
#define COM4_INT_LVL 0x09
#define COM5_INT_LVL 0x07
#define COM6_INT_LVL 0x0A

and sysSerial.c by removing the ifdef in devParas[], and adding/tweaking the following members of devParas[]:

,{INT_NUM_COM3,COM3_BASE_ADR,UART_REG_ADDR_INTERVAL,COM3_INT_LVL}
,{INT_NUM_COM4,COM4_BASE_ADR,UART_REG_ADDR_INTERVAL,COM4_INT_LVL}
,{INT_NUM_COM5,COM5_BASE_ADR,UART_REG_ADDR_INTERVAL,COM5_INT_LVL}
,{INT_NUM_COM6,COM6_BASE_ADR,UART_REG_ADDR_INTERVAL,COM6_INT_LVL}

It appears that COM3 and COM6 work properly, but that COM4 and COM5 do not receive interrupts. I've checked the ports with the manufacturers diagnostics, and they appear to work properly.

Does anyone have experience with either this particular hardware, or upper COM ports on a pc{486,pentium,...}?

Apparently, the pc486 BSP automatically configures IRQ7 to a stray interrupt... *** AFTER calling sysSerialHwInit2 ***. This is ungood. I commented out the offending line in sysLib.c, and COM5 now works (on IRQ7), but I'm still having problems with IRQ9. It looks like pc486 assumes IRQ9 is the second ATA port instead of IRQ15. I've adjusted that in my configInum.h and pc.h as needed, but still have problem.

In my BIOS, I have IRQs 3,4,5,6,7,9 and 10 configured as Legacy ISA so the PCI won't grab them.

I can't seem to find any other clobber of IRQ9 after serial port init. Any ideas?

Thanks
.



Relevant Pages

  • Re: Plan to build a CE6 Boot loader for S3C2440 platform
    ... I'll begin to port the CE 5.0 boot loader to CE 6.0. ... Bruce.Eitman AT EuroTech DOT com ... plan to impelement a boot loader following the CE 6.0 BSP framework. ... Screen, COM ports, USB ports, Ethernet, Audio, Cam, IrDA, JTag interfaces ...
    (microsoft.public.windowsce.embedded)
  • Re: WM5 MS BT Stack
    ... is this BSP thing a WM5 only? ... > Peter is exactly right. ... the Windows Mobile UI allows you to ... > configure COM ports 0 to 9 by default. ...
    (microsoft.public.pocketpc.developer)
  • Odd Serial Port Problem
    ... BSP. ... so all the ports are on the ISA bus. ... I've checked the ports with the manufacturers diagnostics, and they appear to work properly. ...
    (comp.os.vxworks)
  • Wince500 Com Ports
    ... I have ported our wince420 BSP to Wince500 and now find that when I try to ... open com ports it does not allow me to do so I get a dialog box telling me ... free are com1 and com8 and both fail to open. ...
    (microsoft.public.windowsce.platbuilder)
  • Re: R: How to avoid serial port buffer overruns?
    ... FWIW here is the serial board we are using: ... The hardware guy says "The mn9845cv, have in default 2 serial ports and ... one ISA bus, where we have connected the tl16c554, quad serial port." ... fourport cards have their ports at 0x1a0..0x1bf ...
    (Linux-Kernel)