阅读:1470回复:3
【请教醒目】加分:关于DriverNetworks中访问网卡内存资源的问题
我用DriverNetworks生成一个网卡驱动框架。硬件是基于Ti6416DSP的数字基带板,完成网卡的功能。
框架驱动能够安装,正常分配资源。 映射到系统的内存资源为:BAR0 E6800000-E6BFFFFF (4M) BAR1 E6000000-E67FFFFF (8M) 分配内存资源的代码为: KNdisPnpResourceRequest request(Config); KNdisResource<CmResourceTypeMemory> Memory(request); 然后写内存地址 m_Memory.outd(0x00000004, 0x00000001); 实测结果是向BAR0基址的0x00000004写入了数据。 现在的问题是,我该如何访问BAR1的空间? KNdisResource<CmResourceTypeMemory> Memory(request); 这段代码看起来只分配了BAR0的地址,那我应该如何分配和使用BAR1的地址? 请大家赐教! 给分! |
|
沙发#
发布于:2004-01-07 15:14
搞定了 恍然大悟 呵呵……
|
|
板凳#
发布于:2004-06-28 13:49
怎么写的呀?说出来给我门这些菜鸟看看!!
|
|
地板#
发布于:2004-06-28 14:12
关键在于
KNdisResource<CmResourceTypeMemory> Memory0(request, 0); KNdisResource<CmResourceTypeMemory> Memory1(request, 1); 参考DS文档就知道了 这里的0和1就是基地址的序数 0代表bar0,1代表bar1 |
|