fwzfwz1
驱动中牛
驱动中牛
  • 注册日期2002-11-01
  • 最后登录2007-06-01
  • 粉丝0
  • 关注0
  • 积分80分
  • 威望8点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
阅读:1936回复:7

vxworks下驱动的初始化例程

楼主#
更多 发布于:2003-08-06 12:44
在vxworks下编写驱动程序时,会有一个初始化例程,这个例程是不是应该有一个明确的名字,否则怎么知道执行那个例程。例如,linux下是init_module()。
本人感觉vxworks下的驱动的思路与linux下驱动的思路很像。
有了驱动,人才有了力量。
沙漠之鹰
驱动大牛
驱动大牛
  • 注册日期2001-12-30
  • 最后登录2007-08-02
  • 粉丝0
  • 关注0
  • 积分16分
  • 威望2点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-08-06 15:44
应该没有这样的例程,因为在vxworks中,所有的函数都是可以在shell下执行的。驱动程序是被编译成.o文件,然后被包含到vxworks中的。而驱动的执行是由vxworks的初始化程序调用的。实际上什么程序都可以被vxworks的初始化程序调用,你只要修改一下syslib.c文件,把你的函数调用加在里面适当的地方就行了。
------------------------------ [color=red]茶壶深爱着茶叶,表达爱意时却遭到拒绝,茶壶大吼:为什么?这一切都是为什么? 茶叶胆怯地说:俺妈说了,成天灌水的都不是好人。 ---别到处看,说你哪!!    [/color]
fwzfwz1
驱动中牛
驱动中牛
  • 注册日期2002-11-01
  • 最后登录2007-06-01
  • 粉丝0
  • 关注0
  • 积分80分
  • 威望8点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-08-06 16:53
应该没有这样的例程,因为在vxworks中,所有的函数都是可以在shell下执行的。驱动程序是被编译成.o文件,然后被包含到vxworks中的。而驱动的执行是由vxworks的初始化程序调用的。实际上什么程序都可以被vxworks的初始化程序调用,你只要修改一下syslib.c文件,把你的函数调用加在里面适当的地方就行了。

谢谢你,沙漠之鹰;沙漠里的鹰应该是高傲而孤独的;虽然还是不太清楚,但是有了一些理解。我是不是可以这样理解,我可以将我要初始化的内容放到一个函数(或叫例程)里,这个函数位于syslib.c中,在这个例程里进行初始化,例如,调用iosDrvInstall(),来建立用户调用函数的驱动接口。
谢谢,以后还请多支持!
有了驱动,人才有了力量。
fwzfwz1
驱动中牛
驱动中牛
  • 注册日期2002-11-01
  • 最后登录2007-06-01
  • 粉丝0
  • 关注0
  • 积分80分
  • 威望8点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-08-06 17:13
还有一个问题:如何将修改好的syslib.c加入到内核。是不是将其做成模块,即syslib.o文件,将上一次加入的syslib.o卸载,将修改后的syslib.o载入。
我又按linux的思路来考虑了。不好意思,vxworks总共才看了一个星期,很多概念还没有建立。
有了驱动,人才有了力量。
fwzfwz1
驱动中牛
驱动中牛
  • 注册日期2002-11-01
  • 最后登录2007-06-01
  • 粉丝0
  • 关注0
  • 积分80分
  • 威望8点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-08-06 21:45
再问一下,是不是一个驱动就有一个syslib.c文件!
有了驱动,人才有了力量。
seven
驱动小牛
驱动小牛
  • 注册日期2001-04-03
  • 最后登录2007-03-28
  • 粉丝0
  • 关注0
  • 积分80分
  • 威望8点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-08-09 08:41
按照我的理解,应该不是。
我编写驱动函数地时候,从来没有考虑过这些东西。首先将物理驱动编写好,所谓的物理驱动就是和硬件直接打交道的那种。然后根据物理类型,将它和相应的函数(例程)绑定,例如:该设备是块设备,就调用块设备的例程,在例程中用回调函数调用你的驱动就万事OK了。
我爱中医:http://www.ngotcm.com/forum/index.php
fwzfwz1
驱动中牛
驱动中牛
  • 注册日期2002-11-01
  • 最后登录2007-06-01
  • 粉丝0
  • 关注0
  • 积分80分
  • 威望8点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-08-11 17:28
按照我的理解,应该不是。
我编写驱动函数地时候,从来没有考虑过这些东西。首先将物理驱动编写好,所谓的物理驱动就是和硬件直接打交道的那种。然后根据物理类型,将它和相应的函数(例程)绑定,例如:该设备是块设备,就调用块设备的例程,在例程中用回调函数调用你的驱动就万事OK了。

我在编程向导上看到需使用iosdrvinstall和iosdevadd将驱动和设备添加到I/O系统,请问seven这两个函数在那里调用?
有了驱动,人才有了力量。
seven
驱动小牛
驱动小牛
  • 注册日期2001-04-03
  • 最后登录2007-03-28
  • 粉丝0
  • 关注0
  • 积分80分
  • 威望8点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-08-15 08:42
在BSP或驱动程序里注册。具体可参看“20分请教驱动与设备的注册”这个论题。也可以请教“沙漠之鹰”。
我爱中医:http://www.ngotcm.com/forum/index.php
游客

返回顶部