阅读:1602回复:6
20分请教驱动与设备的注册!
我在vxworks编程向导中看到需使用iosdrvinstall和iosdevadd将驱动和设备添加到io系统,请问这两个函数在那里调用!
是在usrconfig.c中吗? [编辑 - 8/11/03 by fwzfwz1] |
|
|
沙发#
发布于:2003-08-12 13:36
应该是在你的驱动程序里面调用吧!
|
|
|
板凳#
发布于:2003-08-15 08:39
两个地方都可以调用。各有各的好处。但我建议最好是在驱动里调用,因为你有时候会修改驱动程序,而BSP部分一般来说尽量不要修改的。
|
|
|
地板#
发布于:2003-08-15 14:02
两个地方都可以调用。各有各的好处。但我建议最好是在驱动里调用,因为你有时候会修改驱动程序,而BSP部分一般来说尽量不要修改的。 那末在驱动的什么地方调用那,请赐教! |
|
|
地下室#
发布于:2003-08-17 08:41
在驱动程序里。例如,我写了个FLASHDRV,那么我就这么调用:
int FlashDrvInstall() { int index; static struct XXXX_t { DEV_HDR zDevHead; int xx[0x200]; } xxxx; memset(&xxxx, 0, sizeof(xxxx)); index=iosDrvInstall(FlashCreate, FlashDelete, FlashOpen, FlashClose, FlashRead, FlashWrite, FlashIOCtl); iosDevAdd(&xxxx.zDevHead, \"/FlashDev\", index); return 0; } 其中,FlashDrvInstall()是在BOOTCONFIG。C中调用的。 |
|
|
5楼#
发布于:2003-08-18 23:27
在驱动程序里。例如,我写了个FLASHDRV,那么我就这么调用: 根据我的理解,seven兄的驱动的初始化及设备的创建部分的代码并不是在驱动中调用的,而是在BSP部分调用的。而且是针对基于ROM的vxworks的。和一般的在usrconfig.c中调用并没有什么区别。 《嵌入式实时操作系统vxworks及其开发环境Tornado》一书上提到一般不要修改config/all下的文件,而无论在usrconfig.c和rootconfig.c中调用驱动的初始化和设备的创建函数都修改了config/all下的文件。不知还有没有其他调用驱动初始化和设备创建的地方。 |
|
|
6楼#
发布于:2003-08-19 13:23
[quote]两个地方都可以调用。各有各的好处。但我建议最好是在驱动里调用,因为你有时候会修改驱动程序,而BSP部分一般来说尽量不要修改的。 那末在驱动的什么地方调用那,请赐教! [/quote] 其实还是在syslib.c程序里面调用。一般的做法是在你的驱动程序里面做一个子程序调用这两个函数,然后再在syslib.c里面调用你做的子程序,这样就行了。其实你只要看看例子就知道了。 |
|
|