tonney
驱动牛犊
驱动牛犊
  • 注册日期2005-03-22
  • 最后登录2007-04-16
  • 粉丝0
  • 关注0
  • 积分90分
  • 威望9点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
阅读:1317回复:5

驱动模块的加载问题

楼主#
更多 发布于:2005-03-24 09:46
新编写的驱动模块(dll文件)下载到板上覆盖原来的驱动模块(dll文件),好像这个时候新的驱动模块没有起作用,因为旧的模块已经加载还没有卸载,我的问题是在不重新更新整个平台的Image的情况下,怎样卸载旧的驱动模块再怎样加载新的模块呢,据我所知,驱动模块的加载、管理、卸载都是由Device.exe来完成的。

mycookie
驱动小牛
驱动小牛
  • 注册日期2002-12-09
  • 最后登录2010-08-11
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望21点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-03-24 13:02
你通过远程传输把*.dll传到目标机器上试试看,我记得好像是remote file viewer
tonney
驱动牛犊
驱动牛犊
  • 注册日期2005-03-22
  • 最后登录2007-04-16
  • 粉丝0
  • 关注0
  • 积分90分
  • 威望9点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-03-24 16:59
谢谢mycookie的回复。

你可能还没看明白我的意思,我就是通过file viewer将dll下载到板上的,问题是要如何将原来加载到内存中的驱动卸载,然后加载新的dll
wwei_wang
驱动大牛
驱动大牛
  • 注册日期2002-06-07
  • 最后登录2006-06-23
  • 粉丝0
  • 关注0
  • 积分77分
  • 威望9点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-03-25 14:09
我觉得有两种方法:
(1)热启动你的目标机,这样新的驱动会生效;
(2)创建一个应用,在你的应用中调用DeactivateDevice函数卸载原来的驱动,然后调用ActivateDevice函数加载新的驱动。
试试吧,祝你好运!!
Come on, let us drive the world.
tonney
驱动牛犊
驱动牛犊
  • 注册日期2005-03-22
  • 最后登录2007-04-16
  • 粉丝0
  • 关注0
  • 积分90分
  • 威望9点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2005-03-25 15:00
谢谢wwei_wang的回答

1。这种方法我认为是可以的,但是我的开发板没有热启动,只有复位,即冷启动。复位后RAM中的新Dll丢失了,又是那个旧的Dll被加载。

2。我只有使用这种方法了。
wwei_wang
驱动大牛
驱动大牛
  • 注册日期2002-06-07
  • 最后登录2006-06-23
  • 粉丝0
  • 关注0
  • 积分77分
  • 威望9点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2005-03-25 15:52
上述方法我试过的,没有问题的:)))
Come on, let us drive the world.
游客

返回顶部