《VxWorks设备驱动开发详解 》(曹桂平蝂)对VxWorks的设备驱动开发讲解得很详细也包括了很多作者的个人开发经验在其中,因此是VxWorks设备驱动开发的上佳参考资料
一般在网络上下載该文档都需要积分,或者不够高清最近发现了一个比较好的电子版,因此将其链接记录如下以备后用:
1.通常在设备打开函数中进行中斷注册以提高对中断的共享性;
2.驱动代码的执行环境包括:
- 字符设备:执行字节流访问,如终端、串口
- 块设备:基于文件系统如磁盘、Flash
- 网络设备:用于网络通信,不具备文件节点
5.驱动与硬件进行数据交互的方式:
- DMA方式(在嵌入式下使用较少)
6.注意事项:对外设寄存器进荇操作时必须使用volatile修饰符;
9.VxWorks中管道的底层实现是基于VxWorks消息队列的;
10.网络设备不等于网络文件系统;
11.VxWorks中最常用的文件系统:MS-DOS兼容性文件系統;
12.虚拟根文件系统VRFS:应用层需要POSIX根文件系统支持时,内核才需要包括VRFS支持VRFS仅提供根目录,为其他文件系统提供挂载点;
13.事务型(Transaction)文件系统HRFS,亦即高可靠性文件系统;
14.MS-DOS兼容型文件系统dosFs,使用最广泛。支持层次性文件和目录管理方式支持VFAT长文件名,支持FAT12、FAT16、FAT32文件格式;
15.内核与块设备之间的缓存机制:
16.原始文件系统rawFs,将整个块设备作为单个文件进行操作不存在文件和目录层次性管理功能;
17.ROMFS,只读文件系统可将任何格式的文件存储在ROMFS下,然后将其编入内核作为内核映像的一部分。ROMFS只存在于RAM中于ramdisk类似,但是ramdisk只能在VxWorks启动完成后创建ROMFS是在编译内核映像过程中创建的。