请问xtang: qnx的外设地址映射的问题?ioport 和 irq 怎么确定?

给网卡驱动dm9000需要指定 ioport 和irq.
硬件连接:EBI0-NCS2 ----CS
FIQ----INT。
cpu是AT91SAM9263,EBI0-NCS2的内存地地址是0X30000000。
在源代码里有一个mmap_device_io(256,cfg->io_window_base),这是什么意思呢?这里后面cfg->io_window_base是不是就是运行驱动指定的ioport?
还有就是中断我应该怎么确定?

对于系统管理外设地的原理不了解,能不能给我推荐一点资料参考
谢谢

那个cfg里存了命令行参数,就是起动时用:

io-pkt-v4-hc -d dm9000 io=0x12345678,irq=10

QNX不支持FIQ.
一般来说外接网络控制器要用GPIO作中断,若是这样的话你需要写一个cascade interrupt callout挂在AIC的GPIO中断上,这样每个GPIO pin就有了独自的中断号,你的网络驱动要用相应的中断号.以GPIOA8为例,若GPIOA中断从100开始,108就是你需要的中毒号.

对不起,可能我的问题没有写明白,我想问ioport 和irq 的值应该怎么确定?它和硬件地址有何关系?

不明白?cascade interrupt callout挂在AIC的GPIO中断上是什么意思?另外GPIO是不是在starup里就有了?关于QNX下的很IO不明白,能不能详细地说明一下,谢谢。