vxWorks END驱动添加与配置指南
需积分: 12 154 浏览量
更新于2024-10-07
收藏 155KB PDF 举报
"vxWorks以太网协议编程手册"
在VxWorks操作系统中,以太网协议的编程涉及到END(Enhanced Network Driver,增强型网络驱动)的使用,这是数据链路层的一个实现,它通过MUX(Multiplexer,多路复用器)函数与网络服务进行交互。END驱动是VxWorks网络架构的关键组成部分,允许系统连接到以太网并处理网络数据包。
### END驱动的添加与配置
1. **驱动集成到VxWorks**
将END驱动添加到VxWorks系统的过程类似于添加其他应用。首先,你需要编译驱动代码并将它包含在VxWorks映像构建中。VxWorks支持多个网络设备,因此在`target/config/bspname/configNet.h`文件中,需要对每个设备的配置进行定义。
2. **配置常量**
- `MOT_FCC_LOAD_FUNC`: 这个宏定义了驱动的加载函数入口点,例如`endLoad()`。在本例中,如果`endLoad()`的入口点是`sysMotFccEndLoad()`, 那么在`configNet.h`中应设置`#define MOT_FCC_LOAD_FUNC sysMotFccEndLoad`。
- `MOT_FCC_LOAD_STRING`: 这个宏定义了一个字符串,该字符串在初始化时传递给`muxDevLoad()`作为`initString`参数,并且也会传递给`endLoad()`函数。具体内容根据驱动的需求而定。
3. **更新`endDevTbl`**
`endDevTbl`是一个END设备表,其中包含了所有要加载的END驱动的详细信息。例如:
```c
END_TBL_ENTRY endDevTbl[] =
{
{0, LOAD_FUNC_0, LOAD_STRING_0, BSP_0, NULL, FALSE},
{1, LOAD_FUNC_1, LOAD_STRING_1, BSP_1, NULL, FALSE},
{0, END_TBL_END, NULL, 0, NULL, FALSE},
};
```
- 第一个参数是设备号。
- `LOAD_FUNC_X`对应`MOT_FCC_LOAD_FUNC`定义的加载函数。
- `LOAD_STRING_X`对应`MOT_FCC_LOAD_STRING`定义的加载字符串。
- `BSP_X`通常指的是板级支持包(Board Support Package)的标识符。
- 最后的`FALSE`表示驱动尚未被处理;加载成功后,该值将更改为`TRUE`。若要禁用自动加载,可以将其设为`TRUE`。
### END驱动的操作流程
END驱动的操作主要包括以下几个步骤:
- **初始化**:系统启动时,`endLoad()`函数会被调用,它负责初始化网络设备,包括分配资源、配置硬件等。
- **数据传输**:当网络数据包到达或需要发送时,END驱动会处理这些数据包,进行必要的协议转换,并通过MUX函数与上层的IP或其他网络服务通信。
- **中断处理**:硬件中断通常用于通知END驱动有新的数据到达或需要发送数据,驱动会处理这些中断事件。
- **状态维护**:驱动还需要维护设备的状态,如连接状态、错误状态等。
### 结论
在VxWorks中,正确配置和编写END驱动是实现以太网功能的关键。理解如何在`configNet.h`中定义设备配置,以及如何利用`endDevTbl`管理驱动加载,对于开发和调试网络功能至关重要。通过END驱动,开发者能够充分利用VxWorks的网络能力,实现高效可靠的以太网通信。
2021-09-27 上传
2011-08-09 上传
2019-07-24 上传
120 浏览量
2021-10-13 上传
2022-05-16 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
huangtaojkl
- 粉丝: 0
- 资源: 2
最新资源
- 前端协作项目:发布猜图游戏功能与待修复事项
- Spring框架REST服务开发实践指南
- ALU课设实现基础与高级运算功能
- 深入了解STK:C++音频信号处理综合工具套件
- 华中科技大学电信学院软件无线电实验资料汇总
- CGSN数据解析与集成验证工具集:Python和Shell脚本
- Java实现的远程视频会议系统开发教程
- Change-OEM: 用Java修改Windows OEM信息与Logo
- cmnd:文本到远程API的桥接平台开发
- 解决BIOS刷写错误28:PRR.exe的应用与效果
- 深度学习对抗攻击库:adversarial_robustness_toolbox 1.10.0
- Win7系统CP2102驱动下载与安装指南
- 深入理解Java中的函数式编程技巧
- GY-906 MLX90614ESF传感器模块温度采集应用资料
- Adversarial Robustness Toolbox 1.15.1 工具包安装教程
- GNU Radio的供应商中立SDR开发包:gr-sdr介绍