《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 實時操作系統VxWorks下電子盤驅動程序的開發
實時操作系統VxWorks下電子盤驅動程序的開發
摘要: 已有許多實時操作系統如:VxWorks、pSOS、QNX、Hard-Linux、WinCE等等,其中美國Wind River System 公司的VxWorks是公認的性能最出色的一種實時操作系統。這是一個運行在目標機上的高性能、可裁減的嵌入式實時操作系統。它的軟件開發平臺是Tornado。
Abstract:
Key words :

  在某些特定的工業應用領域,普通的操作系統并不適用,需要采用實時操作系統。

  目前,已有許多實時操作系統如:VxWorks、pSOS、QNX、Hard-Linux、WinCE等等,其中美國Wind River System 公司的VxWorks是公認的性能最出色的一種實時操作系統。這是一個運行在目標機上的高性能、可裁減的嵌入式實時操作系統。它的軟件開發平臺是Tornado。

  本文以VxWorks操作系統為平臺,以M-System公司的DOC2000(144M)為例,說明在VxWorks下如何驅動并使用電子盤設備。

  1 系統結構

  DOC 系列的電子盤采用的都是TrueFFS(True Flash File System)。TrueFFS for Tornado II是Tornado II開發環境中的一個集成的快速閃存文件系統,它是使用一系列的嵌入式閃存設備來實現快速可靠的物理存儲的。通過VxWorks的TrueFFS仿真DOS文件系統下的硬盤驅動器,開發者可以使用標準的文件系統接口來產生和操作一個文件系統。這樣,在閃存設備上進行讀寫操作就與在DOS文件系統設備上是一樣的了。因此,對于電子盤驅動的介紹就需要分為上層操作系統的文件系統和底層的驅動器物理結構實現兩部分。

  1.1 VxWorks中的文件系統

  VxWorks是一種功能強大而且比較復雜的嵌入式操作系統,包括了進程管理、存儲管理、設備管理、文件系統管理、網絡協議及系統應用等幾個部分。VxWorks只占用了很小的存儲空間,并可高度裁減,保證了系統能以較高的效率運行。

  VxWorks提供的快速文件系統適合于實時系統應用。它包括幾種支持使用塊設備(如磁盤)的本地文件系統。這些設備都使用一個標準的接口從而使得文件系統能夠被靈活地在設備驅動程序上移植。VxWorks也支持SCSI磁帶設備的本地文件系統。VxWorks支持四種文件系統:dosFs、rt11Fs、rawFs、tapeFs。

  VxWorks的I/O系統將普通數據文件、外部設備都統一作為文件處理。它們在用戶面前有相同的語法定義,使用相同的保護機制。這樣既簡化了系統設計又便于用戶使用。VxWorks I/O 體系結構甚至還支持在一個單獨的VxWorks系統上同時并存幾個不同的文件系統。VxWorks提供了一個快速靈活的與ANSI C 兼容的I/O 系統,包括:UNIX 標準的緩沖I/O、POSIX 標準的異步I/O。VxWorks包括以下驅動程序:網絡驅動、管道驅動、RAM 盤驅動、SCSI驅動、鍵盤驅動、顯示驅動、磁盤驅動、并口驅動。

  VxWorks的所有機制和功能都是基于“C子程序”這種簡單結構的,即:VxWorks的所有功能都是由C程序庫提供的。任何C程序都能夠從Tornado的命令和調試環境中交互式地調用;任何C程序都能夠作為VxWorks的一個任務從Tornado主機工具或者應用程序中產生,而且C程序能夠與中斷、看門狗定時器或輔助定時器相連。VxWorks的這種統一性使Tornado成為一種有效的開發系統。因為用戶不必再編寫特殊的代碼來與系統陷阱接口,也不需要進行特殊的處理來建立一個任務,更不需要編寫特殊的用戶接口程序或交互式的測試程序來測試新代碼,用戶只要編寫子程序就能夠完成所有這些工作。

  VxWorks的特性為編寫應用程序和設備驅動程序提供了極大的便利。在VxWorks下,設備驅動程序既可以嵌入內核隨系統一起啟動,也可以作為可加載模塊在系統啟動之后運行,無論采用哪一種方式編寫驅動程序,需要注意的一點就是:其使用不能依賴于還沒有啟動的功能模塊(例如c庫函數)或者未激活的設備。

  1.2 電子盤

  電子盤的內部存儲介質Flash是近年來發展最快的一種存儲芯片,它具有EEPROM可擦寫的特點,又同時具有EPROM 廉價的特點,它是一種高性能、低功耗、電可擦除的存儲器件。電子盤由于上述特點,現已經廣泛應用于信息存儲、機頂盒、瘦客戶機、瘦主機、網絡計算機、以及嵌入式計算機等很多系統。

  TrueFFS是M-System 公司開發出來的可用于電子盤設備的專利技術。TrueFFS的基本功能就是磁盤仿真。它提供像DOC一樣的塊設備的接口,從而方便了操作系統對電子盤設備的邏輯區的讀寫。通過TrueFFS可以對電子盤進行讀寫、分區、格式化等一系列操作。通過對操作系統的l/O控制的調用,就可以訪問TrueFFS的外部接口。電子盤設備的I/O控制并不局限于某一特定操作系統,所以可以兼容多種操作系統。通常,在操作系統下驅動電子盤有以下兩步:

  ①調用操作系統的GetDriverHandle()函數得到驅動器的句柄。它的返回值是一個能夠供I/O控制函數調用的TrueFFS驅動的描述符。這一步依賴于操作系統的文件系統。

 

 ?、谡{用操作系統中文件系統的IOControl()函數。它將使TrueFFS具有其它文件系統的特性:

  1)文件系統狀態。它的值可以指示操作指令是否成功的傳遞給了驅動器或者驅動器對于操作指令有無響應,但它并不能確認操作的結果或狀態。一個操作的結果或狀態是由輸入輸出控制包(IO Package)來傳遞的。它們使用的是TrueFFS的標準狀態碼,這些狀態碼可以在IO控制的頭文件以及一些驅動包文件中查到。

  2)文件系統IO控制。它可以調用文件系統的擴展功能。

  3)輸入輸出請求包。所有的TrueFFS擴展功能都使用下列輸入輸出請求包,它的定義格式如下:

  irHandle(句柄)主要用于確認一個操作究竟應該作用于哪一個分區。如果只有一個驅動器,那么就不會出現沖突,則句柄的值可以設置為0。驅動器的句柄包含了物理驅動數(LSB 0-3)和分區數(LBB 4-7)。由于Binary Partition和Disk Partition的句柄都可以從0開始。所以,Binary Partition和Disk Partition總是通過不同的句柄來訪問,以免產生沖突。

  irFlags這個變量用來標識擴展功能的類型。每一個擴展功能都有一個枚舉類型的代碼標識。

  irData包含了一個指向fllOctlRecond記錄的指針。fllOctlRecond記錄包含了一些擴展功能的輸入輸出記錄的指針。

  DOC2000為M-System 公司DOC系列的第二代產品,它為32腳DIP封裝,具有體積小,封裝簡單的特點,通過將DOC2000插入DOC2000插槽,可以大量減少占用的物理空間。

  如圖1所示,DOC2000由系統接口單元(System Interface)、系統引導模塊(Boot Block)、錯誤檢測與更正單元(EDC/ECC),閃存控制單元(Flash Control)以及Flash存儲介質組成。其中系統接口單元為DOC2000提供一個類SRAM 接口,使之能通過CPU的本地總線、ISA總線、SRAM 總線、EEPROM 接口建立與操作系統的連接。DOC提供片選信號(CE#)、讀寫信號(WE#)、使能信號(OE#)以及13位寬的地址線(A[0:12])和8位寬的數據總線(D[0:7])。每個DOC占用系統8K的地址空間,通過地址窗的滑動來訪問整個DOC空間。系統引導模塊用來響應PC機結構中BIOS擴展設備的搜索。當BIOS檢測到DOC2000為擴展設備時,它可以執行保存在系統引導模塊中的TrueFFS的驅動程序,通過系統調用TrueFFS格式轉換軟件,系統可以把DOC2000映射為普通的硬盤從而方便地進行讀寫。DOC2000的錯誤檢測和更正模塊用來提供數據錯誤的檢測、更正以及數據保護。Flash控制模塊主要用來完成TrueFFS地址與Flash介質地址之間的轉換、數據傳輸控制等功能。

DOC2000結構方框圖

  2 電子盤設備驅動程序的基本結構流程

  在VxWorks下,設備驅動程序既可以嵌入內核隨系統一起啟動,也可以作為可加載模塊在系統啟動之后運行。

  2.1可選加載方式

  可選加載方式驅動電子盤是一種比較常用的方式。它是把驅動程序制作成一個可獨立運行的應用程序,當需要的時候可以選擇加載到用戶程序集中。利用可選加載方式驅動電子盤的第一步是要確定電子盤所占用的系統地址窗的范圍。一般主機板都給出了幾個可以選擇的范圍,通過跳線可以設置電子盤的地址窗的起始、結束地址。啟動VxWorks下TrueFFS驅動程序,根據實際的地址將地址窗參數配置好。第二步將TrueFFS映射成DOS文件系統。調用tffsMakeHandle()函數得到驅動器的描述符。將此描述符傳遞給驅動器句柄。然后定義一個塊設備的指針用于保存一個虛擬DOS文件系統分區的信息。調用tffsDevCreate()函數將剛才檢測到句柄的TrueFFS驅動器映射成DOS文件系統分區,并將該函數的返回值傳遞給定義好的塊設備指針。至此,就完成了TrueFFS到DOSFS的映射過程。完成DOSFS設備初始化后,在Tornado的Shell環境下運行devs命令就可以看到tffs設備已經在系統設備列表中了。第三步,讀寫電子盤上的文件。設置好要讀寫的文件的文件名、路徑。利用標準C++的文件系統函數就可以方便的讀寫文件了。

  2.2嵌入系統方式

  嵌入系統方式比可選加載方式要復雜。它將驅動程序嵌入系統內核中,這樣電子盤可以在系統啟動的時候被驅動。這種方式主要應用于系統引導文件放在電子盤上的情況。嵌入系統方式又分為X86機的嵌入方式和其它(如PowerPC,MIPs等)嵌入方式。這里以X86方式為例。

  第一步修改目標BSP目錄下的config.h文件,增加電子盤設備的定義,修改引導設備。第二步修改系統BSP目錄下的bootconfig.C文件,將電子盤的驅動程序加入。第三步修改系統BSP目錄下的usrconfig.h文件,調用電子盤的驅動程序。

 

  3 設備驅動程序示例

  下面給出DOC2000的可選加載方式的驅動程序的框架代碼,嵌入系統方式下的DOC2000的驅動程序涉及VxWorks系統內核,這里不作詳細敘述。

  3.1定義頭文件、常量、全局變量

程序

  3.2 驅動電子盤并將TrueFFS映射為DOSFS

程序

  3.3 電子盤文件的讀寫

程序

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          免播放器亚洲| 亚洲一区二区三区国产| 国产精品嫩草99av在线| 在线观看精品一区| 国模精品一区二区三区| 欧美成人免费va影院高清| 久久综合伊人77777尤物| 亚洲国产另类 国产精品国产免费| 欧美jjzz| 日韩亚洲欧美成人一区| 国产精品免费久久久久久| 国产午夜精品久久久久久久| 亚洲欧美日韩国产| 夜夜嗨av一区二区三区网页| 国产精品系列在线播放| 激情欧美日韩一区| 亚洲国产va精品久久久不卡综合| 激情成人中文字幕| 国产亚洲精品久久飘花| 欧美日韩国产综合一区二区| 一区二区三区日韩精品视频| 香蕉av福利精品导航| 99热在这里有精品免费| 国产精品萝li| 国产精品99久久久久久www| 久久国产精品亚洲va麻豆| 亚洲第一级黄色片| 欧美视频二区36p| 久久综合亚洲社区| 欧美三级电影大全| 一区二区三区在线观看国产| 国产一区导航| 亚洲美女在线国产| 欧美日韩在线播放三区四区| 亚洲免费观看视频| 国产香蕉97碰碰久久人人| 亚洲一区二区在线看| 国产精品美女久久久久aⅴ国产馆| 欧美日韩综合视频网址| 欧美精品观看| 亚洲精品人人| 国产主播一区二区三区| 亚洲第一中文字幕在线观看| 亚洲欧美日韩天堂一区二区| 性欧美1819性猛交| 国产精品国产自产拍高清av王其| 国产精品毛片va一区二区三区| 欧美精品亚洲一区二区在线播放| 激情久久久久久久久久久久久久久久| 亚洲一级片在线看| 性欧美8khd高清极品| 国内自拍亚洲| 久久精品国产99| 欧美婷婷六月丁香综合色| 欧美伦理在线观看| 欧美成人性生活| 亚洲在线视频网站| 尹人成人综合网| 欧美三级视频在线| 久久天天躁狠狠躁夜夜爽蜜月| 国产精品日韩精品| 亚洲国产精品99久久久久久久久| 久久久精彩视频| 欧美大片网址| 亚洲福利在线视频| 亚洲国产欧美国产综合一区| 一本色道久久综合亚洲精品高清| 欧美精品一区二区久久婷婷| 一区二区三区精品视频| 国产一区二区av| 欧美日韩黄色大片| 91久久亚洲| 国产精品亚洲аv天堂网| 亚洲大胆av| 久久久www成人免费毛片麻豆| 亚洲国产精品久久久久秋霞影院| 亚洲一区二区三区四区五区午夜| 亚洲网站在线观看| 久久免费精品视频| **欧美日韩vr在线| 国产精品久久久久久久浪潮网站| 亚洲一区激情| 亚洲一区二区三区激情| 欧美日韩国产综合在线| 国产视频久久久久| 欧美激情欧美激情在线五月| 亚洲一区二区av电影| 欧美日韩国产在线播放网站| 国产精品亚洲аv天堂网| 欧美日韩国产一级片| 伊人成人网在线看| 欧美日韩在线免费| 午夜精彩视频在线观看不卡| 国产精品美腿一区在线看| 国产精品一区免费视频| 原创国产精品91| 亚洲私人影院在线观看| 亚洲激情电影在线| 欧美日韩一区二区三区在线看| 亚洲欧美综合网| 国产人妖伪娘一区91| 免费看av成人| 国产欧美精品| 伊人久久综合| 久久久久一区二区三区| 欧美亚洲视频在线看网址| 娇妻被交换粗又大又硬视频欧美| 国产欧美日韩视频在线观看| 国产精品久久久久久一区二区三区| 亚洲精品综合| 欧美国产日本韩| 亚洲一级黄色片| 中文精品在线| 在线观看视频一区二区欧美日韩| 在线观看成人av电影| 麻豆久久久9性大片| 久久久久久久高潮| 国产在线欧美日韩| 欧美一区二区三区免费观看视频| 日韩亚洲精品在线| 亚洲欧洲在线观看| 国产精品欧美日韩一区二区| 久久久国产视频91| 亚洲综合国产精品| 一二三四社区欧美黄| 一区二区三区四区五区视频| 久久久福利视频| 久久国产精品久久w女人spa| 亚洲欧洲综合另类| 亚洲丰满少妇videoshd| 黄色资源网久久资源365| 欧美乱大交xxxxx| 欧美在线视频观看免费网站| 久久亚洲欧美国产精品乐播| 一区二区在线观看视频| 国产精品分类| 久久精品国产清高在天天线| 欧美精品日韩精品| 国产日本欧美视频| 亚洲欧美另类在线观看| 欧美一区二区在线播放| 欧美一区在线视频| 激情久久久久久| 欧美色大人视频| 国产精品久久久久国产a级| 欧美日韩免费高清一区色橹橹| 国产精品成人免费| 亚洲一二三级电影| 久久综合九色综合欧美就去吻| 国产综合久久| 欧美大片国产精品| 国产精品久久久久aaaa| 在线视频国产日韩| 国产欧美一区二区精品秋霞影院| 久久久久国产成人精品亚洲午夜| 国内成人精品2018免费看| 在线视频免费在线观看一区二区| 国产综合久久久久影院| 亚洲系列中文字幕| 欧美一区二区三区四区夜夜大片| 欧美一区二区三区日韩视频| 国产精品视频成人| 久久久噜噜噜久久中文字免| 久久福利影视| 亚洲精品久久久久久久久久久久| 国产精品成人一区| 国产欧亚日韩视频| 欧美日韩视频免费播放| 美女爽到呻吟久久久久| 欧美午夜精品久久久久久超碰| 在线精品亚洲| 欧美日韩一区二区三区在线视频| 欧美伊人久久大香线蕉综合69| 久久在线视频在线| 美女爽到呻吟久久久久| 国产精品久久午夜夜伦鲁鲁| 久久精品女人的天堂av| 国产亚洲精品激情久久| 伊人久久婷婷| 欧美剧在线观看| 欧美搞黄网站| 欧美三级视频在线| 亚洲欧洲av一区二区| 尤物九九久久国产精品的特点| 性亚洲最疯狂xxxx高清| 免费在线亚洲欧美| 激情懂色av一区av二区av| 午夜视频一区| 欧美国产欧美亚州国产日韩mv天天看完整| 狠狠噜噜久久| 久久人人97超碰国产公开结果| 久久亚洲精品伦理| 欧美有码在线视频| 久久国产视频网站| 老**午夜毛片一区二区三区| 欧美性大战久久久久久久| 欧美激情乱人伦| 国产精品初高中精品久久| 欧美精品尤物在线| 99国产精品视频免费观看| 亚洲无线观看| 亚洲手机在线| 国产精品一区=区| 日韩一级视频免费观看在线| 午夜精品999| 国产美女精品免费电影| 亚洲精品黄色| 亚洲精品在线观看免费| 久久全球大尺度高清视频| 免费日本视频一区| 国产综合精品| 国产欧美va欧美不卡在线| 亚洲二区在线| 国产精品一香蕉国产线看观看| 亚洲大片在线| 欧美精品日本| 好看的日韩视频| 国模大胆一区二区三区| 国产伦精品一区二区三区| 精品成人在线| 亚洲影院色无极综合| 亚洲黄色在线视频| 一区视频在线播放| 另类天堂视频在线观看| 亚洲一二三区视频在线观看| 在线观看日韩www视频免费| 国产精品视频在线观看| 香港成人在线视频| 国产麻豆一精品一av一免费| 99re6这里只有精品视频在线观看| 狠狠色香婷婷久久亚洲精品| 亚洲欧美视频一区二区三区| 欧美日韩一区在线观看视频| 亚洲视频精选在线| 欧美三日本三级少妇三99| 欧美日韩一本到| 亚洲国产精品热久久| 免费中文字幕日韩欧美| 亚洲人成7777| 欧美在线视频在线播放完整版免费观看| 永久免费毛片在线播放不卡| 久久久www成人免费无遮挡大片| 一区二区三区www| 国产女主播一区二区三区| 美女精品国产| 亚洲主播在线播放| 欧美激情一区二区在线| 一区视频在线| 欧美日韩三区| 亚洲国产精品激情在线观看| 欧美日韩激情小视频| 久久国产一区二区| 精品av久久久久电影| 久久久精品视频成人| 国内欧美视频一区二区| 国产嫩草一区二区三区在线观看| 亚洲美女诱惑| 亚洲国产婷婷香蕉久久久久久99| 久久精品日产第一区二区| 狠狠色香婷婷久久亚洲精品| 久久天天狠狠| 国产亚洲欧美日韩一区二区| 正在播放亚洲一区| 亚洲一本视频| 亚洲欧美日韩精品在线| 亚洲国产精品久久久久秋霞影院| 国产精品入口日韩视频大尺度| 国产亚洲精品高潮| 国语精品中文字幕| 国产精品亚洲成人| 国产欧美精品一区| 欧美精品一区在线观看| 亚洲小说春色综合另类电影| 另类欧美日韩国产在线| 欧美视频在线看| 在线亚洲精品福利网址导航| 欧美三级电影一区| 免费成人黄色片| 欧美日韩一区二区免费视频| 亚洲国产中文字幕在线观看| 亚洲福利视频一区二区| 国产欧亚日韩视频| 欧美夜福利tv在线| 亚洲国产成人91精品| 欧美成人精品一区二区三区| 国产精品一区二区三区久久久| 欧美国产日产韩国视频| 欧美午夜a级限制福利片| 狠狠色噜噜狠狠狠狠色吗综合| 黄色一区二区在线| 经典三级久久| 一区二区三区四区五区精品| 欧美日韩国产色视频| 亚洲在线1234| 亚洲免费影视第一页| 国户精品久久久久久久久久久不卡| 国产精品欧美精品| 国内精品模特av私拍在线观看| 国内一区二区在线视频观看| 国产欧美日韩激情| 国产视频久久久久| 欧美色图麻豆| 久久一区二区三区四区| 欧美一区二区三区四区夜夜大片| 国内精品久久久久久久影视蜜臀| 亚洲成色精品| 在线观看亚洲视频啊啊啊啊| 黄色一区三区| 国内精品久久久久影院薰衣草| 欧美视频精品在线| 久久在线视频在线| 国产麻豆一精品一av一免费| 伊人精品成人久久综合软件| 麻豆精品传媒视频| 免费欧美在线视频| 国产女人水真多18毛片18精品视频| 国产精品久久久久免费a∨大胸| 欧美在线亚洲在线| 亚洲免费高清| 久久精视频免费在线久久完整在线看| 亚洲福利视频网| 一区二区精品在线| 一区二区三区偷拍| 久久精品人人爽| 麻豆久久久9性大片| 99re8这里有精品热视频免费| 欧美一级电影久久| 欧美成人精品在线视频|