千家信息网

VxBus Driver如何初始化

发表于:2025-02-05 作者:千家信息网编辑
千家信息网最后更新 2025年02月05日,这篇文章主要介绍VxBus Driver如何初始化,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!VxBus Driver的初始化一般分为三步,入口函数通常使用xxxRegist
千家信息网最后更新 2025年02月05日VxBus Driver如何初始化

这篇文章主要介绍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如何初始化"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

0