VxWorks网络配置详解:BSD与END驱动比较
20 浏览量
更新于2024-08-31
收藏 63KB PDF 举报
在通信与网络领域,VxWorks操作系统提供了多样化的网络配置选项,以适应不同的应用场景。其中,VxWorks支持两种主要的网络驱动形式:BSD驱动和END驱动。
BSD驱动是VxWorks的标准选择,它基于通用的BSD4.4网络协议栈,支持API和结构,这些特性使其能够兼容大部分的BSD网络设备。这种驱动的配置主要集中在`/target/src/config/usrNetwork.c`文件中,该文件负责处理网络设备驱动的初始化和调用。VxWorks系统启动时,会首先执行`target\config\all\usrConfig.c`文件中的`usrRoot`部分,接着调用`usrNetInit`函数,这个函数会通过数组表`netIf[]`来初始化相应的BSD网卡驱动。在`usrNetInit()`函数内部,会调用`usrNetIfAttach()`函数,检查网卡是否已连接并尝试进行初始化,如果成功,将设置`attached`标志为真。
另一种独特的网络驱动是END驱动,这是VxWorks专有的,它依赖于VxWorks MUX接口进行编程。尽管END驱动底层也需要转换成BSD形式以与操作系统交互,但它的设计更符合VxWorks系统的特定需求。对于END驱动的配置,开发者需要参考VxWorks提供的网络驱动文档。
在具体操作上,如果你正在使用BSD4.4驱动,务必关注`usrNetIfAttach()`函数,它会遍历`usrNetIfTbl`数组,通过比较网卡名称(存储在`buf`中)与数组中的`ifName`字段,找到对应的网卡设备并执行相应的驱动初始化步骤。
总结来说,VxWorks网络配置的关键在于理解和掌握这两个驱动类型的使用,包括它们的调用流程、配置文件位置以及可能遇到的问题和解决方案。熟悉`usrNetwork.c`文件的结构和其中的函数调用顺序,对于在VxWorks环境中有效管理网络配置至关重要。
2008-12-08 上传
2008-11-20 上传
2009-05-05 上传
2011-06-11 上传
2010-10-11 上传
2011-08-30 上传
2010-08-16 上传
2012-09-16 上传
2008-12-09 上传
weixin_38625184
- 粉丝: 4
- 资源: 947
最新资源
- NIST REFPROP问题反馈与解决方案存储库
- 掌握LeetCode习题的系统开源答案
- ctop:实现汉字按首字母拼音分类排序的PHP工具
- 微信小程序课程学习——投资融资类产品说明
- Matlab犯罪模拟器开发:探索《当蛮力失败》犯罪惩罚模型
- Java网上招聘系统实战项目源码及部署教程
- OneSky APIPHP5库:PHP5.1及以上版本的API集成
- 实时监控MySQL导入进度的bash脚本技巧
- 使用MATLAB开发交流电压脉冲生成控制系统
- ESP32安全OTA更新:原生API与WebSocket加密传输
- Sonic-Sharp: 基于《刺猬索尼克》的开源C#游戏引擎
- Java文章发布系统源码及部署教程
- CQUPT Python课程代码资源完整分享
- 易语言实现获取目录尺寸的Scripting.FileSystemObject对象方法
- Excel宾果卡生成器:自定义和打印多张卡片
- 使用HALCON实现图像二维码自动读取与解码