阅读:1089回复:3
谁来帮帮我!谢谢各位大侠!我原用的ISA卡地址译码部分是自已做的,通过A0~A19脚是否有效来确定地址,(假如我要的地址是3,则电路连A0,A1,A2~A19不接),软件控制很简单,因为ISA中有D0~D7数据线,与地址线是分开的,假如我的有效地址是1B0H,要输出一个25的数值到此地址,则out 1B0H,25得到1B0H地址的值则var=INP(1B0H).(我用的是BASIC语言) 而PCI控制,在上图的PCI总线读/写操作的时序中,假如我的地址已配置好是1B0H, 要输出一个25的数值到此地址,好像是先要输出一个写指令到C/BE[3:0],再输出地址到AD[31:0]中,再传送数据,因为在语言中只有输入,输出指令,而写数据(25)到地址1B0H中不知怎样选指令:out XX,1B0H out XX,25请给一个下面的实例: 输出25到地址1B0H输出35到地址1B1H,从地址1B2H输入数据,从地址1B3H输入数值. 谢谢! |
|
沙发#
发布于:2002-07-25 11:06
你的地址1B0H要进行转换,或者可以根据需要申请地址范围,在进行映射,然后就可以随便的进行读写操作了。
|
|
板凳#
发布于:2002-07-25 12:28
做地址映射!将实际的物理地址映射到操作系统的虚拟地址,然后直接操作虚拟地址就可以了!
|
|
|
地板#
发布于:2002-07-25 12:37
PCI的时序具体操作是硬件逻辑做好的,不需要你去干预.如果你的设备在PNP映射后IO地址是0x1b0,也只需要一条指令out 1B0H,25就可以了.
|
|
|