这篇文章主要介绍VxBus Driver如何初始化,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
VxBus Driver的初始化一般分为三步,入口函数通常使用xxxRegister()的形式。如果VxWorks启动之后再去调用它 - 例如
在usrAppInit()里,它的加载过程会比较简单。
而WindRiver默认提供的Driver,都是在OS的启动过程中加载的。通常,xxxRegister()是在sysHwInit()中注册,具体的位置由CDF文件决定。其第一步初始化(*devInstanceInit)随后被调用,例如X86的PCI Device,就是在注册PCI Host Controller的Driver时调用。所以,所有PCI Device的Driver都会在这个Controller之前被注册

这个注册过程大致是
$(BSP)/sysALib.s/sysInit() -> $(prj)/prjConfig.c/usrInit() -> $(BSP)/sysLib.c/sysHwInit() -> $(prj)/prjConfig.c/hardWareInterFaceInit() -> $(prj)/prjConfig.c/hardWareInterFaceBusInit() -> $(driver)/xxxRegister()
而后两步初始化操作,都是在sysHwInit2()里调用的。区别是:第二步的(*devInstanceInit2)是直接被调用;而第三步的(*devInstanceConnect)是在一个
新任务中调用,这就导致它的
真正执行时机很可能就是OS把所有功能都加载完成之后了
以上是“VxBus Driver如何初始化”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注天达云行业资讯频道!