3790|9

86

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

关于驱动调试 [复制链接]

两个问题:
1,很初级的问题:调试驱动一定要修改bib和reg文件吗?能否直接用activeSync把驱动的dll拷贝到目标设备的windows目录下,然后在应用程序中用loadsource 调用来测试?我这样试着做时,在运行到驱动里面操作GPIO的地方就出现了Access Volatile的错误,撒原因呢,跟内核态和用户态有关吗?
2,有人说可以不用改注册表等配置文件,只需在调用驱动之前,把驱动的dll拷贝到目标设备,RegisterDevice一下,调完后就deRegisterDevice,这样可以吗?
thanks.

最新回复

谢谢各位,还是打算把驱动封装成标准的流驱动,再用createfile来调用的。 用loadlibrary + GetProcAddress的方式来调用驱动有隐患,因为绕过了设备管理器的管理。 晚些时候结贴, 看还有没有新观点。  详情 回复 发表于 2009-4-30 14:02
点赞 关注

回复
举报

73

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
可以用驱动调试助手,很方便的
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
流驱动就用 WinCE驱动调试助手吧。
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

4
 
引用楼主 rushonin 的帖子:
两个问题:
1,很初级的问题:调试驱动一定要修改bib和reg文件吗?能否直接用activeSync把驱动的dll拷贝到目标设备的windows目录下,然后在应用程序中用loadsource 调用来测试?我这样试着做时,在运行到驱动里面操作GPIO的地方就出现了Access Volatile的错误,撒原因呢,跟内核态和用户态有关吗?
2,有人说可以不用改注册表等配置文件,只需在调用驱动之前,把驱动的dll拷贝到目标设备,RegisterDevice一下,调完后就deRegi…

loadsource写错了,应该是loadlibrary。

 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

5
 
用CETK调试吧
 
 
 

回复

84

帖子

0

TA的资源

一粒金砂(初级)

6
 
谢谢上面各位的建议。

这可能不是一个简单的驱动调试方法的问题了!

现在实际的问题是,用loadlibrary加载了一个dll后,用 GetProcAddress得到这个dll的导出函数,然后调用这些导出函数发现有问题:

确认已经成功的进入了一个导出函数,在执行到对GPIO口的寄存器操作时,出现Access Volatile的非法访问的错误,这是什么原因,是否是访问权限的问题?
 
 
 

回复

87

帖子

0

TA的资源

一粒金砂(初级)

7
 
引用 4 楼 ceFighter 的回复:
用CETK调试吧


我用KITL,应用程序动态加载。CETK是下一步要学习的东西。

楼主没有什么访问权限吧。充其量就是堆内存等没有使用正确。慢慢找原因。
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

8
 
可能是这样的:
我这个驱动不是标准的流式驱动,并没有由设备管理器加载.
而是在应用程序中用loadlibrary加载驱动的dll ,然后用GetProcAddress 得到dll的入口函数,在应用程序中调用。
dll被加载进了应用程序的地址空间,而dll中有对GPIO的操作,属于内核空间, 这样访问就非法了。
是这样吗,i'm not sure!
 
 
 

回复

84

帖子

0

TA的资源

一粒金砂(初级)

9
 
对GPIO的操作用户应用程序是可以操作的,LZ应该检测自己的调用方式,还有DLL本身是否有问题
 
 
 

回复

61

帖子

0

TA的资源

一粒金砂(初级)

10
 
谢谢各位,还是打算把驱动封装成标准的流驱动,再用createfile来调用的。
用loadlibrary + GetProcAddress的方式来调用驱动有隐患,因为绕过了设备管理器的管理。
晚些时候结贴, 看还有没有新观点。
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表