VxWorks 驱动开发
实战指南
📘 30章 · 从入门到项目实战
🧩⚙️🚀
01
VxWorks 概述
发展史 · 航空航天/工业/汽车
VxWorks 7 vs 653 选型
02
开发环境搭建
Workbench IDE · Wind River Linux
Target Simulator · BSP 加载
03
内核基础
任务状态机 · Ready/Suspend/Delay
优先级 & 调度 (FIFO/RR/SP)
04
任务间通信 (上)
信号量 Binary/Counting/Mutex
优先级反转 & 继承协议
05
任务间通信 (下)
消息队列 · 管道 · 事件
创建/收发/机制对比
06
内存管理
内存布局 · 堆/分区分配
memPartAlloc · 泄漏检测
07
中断处理
中断向量表 · ISR 规范
ISR与任务同步 · 延迟优化
08
时钟与定时器
系统时钟 · 看门狗定时器
高精度定时器 auxClk
09
I/O 系统概述
I/O 子系统架构 · 文件描述符
open/read/write/ioctl 映射
10
字符设备驱动框架
驱动入口 · DRV_FUNCS
设备注册与卸载
11
块设备驱动框架
块设备模型 · ramDisk/ataDrv
文件系统挂载 dosFs/rawFs
12
PCI 设备驱动
配置空间 · BAR 映射
中断号获取 · DMA 设置
13
DMA 驱动开发
描述符链 · Scatter-Gather
Cache 一致性处理
14
网络设备驱动 (NDIS)
END 模型 · MUX 接口
数据包收发 · 链路检测
15
USB 设备驱动
EHCI/OHCI · 设备枚举
批量/中断传输
16
串口驱动开发
UART 初始化 · 波特率设置
中断收发 · 环形缓冲区
17
GPIO & SPI 驱动
GPIO 控制器框架 · SPI 时序
片选管理 · 时钟极性
18
I2C 驱动开发
I2C 时序 · 主从模式
多主机仲裁 · 核心层接口
19
CAN 总线驱动
CAN 初始化 · 标准/扩展帧
滤波器 · 错误处理
20
ADC/DAC 驱动
模拟量采集 · 采样率控制
DMA 传输 · 校准算法
21
传感器驱动综合案例
温度传感器 LM75 · I2C 封装
数据上报任务设计
22
驱动调试技术
System Viewer · logMsg
动态加载/卸载 · GDB
23
性能优化
中断负载均衡 · 栈优化
Cache 刷新 · 零拷贝
24
电源管理驱动
电源管理框架 · 休眠/唤醒
动态频率调整 DVFS
25
安全与可靠性
看门狗复位 · 双冗余驱动
故障注入 · ECC 处理
26
VxWorks 653 分区驱动
ARINC 653 分区 · 分区内驱动
分区间通信 (Sampling/Queuing)
27
多核驱动开发
SMP 注意事项 · CPU 亲和性
核间中断 IPI 处理
28
虚拟化支持
Guest OS 驱动适配 · virtio
Hypervisor 接口
29
驱动测试与验证
CuTest 单元测试 · HIL
覆盖率 · 长时间稳定性
30
综合项目实战
多功能数据采集卡 (GPIO/ADC/SPI Flash/网络)
集成到 VxWorks 7 系统