阅读:1129回复:5
那位高手能说说系统是如何识别串口的吗?我想问! 系统是通过什末样的硬件信息来识别,并将一个I/O空间配制成串口的??? 急呀! 请点一点吧! 火烧眉毛了! :( |
|
最新喜欢:okincn
|
沙发#
发布于:2003-01-06 13:21
我想应该是通过bios里的信息判断的
|
|
|
板凳#
发布于:2003-01-06 15:11
系统的基本信息是由BIOS侦测并报告的,在系统内存中有一个区域叫做BIOS数据区,在绝对地址:400:0,即256个实地址中断向量的后面,具体它的结构可以在网上搜索一下。
另外,Driver也会验证一个I/O数据区是否为一个真正的COM口,是通过COM寄存器的硬件特性来检查的,你看16550原理就知道了。 |
|
|
地板#
发布于:2003-01-07 08:19
谢谢了! 不过我现在的问题是,我做一块PCI界面的4串口卡。对于系统总线来说,串口控制器是在PCI控制器5933后面的,所以所有的串口控制器的I/O都是映射到PCI设备的I/O上的。
我现在最不明白的是,如何把PCI的I/O在系统里设置成串口? :( 大家快帮忙呀! 我这个活很紧98/2000/NT/XP的四套驱动只给了2个月。 555555555555555 |
|
|
地下室#
发布于:2003-01-08 11:02
你有一个捷径:所有DDK中都带有串口DRIVER的源程序,你可以在此基础上修改成你的DRIVER。
不过它们都是标准串口,你要做的部分就是如何获得PCI总线上的端口地址。 还有一种办法就是写一个EnumDriver将你的四个串枚举出来由MS原有的串口DRIVER去驱动,这种DRIVER的写法你仔细看看DDK文档中的PNP部分可能只在98下有效。 现在就去动手。 |
|
|
5楼#
发布于:2003-01-08 15:00
那还用作PCI部分的驱动吗?
|
|
|