📘 QNX 驱动入门
嵌入式工程师 · 30章 系统化路径
🎯 实时微内核
⚡ 驱动实战
🧩 30 章节
01
QNX概述与实时操作系统基础
微内核
什么是QNX · 历史与特点 · 实时概念 · 微内核架构
02
QNX开发环境搭建
IDE
Momentics安装 · SDK配置 · 目标机连接 · SSH/网络
03
QNX进程与线程管理
调度
进程创建/销毁 · 线程调度 · 优先级 · Mutex/Condvar
04
QNX内存管理
mmap
虚拟/物理内存 · 共享内存 · 保护机制 · 泄漏排查
05
QNX中断处理
ISR/IST
中断向量表 · ISR · 中断线程 · 延迟优化
06
QNX时钟与定时器
HPET
系统时钟 · 高精度定时器 · 周期性任务 · 超时
07
QNX IPC机制 (上)
消息
MsgSend/MsgReceive · 通道与连接 · 同步/异步
08
QNX IPC机制 (下)
脉冲/事件
脉冲 · 事件 · 信号 · 共享内存 vs 消息队列
09
QNX资源管理器框架
设备文件
资源管理器概念 · 路径注册 · open/read/write
10
字符设备驱动开发 (上)
ioctl
驱动框架 · 设备注册 · ioctl · 用户/内核交互
11
字符设备驱动开发 (下)
DMA
DMA传输 · 环形缓冲区 · 中断数据流 · 调优
12
块设备驱动开发
存储
存储驱动 · 块设备接口 · 缓存策略 · 读写请求
13
网络驱动开发
零拷贝
协议栈 · 网卡框架 · 数据包收发 · 零拷贝技术
14
I2C/SPI驱动开发
总线
总线协议 · SPI框架 · I2C从设备 · 时序调试
15
GPIO与外部中断驱动
低功耗
GPIO控制 · 外部中断 · 去抖 · 低功耗唤醒
16
PCIe设备驱动
MSI
配置空间 · BAR映射 · MSI中断 · DMA引擎
17
USB驱动开发
枚举
USB协议栈 · HCD/UDC · 设备枚举 · 批量/中断传输
18
音频驱动开发
ALSA
音频框架 · ALSA兼容 · PCM流 · 音量/混音
19
视频与显示驱动
帧缓冲
显示控制器 · 帧缓冲 · 双缓冲 · GPU加速
20
电源管理驱动
功耗
电源状态 · 动态调频 · 唤醒源 · 功耗优化
21
安全与权限管理
能力模型
安全策略 · 能力模型 · 进程隔离 · 安全启动
22
QNX虚拟化技术
Hypervisor
Hypervisor · 虚拟机管理 · 设备直通 · 实时性
23
多核与SMP优化
亲和性
CPU亲和性 · 负载均衡 · 缓存一致性 · 核间通信
24
调试与性能分析
Profiler
System Profiler · Kernel Debugger · Trace32 · 瓶颈
25
日志与错误处理
sloginfo
sloginfo · 错误码 · 断言 · 崩溃转储分析
26
启动流程与BSP开发
IPL/SPL
IPL/SPL · 启动脚本 · BSP定制 · 设备树
27
文件系统与存储
QNX6
QNX6文件系统 · Flash · NFS · 日志与恢复
28
QNX与Linux对比
迁移
架构差异 · 驱动模式 · 生态 · 迁移策略
29
驱动测试与验证
HIL
单元测试 · 压力测试 · 覆盖率 · 硬件在环
30
实战项目:综合驱动
总结
从需求到交付 · 常见问题 · 课程总结