基于Mini6410的USB虛擬存儲(chǔ)
發(fā)布時(shí)間:2020-08-02 20:55
【摘要】:本文是在實(shí)習(xí)期間,以公司的實(shí)際產(chǎn)品為背景,設(shè)計(jì)的一種基于無線網(wǎng)絡(luò)的虛擬存儲(chǔ)設(shè)備。設(shè)計(jì)的開發(fā)平臺(tái)是Mini6410,所用的主控制芯片是S3C6410,主機(jī)和目標(biāo)機(jī)的軟件開發(fā)平臺(tái)均是Linux下的編輯,編譯環(huán)境。 虛擬存儲(chǔ)技術(shù)是一種邏輯存儲(chǔ)技術(shù),它把人們對(duì)虛擬存儲(chǔ)系統(tǒng)進(jìn)行的各種操作鏡像到另一個(gè)物理存儲(chǔ)系統(tǒng)上,也就是虛擬存儲(chǔ)技術(shù)通過軟技術(shù)來間接達(dá)到對(duì)物理存儲(chǔ)設(shè)備的管理和控制。而無線局域網(wǎng)的發(fā)展尤其是Wifi技術(shù)的廣泛應(yīng)用使虛擬存儲(chǔ)的實(shí)現(xiàn)變得更加靈活。 論文從系統(tǒng)的設(shè)計(jì)目標(biāo),設(shè)計(jì)流程和系統(tǒng)設(shè)計(jì)框圖等方面對(duì)系統(tǒng)做了總體說明。虛擬存儲(chǔ)設(shè)備的實(shí)現(xiàn)方案包括接口電路單元,主控制器單元,網(wǎng)絡(luò)收發(fā)單元等三個(gè)部分。 論文介紹了嵌入式開發(fā)環(huán)境,并搭建了本設(shè)計(jì)的開發(fā)環(huán)境平臺(tái)。主要工作包括在主機(jī)上安裝Vmware,Fedora9以及開發(fā)工具,選用和配置目標(biāo)機(jī)上的Bootloader,嵌入式根文件系統(tǒng)和內(nèi)核,最后實(shí)現(xiàn)下載內(nèi)核等。 論文還進(jìn)行了開發(fā)板端的程序設(shè)計(jì)部分。文中介紹了USB協(xié)議的基礎(chǔ)知識(shí),包括USB規(guī)范,設(shè)備描述符,設(shè)備請(qǐng)求命令和傳輸機(jī)制。論文介紹了Linux下的網(wǎng)絡(luò)編程的基礎(chǔ)知識(shí)。在介紹USB協(xié)議和Linux網(wǎng)絡(luò)編程之后,論文介紹了Mini6410作為Mass-storage類的USB設(shè)備被枚舉的過程,以及Linux下無線通信的網(wǎng)絡(luò)編程實(shí)現(xiàn)。最后對(duì)整個(gè)工作進(jìn)行了總結(jié)。
【學(xué)位授予單位】:華中科技大學(xué)
【學(xué)位級(jí)別】:碩士
【學(xué)位授予年份】:2011
【分類號(hào)】:TP333
【圖文】:
16圖 3-5 Gcc 安裝成功效果圖如果出現(xiàn)如圖 3-5 最后一行 gcc version 4.5.1 這樣的信息,說明安裝成功。3.2.2 解壓安裝源代碼及其他工具這里需要解壓安裝的源代碼及工具有:Linux 內(nèi)核源代碼,busybox-1.17 源代碼,U-boot 源代碼,目標(biāo)文件系統(tǒng)目錄,目標(biāo)文件系統(tǒng)映象制作工具【14】。首先在 Fedora9 中創(chuàng)建工作目錄/opt/FriendlyARM/mini6410/linux在命令行執(zhí)行#mkdir p /opt/FriendlyARM/mini6410/linux先進(jìn)入此目錄,運(yùn)行命令:#cd /opt/FriendlyARM/mini6410/linux然后依次執(zhí)行以下命令:
Linux 內(nèi)核將空間分為兩部分,高處稱為“內(nèi)核空間”,低處稱為間”。用戶空間和內(nèi)核空間的代碼是不能進(jìn)行互訪的的,但有時(shí)候?yàn)榱四撤N用戶空間的代碼進(jìn)入內(nèi)核空間,這時(shí)就需要系統(tǒng)調(diào)用。而圖中的 GNU C Llibc)正是實(shí)現(xiàn)連接用戶程序和內(nèi)核系統(tǒng)調(diào)用的接口【22】。我們編譯內(nèi)核使用配置文件是缺省的 config_n43 。首先運(yùn)行命令:#cp config_mini6410_n43 .config然后執(zhí)行 make menuconfig,出現(xiàn)配置內(nèi)核菜單選項(xiàng)界面(如圖 3-7),添ifi 模塊和 USB gadget 驅(qū)動(dòng),然后執(zhí)行#make zImage,開始編譯內(nèi)核,編譯會(huì)在 arch/arm/boot 目錄下生成 linux 內(nèi)核映象文件 zImage。
這個(gè)值包含在發(fā)送回主機(jī)的設(shè)備描述符內(nèi)的第 8 字節(jié)。所以主機(jī)首先使用GetDescriptor 命令詢問設(shè)備就是為了得到這個(gè)值。一旦主機(jī)檢測到這個(gè)數(shù),它復(fù)位USB 線并開始枚舉過程【35】。下面的包跟蹤展示第一件事是主機(jī)向從機(jī)發(fā)送設(shè)備描述符命令到設(shè)備的端口 0(EP0)(如圖 4-2),從機(jī)返回它的設(shè)備描述符。
【學(xué)位授予單位】:華中科技大學(xué)
【學(xué)位級(jí)別】:碩士
【學(xué)位授予年份】:2011
【分類號(hào)】:TP333
【圖文】:
16圖 3-5 Gcc 安裝成功效果圖如果出現(xiàn)如圖 3-5 最后一行 gcc version 4.5.1 這樣的信息,說明安裝成功。3.2.2 解壓安裝源代碼及其他工具這里需要解壓安裝的源代碼及工具有:Linux 內(nèi)核源代碼,busybox-1.17 源代碼,U-boot 源代碼,目標(biāo)文件系統(tǒng)目錄,目標(biāo)文件系統(tǒng)映象制作工具【14】。首先在 Fedora9 中創(chuàng)建工作目錄/opt/FriendlyARM/mini6410/linux在命令行執(zhí)行#mkdir p /opt/FriendlyARM/mini6410/linux先進(jìn)入此目錄,運(yùn)行命令:#cd /opt/FriendlyARM/mini6410/linux然后依次執(zhí)行以下命令:
Linux 內(nèi)核將空間分為兩部分,高處稱為“內(nèi)核空間”,低處稱為間”。用戶空間和內(nèi)核空間的代碼是不能進(jìn)行互訪的的,但有時(shí)候?yàn)榱四撤N用戶空間的代碼進(jìn)入內(nèi)核空間,這時(shí)就需要系統(tǒng)調(diào)用。而圖中的 GNU C Llibc)正是實(shí)現(xiàn)連接用戶程序和內(nèi)核系統(tǒng)調(diào)用的接口【22】。我們編譯內(nèi)核使用配置文件是缺省的 config_n43 。首先運(yùn)行命令:#cp config_mini6410_n43 .config然后執(zhí)行 make menuconfig,出現(xiàn)配置內(nèi)核菜單選項(xiàng)界面(如圖 3-7),添ifi 模塊和 USB gadget 驅(qū)動(dòng),然后執(zhí)行#make zImage,開始編譯內(nèi)核,編譯會(huì)在 arch/arm/boot 目錄下生成 linux 內(nèi)核映象文件 zImage。
這個(gè)值包含在發(fā)送回主機(jī)的設(shè)備描述符內(nèi)的第 8 字節(jié)。所以主機(jī)首先使用GetDescriptor 命令詢問設(shè)備就是為了得到這個(gè)值。一旦主機(jī)檢測到這個(gè)數(shù),它復(fù)位USB 線并開始枚舉過程【35】。下面的包跟蹤展示第一件事是主機(jī)向從機(jī)發(fā)送設(shè)備描述符命令到設(shè)備的端口 0(EP0)(如圖 4-2),從機(jī)返回它的設(shè)備描述符。
【引證文獻(xiàn)】
相關(guān)碩士學(xué)位論文 前1條
1 沈f
本文編號(hào):2779051
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/2779051.html
最近更新
教材專著