《VxWorks設備驅動開發詳解》筆記——前五章內容

《VxWorks設備驅動開發詳解 》(曹桂平版)對VxWorks的設備驅動開發講解得很詳細,也包括了很多作者的個人開發經驗在其中,因此是VxWorks設備驅動開發的上佳參考資料。

一般在網絡上下載該文檔都需要積分,或者不夠高清,最近發現了一個比較好的電子版,因此將其鏈接記錄如下以備後用:

https://www.vxworks.net/app/771-vxworks-device-driver

 

1.通常在設備打開函數中進行中斷註冊,以提高對中斷的共享性;

2.驅動代碼的執行環境包括:

  • 任務上下文
  • 中斷上下文

3.設備類型包括:

  • 字符設備:執行字節流訪問,如終端、串口
  • 塊設備:基於文件系統,如磁盤、Flash
  • 網絡設備:用於網絡通信,不具備文件節點

 4.驅動工作方式:

  • 輪詢模式
  • 中斷模式

5.驅動與硬件進行數據交互的方式:

  • DMA方式(在嵌入式下使用較少)
  • 直接拷貝方式

6.注意事項:對外設寄存器進行操作時,必須使用volatile修飾符;

7.三張表:

  • 系統設備表
  • 系統驅動表
  • 文件描述符表

8.虛擬設備:

  • 管道設備
  • 虛擬內存設備
  • RamDisk設備
  • 網絡設備

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.內核與塊設備之間的緩存機制:

  • Vx5.5:CBIO ,cached block I/O;
  • Vx6.4:XBD,extend block device;

16.原始文件系統,rawFs,將整個塊設備作爲單個文件進行操作,不存在文件和目錄層次性管理功能;

17.ROMFS,只讀文件系統,可將任何格式的文件存儲在ROMFS下,然後將其編入內核,作爲內核映像的一部分。ROMFS只存在於RAM中。於ramdisk類似,但是ramdisk只能在VxWorks啓動完成後創建,ROMFS是在編譯內核映像過程中創建的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章