mboma
驱动牛犊
驱动牛犊
  • 注册日期2003-02-21
  • 最后登录2010-03-11
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1470回复:3

【请教醒目】加分:关于DriverNetworks中访问网卡内存资源的问题

楼主#
更多 发布于:2004-01-04 10:56
我用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的地址?

请大家赐教! 给分!
mboma
驱动牛犊
驱动牛犊
  • 注册日期2003-02-21
  • 最后登录2010-03-11
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-01-07 15:14
搞定了 恍然大悟 呵呵……
lanni
驱动牛犊
驱动牛犊
  • 注册日期2004-03-30
  • 最后登录2004-05-08
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-06-28 13:49
怎么写的呀?说出来给我门这些菜鸟看看!!
mboma
驱动牛犊
驱动牛犊
  • 注册日期2003-02-21
  • 最后登录2010-03-11
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-06-28 14:12
关键在于

KNdisResource<CmResourceTypeMemory> Memory0(request, 0);

KNdisResource<CmResourceTypeMemory> Memory1(request, 1);

参考DS文档就知道了 这里的0和1就是基地址的序数 0代表bar0,1代表bar1

游客

返回顶部