999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

VxWorks 系統(tǒng)下提高SATA 硬盤傳輸速度的方法

2023-10-09 09:41:08趙昶宇
科技與創(chuàng)新 2023年18期
關(guān)鍵詞:設(shè)備

趙昶宇

(天津津航計(jì)算技術(shù)研究所,天津 300308)

在VxWorks 嵌入式操作系統(tǒng)中,隨著嵌入式設(shè)備功能的日益強(qiáng)大,需要記錄的數(shù)據(jù)量也隨之日益增多。因此,對相應(yīng)存儲(chǔ)設(shè)備的存儲(chǔ)容量和讀寫速度提出了越來越高的要求。傳統(tǒng)的數(shù)據(jù)存儲(chǔ)接口由于存在數(shù)據(jù)傳輸速度慢,甚至數(shù)據(jù)傳輸不穩(wěn)定等缺陷,已經(jīng)不滿足當(dāng)下嵌入式系統(tǒng)的存儲(chǔ)需求。

串行高級(jí)技術(shù)附件接口(SATA)作為新一代存儲(chǔ)數(shù)據(jù)接口,具有傳輸速度快、可靠性高、支持熱插拔等特點(diǎn),被廣泛應(yīng)用于各種存儲(chǔ)系統(tǒng)中。串行ATA 高級(jí)主機(jī)控制器接口(Serial ATA Advanced Host Controller Interface,AHCI)專為SATA 協(xié)議開發(fā),充分發(fā)揮SATA 協(xié)議的傳輸能力,并極大方便了驅(qū)動(dòng)軟件的移植。

但是,不是所有主板上處理器的存儲(chǔ)接口都支持AHCI。對于那些僅支持IDE 接口的處理器,在BIOS(Basic Input Output System,基本輸入輸出系統(tǒng))兼容模式下使用SATA 硬盤,其傳輸速度的峰值為30 MB/s,遠(yuǎn)低于SATA 1.0 的理論最高傳輸速率(150 MB/s)。為了提高IDE 驅(qū)動(dòng)模式下SATA 硬盤的傳輸速度,充分發(fā)揮SATA 協(xié)議的傳輸能力,本文提出了一種在VxWorks 系統(tǒng)下提高SATA 硬盤傳輸速度的方法。該方法能夠在IDE 驅(qū)動(dòng)模式下,提高SATA硬盤的傳輸速度,充分發(fā)揮SATA 協(xié)議的傳輸能力。

1 SATA 驅(qū)動(dòng)和dos 文件系統(tǒng)的交互流程

VxWorks 的文件系統(tǒng)并不是直接與塊設(shè)備驅(qū)動(dòng)交互,VxWorks6.8 以后在塊設(shè)備驅(qū)動(dòng)之上封裝了XBD(Extend Block Device)層,應(yīng)用軟件的讀寫請求通過文件系統(tǒng)提供的標(biāo)準(zhǔn)文件存取控制接口訪問XBD 層,并由XBD 層對塊設(shè)備發(fā)起讀寫請求,塊設(shè)備根據(jù)接收到的讀寫命令調(diào)用自身的讀寫驅(qū)動(dòng)函數(shù)來操作硬件[1]。

VxWorks 下SATA 驅(qū)動(dòng)的框架結(jié)構(gòu)如圖1 所示。

圖1 VxWorks 下SATA 驅(qū)動(dòng)的框架結(jié)構(gòu)

SATA 驅(qū)動(dòng)和dos 文件系統(tǒng)的交互流程如下。

步驟一:VxWorks 系統(tǒng)上電后,完成必要的初始化后,運(yùn)行usrRoot 函數(shù)開始執(zhí)行第一個(gè)內(nèi)核任務(wù)。

步驟二:usrRoot 函數(shù)中調(diào)用usrDosfsInit 函數(shù)對dosFs 文件進(jìn)行系統(tǒng)初始化,usrDosfsInit 函數(shù)調(diào)用完dosFsInit 函數(shù)之后會(huì)調(diào)用 fsmProbeInstall(dosFsDiskProbe,dosFsMonitorDevCreate)和底層驅(qū)動(dòng)建立鏈接。

步驟三:usrRoot 函數(shù)然后調(diào)用xbdInit 函數(shù)對XBD層進(jìn)行初始化,XBD 初始化完后緊接著會(huì)有fsMonitorInit 函數(shù),并且注冊了關(guān)于XBD 的事件處理函數(shù)[2]。

步驟四:usrRoot 函數(shù)調(diào)用usrAtaInit 函數(shù)完成對SATA 設(shè)備的初始化,然后調(diào)用usrAtaConfig 函數(shù),主要完成2 件事情,第一件為調(diào)用fsmNameInstall 函數(shù),向文件系統(tǒng)添加SATA 設(shè)備名,添加到fsmNameList列表中;第二件為調(diào)用ataXbdDevCreate 函數(shù),將SATA底層驅(qū)動(dòng)接口函數(shù)注冊到XBD 層。

在usrAtaConfig 函數(shù)中調(diào)用ataDevCreate 函數(shù)完成BLK_DEV 結(jié)構(gòu)初始化以及所有其他準(zhǔn)備工作。當(dāng)ataXbdDevCreate 函數(shù)返回后,底層塊設(shè)備驅(qū)動(dòng)以及塊設(shè)備本身等待上層設(shè)備操作請求。

BLK_DEV 結(jié)構(gòu)是文件系統(tǒng)層與底層塊設(shè)備驅(qū)動(dòng)層之間信息交互的唯一“媒介”,BLK_DEV 結(jié)構(gòu)包含的信息有:①塊設(shè)備數(shù)據(jù)寫入函數(shù);②塊設(shè)備數(shù)據(jù)讀取函數(shù);③塊設(shè)備控制函數(shù);④塊設(shè)備本身關(guān)鍵參數(shù)信息,如總扇區(qū)數(shù)(或總塊數(shù))、磁道數(shù)、磁頭數(shù)、每磁道扇區(qū)數(shù),對于非硬盤塊設(shè)備,還需提供每個(gè)塊的字節(jié)數(shù);⑤執(zhí)行完ataDevCreate 函數(shù)之后,底層的SATA 塊設(shè)備驅(qū)動(dòng)就已經(jīng)準(zhǔn)備好,再回看步驟②中的dosFsMonitorDevCreate 函數(shù),dosFS 在初始化之后,先調(diào)用 dosFsMonitorDevCreate 函數(shù),再調(diào)用dosFsDevCreate 函數(shù)。

dosFsDevCreate 函數(shù)的功能如下:完成dosFs 文件系統(tǒng)與底層塊設(shè)備驅(qū)動(dòng)之間的銜接工作,具體是通過傳遞一個(gè)由底層驅(qū)動(dòng)初始化的BLK_DEV結(jié)構(gòu)給dosFs中間層完成的,BLK_DEV 結(jié)構(gòu)包含底層塊設(shè)備驅(qū)動(dòng)的關(guān)鍵信息;完成塊設(shè)備節(jié)點(diǎn)的創(chuàng)建和向系統(tǒng)設(shè)備列表注冊的工作,這個(gè)工作完成后,底層塊設(shè)備就對用戶可見了,用戶可以使用標(biāo)準(zhǔn)接口函數(shù)對塊設(shè)備進(jìn)行操作;對dosFs 文件系統(tǒng)本身的一些參數(shù)進(jìn)行初始化,如最大文件句柄數(shù),文件系統(tǒng)一致性檢查級(jí)別。

步驟五:dosFsDevCreate 函數(shù)調(diào)用完成后,應(yīng)用層程序就可以對底層塊設(shè)備進(jìn)行操作了。基于dosFs的塊設(shè)備將以文件和目錄層次性的視圖提供給用戶層,所以用戶只是對塊設(shè)備中一個(gè)區(qū)域進(jìn)行操作,從上層來看,就是對某個(gè)文件或者目錄的操作。此時(shí)用戶程序不再是打開整個(gè)設(shè)備,而是打開存儲(chǔ)在底層塊設(shè)備上的某個(gè)文件或者目錄。

2 VxWorks 下提高SATA 硬盤傳輸速度

ATA 接口具有3 種數(shù)據(jù)傳輸方式:①PIO(Programmable Input-Output)傳輸,可以分為PIO 寄存器傳輸和PIO 數(shù)據(jù)傳輸。PIO 寄存器傳輸主要用于對ATA 設(shè)備中的寄存器進(jìn)行讀寫。讀寫的數(shù)據(jù)位數(shù)為8 位DD[7:0]。ATA 主機(jī)控制器根據(jù)所要讀寫的寄存器地址設(shè)置CS0_、CS1_、DA[2:0]地址信號(hào),同時(shí)將DIOW_或DIOR_設(shè)為有效,ATA 主機(jī)控制器或ATA設(shè)備驅(qū)動(dòng)數(shù)據(jù)總線釋放數(shù)據(jù)。當(dāng)DIOW_或DIOR_撤銷時(shí),ATA 主機(jī)控制器或ATA 設(shè)備從數(shù)據(jù)總線上讀取數(shù)據(jù)。②MDMA(Multiword Direct Memory Access)傳輸,用于數(shù)據(jù)傳輸。ATA 主機(jī)控制器向ATA 設(shè)備下達(dá)MDMA 傳輸命令后,等待設(shè)備向主機(jī)發(fā)送DMARQ 數(shù)據(jù)傳輸請求信號(hào)。當(dāng)主機(jī)收到DMARQ 信號(hào)后,向設(shè)備發(fā)送DMACK_響應(yīng)信號(hào)。MDMA 數(shù)據(jù)傳輸過程也是通過DIOW_或DIOR_的周期變化來控制數(shù)據(jù)的傳輸。③UDMA(Ultra Direct Memory Access),也是用于數(shù)據(jù)傳輸。這種傳輸方式的傳輸速度比MDMA 要快,ATA/ATAPI-5 協(xié)議中所定義的UDMA 傳輸方式最高數(shù)據(jù)傳輸速率是66 MB/s。UDMA 對數(shù)據(jù)傳輸?shù)目刂菩盘?hào)重新進(jìn)行了定義。UDMA 還引入了CRC(Cyclic Redundancy Check)數(shù)據(jù)校驗(yàn)機(jī)制,保證了數(shù)據(jù)傳輸過程的正確性。

為了提升SATA 硬盤在IDE 驅(qū)動(dòng)模式下的傳輸速度,需要將BSP(Board Support Package)中的config.h文件作如下修改。

在config.h 中進(jìn)行如下設(shè)置:

若SATA 控制器的個(gè)數(shù)為1,SATA 驅(qū)動(dòng)的個(gè)數(shù)也為1,則按照如下設(shè)置SATA 驅(qū)動(dòng)的數(shù)量、控制器的邏輯類型及中斷類型:

設(shè)置SATA 數(shù)據(jù)傳輸模式為ATA_DMA_AUTO 模式,傳輸位數(shù)為32 位,具體如下:

若SATA 控制器的個(gè)數(shù)為2,SATA 驅(qū)動(dòng)的個(gè)數(shù)也為2,則按照如下設(shè)置SATA 驅(qū)動(dòng)的數(shù)量、控制器的邏輯類型及中斷類型:

在主板BIOS 中設(shè)置SATA 控制器的模式為“IDE模式”或者“兼容模式”,并設(shè)置VxWorks 系統(tǒng)優(yōu)先從SATA 盤啟動(dòng)。

3 結(jié)束語

針對IDE 驅(qū)動(dòng)模式下SATA 硬盤傳輸速度慢的問題,本文提出了一種在VxWorks 系統(tǒng)下提高SATA 硬盤傳輸速度的方法。該方法首先修改BSP 中VxWorks系統(tǒng)缺省的啟動(dòng)路徑,讓它從SATA 盤啟動(dòng);然后設(shè)置SATA 盤的名稱,修改SATA 驅(qū)動(dòng)的數(shù)量,控制器的邏輯類型以及中斷類型,設(shè)置SATA 數(shù)據(jù)傳輸?shù)膫鬏斈J胶蛡鬏斘粩?shù);最后在主板BIOS 中設(shè)置SATA 控制器的模式為“IDE 模式”或者“兼容模式”,并設(shè)置VxWorks 系統(tǒng)優(yōu)先從SATA 盤啟動(dòng)。本文采用DMA模式進(jìn)行SATA 傳輸,能夠充分發(fā)揮SATA 協(xié)議的傳輸能力,將SATA 硬盤在VxWorks 下的讀寫速度提高到120 MB/s 左右,完美解決了在IDE 驅(qū)動(dòng)模式下SATA硬盤的傳輸速度瓶頸問題。

猜你喜歡
設(shè)備
諧響應(yīng)分析在設(shè)備減振中的應(yīng)用
調(diào)試新設(shè)備
基于VB6.0+Access2010開發(fā)的設(shè)備管理信息系統(tǒng)
基于MPU6050簡單控制設(shè)備
電子制作(2018年11期)2018-08-04 03:26:08
廣播發(fā)射設(shè)備中平衡輸入與不平衡輸入的轉(zhuǎn)換
電子制作(2018年10期)2018-08-04 03:24:48
食之無味,棄之可惜 那些槽點(diǎn)滿滿的可穿戴智能設(shè)備
500kV輸變電設(shè)備運(yùn)行維護(hù)探討
HTC斥資千萬美元入股虛擬現(xiàn)實(shí)設(shè)備商WEVR
Automechanika Shanghai 2014 之“看” 汽保設(shè)備篇
如何在設(shè)備采購中節(jié)省成本
主站蜘蛛池模板: 午夜日b视频| 日韩视频免费| 久久黄色视频影| 亚洲天堂免费在线视频| 国产免费久久精品99re不卡| 久久黄色一级片| 一级全黄毛片| 一级毛片免费观看久| A级毛片高清免费视频就| 中文毛片无遮挡播放免费| 成人亚洲天堂| 91在线丝袜| 国产乱人伦AV在线A| 日日噜噜夜夜狠狠视频| 92精品国产自产在线观看| 亚洲三级色| 无码免费试看| 国产成人无码综合亚洲日韩不卡| 午夜无码一区二区三区在线app| 国产三级韩国三级理| 一区二区日韩国产精久久| 日本精品视频| 亚洲欧美日韩天堂| 久久综合伊人77777| 久久人搡人人玩人妻精品| 久久动漫精品| 欧美成人A视频| 亚洲aaa视频| 国产18页| 国产高清免费午夜在线视频| 伊人久久精品亚洲午夜| 久久夜色精品国产嚕嚕亚洲av| 中文字幕在线播放不卡| 亚洲精品在线91| 亚洲an第二区国产精品| 美女无遮挡拍拍拍免费视频| 麻豆精品在线| 欧美激情,国产精品| 米奇精品一区二区三区| 国产网站免费| 自偷自拍三级全三级视频| 亚洲狼网站狼狼鲁亚洲下载| 国产综合欧美| 久久久久国产精品嫩草影院| 亚洲日本中文字幕乱码中文 | 国产成人啪视频一区二区三区| 欧美一区二区福利视频| 久热re国产手机在线观看| 美女视频黄频a免费高清不卡| 亚洲中文字幕无码mv| 91免费国产在线观看尤物| 亚洲最大福利视频网| 国产小视频a在线观看| 久久一色本道亚洲| 日本欧美成人免费| 九九九国产| 精品视频福利| 三上悠亚一区二区| 国产97视频在线观看| 青青草一区| a色毛片免费视频| 国产69精品久久| 精品丝袜美腿国产一区| 欧美日韩在线第一页| 国产欧美日韩精品综合在线| 园内精品自拍视频在线播放| 性网站在线观看| 亚洲二区视频| 国产精品男人的天堂| jizz亚洲高清在线观看| 欧美第一页在线| 成人精品视频一区二区在线 | 亚洲国产无码有码| 久久人人97超碰人人澡爱香蕉 | 国产精品美女自慰喷水| 日韩一区精品视频一区二区| 国内精品手机在线观看视频| 国产新AV天堂| 五月婷婷亚洲综合| 欧美国产综合色视频| 视频二区国产精品职场同事| 特级aaaaaaaaa毛片免费视频|