版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、嵌入式宓逐EMBEDDED SYS I I M PROGRAMMING嵌入式Linux的SD卡驅(qū)動(dòng)程序邵自然呂格莉摘 要SD卡和Linux操作系統(tǒng)以其優(yōu)越的性能,在嵌入式設(shè)備上得到了越來越廣泛 的應(yīng)用。本文介紹了 Linux設(shè)備驅(qū)動(dòng)程序和SD卡的操作方法,設(shè)計(jì)和實(shí)現(xiàn)了 Linux PXA255處理器的SD卡驅(qū)動(dòng)程序。關(guān)鍵詞 Unux,驅(qū)動(dòng)程序,SD卡.嵌入式系統(tǒng)InifH IK:h M mi mi I >»l ill im i iii ib It m pilotl| I IH III i In bio.引言SD存儲(chǔ)卡(Secure Digital Memon* Card)是由日
2、本松下公 可、東芝公可和芙國(guó)SANDISK公可在MMC卡的甚礎(chǔ)上共同開 發(fā)研制的一款具有大容憶、高性能、安全性好等待點(diǎn)的多功能 存儲(chǔ)卡。其在數(shù)碼相機(jī)、MP3.學(xué)卜電腦和手機(jī)等便攜式設(shè)備 上使用非常廣泛。隨善處理器能力的提升以及系統(tǒng)復(fù)雜度的提 高.史多的嵌入式系統(tǒng)選擇使用提作系統(tǒng)來提I彷開發(fā)速度、降 低開發(fā)風(fēng)險(xiǎn)和提髙系統(tǒng)的理定性。l-inux操作系統(tǒng)因?yàn)槭蟽?nèi)核 小、開源和可裁剪等優(yōu)點(diǎn)在嵌入式設(shè)備中得到了廣泛的應(yīng) 用。在Linux卜使用SD卡.需要開發(fā)和加叔SD卡的設(shè)務(wù)驅(qū)動(dòng) 程序.將SD卡作為L(zhǎng)imn下面一個(gè)目錄。從而用戶和應(yīng)用程 序可以不用關(guān)心其體細(xì)節(jié)對(duì)SD卡進(jìn)行存取操作。本文分析了 Linux
3、%動(dòng)程序機(jī)制和SD k協(xié)議,并在針對(duì)PXA255處理器的 Linux2.4. 19內(nèi)核基礎(chǔ)上.實(shí)現(xiàn)了 SD卡的驅(qū)動(dòng)程序。二、Linux的設(shè)備驅(qū)動(dòng)程序驅(qū)動(dòng)程序位于操作系統(tǒng)的放底層,它屏蔽了具體的硬件細(xì) 節(jié),是整個(gè)操作系統(tǒng)的基礎(chǔ)。XL Lnux中.驅(qū)動(dòng)程序?qū)嶋H上是 內(nèi)核的一部分。麥動(dòng)程序可以在編譯內(nèi)核的時(shí)候.靜態(tài)的鏈接 進(jìn)內(nèi)核在操作系統(tǒng)初始化的同時(shí)完成驅(qū)動(dòng)程序的初始化工 作;也可以在系統(tǒng)運(yùn)行的時(shí)候以可加戟模塊的方式加載進(jìn)內(nèi) 核,由模塊的初始化函數(shù)齊完成初始化工作。由于設(shè)備種類繁多.為了管理方便.Lirwx把它的驅(qū)動(dòng)程 序?yàn)槌扇箢悾鹤址O(shè)備塊設(shè)備和網(wǎng)絡(luò)設(shè)備“其中網(wǎng)絡(luò)設(shè)備 杲通過BSDsockel接
4、口訪問的設(shè)備.它負(fù)貴數(shù)據(jù)包的發(fā)送和接 收。通當(dāng)它不作為存儲(chǔ)設(shè)備字符設(shè)備能夠存儲(chǔ)或者傳輸不定長(zhǎng)的數(shù)據(jù):內(nèi)核把字符設(shè) 備看成是町訪問的連續(xù)字"流它在單個(gè)字符的基礎(chǔ)上接受和 發(fā)送數(shù)據(jù)。字符設(shè)備不能夠琦機(jī)訪問,也不允許査找操作。常 見的字符設(shè)備有終端、打印機(jī)、串口、鼠標(biāo).聲卡等等。塊設(shè)備中通倉存儲(chǔ)的是定長(zhǎng)且可隨機(jī)訪問的數(shù)據(jù)塊.對(duì)它 的I/O操作只能以塊為單位進(jìn)行。的文件系統(tǒng)通常就是 安裝在塊設(shè)備之匕的。三、SD存儲(chǔ)卡的操作1. SD模式的總線協(xié)議SD存儲(chǔ)卡的協(xié)議是一種問答式的協(xié)議。也先主瑞發(fā)送 CMD接著卡瑞發(fā)送回應(yīng)RES0如果有數(shù)據(jù)需要傳送就會(huì)在 DATA線上岀現(xiàn)數(shù)據(jù)。SD卡有34個(gè)命令(
5、不包含對(duì)于版權(quán)保 護(hù)的幾個(gè)命令)其中26個(gè)基本命令和8個(gè)專用命令。在 CMD線上發(fā)送的CMD命令格式足確定的,圖1對(duì)命令格式進(jìn) 行了描述01satrit1ITobi M 理賦T圖I SD的命令格式SD卡的回應(yīng)的格式分為4種.分別是Rl. R2. R3和R6 回應(yīng)。除了命令CMDO (GOJDLEJJTATE)沒冇回應(yīng)外,艮他 的毎個(gè)命令都會(huì)有一個(gè)待定的回應(yīng)。如CMD17 (READNCLEJJI.OCK)使用RI回應(yīng).該冋應(yīng)格式如圖2所 示。它包含一個(gè)起始位、傳輸位.命令號(hào)、卡的狀態(tài)信息、循 環(huán)冗余位和結(jié)束位。其中命令號(hào)對(duì)應(yīng)它所回應(yīng)的命令.狀態(tài)信 息表示卡的當(dāng)前狀態(tài)。其它幾個(gè)回應(yīng)的格式與Rl相
6、似.區(qū)別2006.6技巧與I護(hù)EMBEDDED SYS IliM PROGRAMMING7474parting*CMO) 丿data transfer node|CMD2 I圖3 SD卡初始化的狀態(tài)圖ard respotxK new RCACrd respenas wtn .moOcRCA I CMp3 在于長(zhǎng)度和攜帶的信息有所不同。M x A4746“倒P7 Olj08« t-7.VC71fnVXJL« -rUartbrConiTwndGiidRMu5CRCZEndb!圖2 R1回應(yīng)格式2. SD卡寄存器對(duì)SD卡的配覽過程.實(shí)際上是對(duì)SD卡寄存器的讀寫過 Sc 其中.CI
7、D(Card Identificadon) % CSD(Card-Specific Data) 和OCR (operation conditiors register)寄存器是在操作過程中非 常重要的寄存器。CID寄存羅包含了卡的廠商和版本等信息.驅(qū)動(dòng)程序可以 通過這個(gè)寄存器來判別是否能夠?qū)υ摽ㄟM(jìn)行支持。CSD奇存器則包含了去的待殊信息,包括卡的容蚩、塊大 小以及是否寫保護(hù)等信息。只有取得了該寄存器的值.驅(qū)動(dòng)程 序才有足夠的信息注冊(cè)翌動(dòng)程序。OCR寄存器主要包含了卡的操作電壓信息,通過讀寫該寄 存器,驅(qū)動(dòng)程序可以設(shè)置卡的工作電壓。3SD卡操作過程通過向卡發(fā)送不同的命令,可以將卡從一個(gè)狀態(tài)轉(zhuǎn)移到
8、另 外一個(gè)狀態(tài),同時(shí)荻取我們需要的數(shù)振。圖3描述了卡初始化 的狀態(tài)轉(zhuǎn)移關(guān)系圖。其中CMDO GOJDLEJTATE)沒有返回?cái)?shù) 據(jù).ACMD41 (SD$ENDJ3P<OND)會(huì)通過 R3 回應(yīng)返回 OCR 信息.CMD2 (ALL$ENDJ2ID)通過R2冋應(yīng)來返回CID信息, CMD3 (SENDRELATIVE /DDR)則會(huì)通過 R6 回應(yīng)卡的 RCA (Card Address)信息<,Powe* on"inactive_(angeNo Respoine (Non vahd commaidfMust be a廠Operation wmi non SEgtiae
9、vonac r Re«iy suie、Stale (MU ;初始化結(jié)束之后.卡進(jìn)入standby狀態(tài).這時(shí),可以發(fā)送 CMD9 (SENDJ2SD)來得到包含CSD倍息的R2回應(yīng).之后通 過發(fā)送CMD7(SELECT/Dfc5ELECTjCARD)來進(jìn)入讀寫狀態(tài)。在 讀寫狀態(tài)騾動(dòng)程斤通過發(fā)迖CMD17(REAI)INGLE_PLOCK). CMI)18(READ_MU1T1PLE丿LOCK)以及 CMI)24(WRITE_BLOCK) 和 CMD25(WRITEJ11LTIPLJ:JLOCK)來進(jìn)行讀寫。四、Linux的SD卡驅(qū)動(dòng)程序1. SD卡控制器的操作由于SD卡的時(shí)序兼容MMC
10、卡,我們采用帶MMC卡控制 器的PXA255芯片作為主控處理器。PXA255是Intel公司生產(chǎn) 的堆于XScale微架構(gòu)的處理器.屬于ARMv5TE體系結(jié)構(gòu)°驅(qū)動(dòng)段序可以通過讀寫PXA255內(nèi)置的MMC卡控制器的 寄存器和FIFO,啟動(dòng)一次與卡的通信c通過設(shè)置寄存器.可 以發(fā)送命令和參數(shù)、設(shè)置接受的回應(yīng)格式、是否發(fā)送/接受數(shù) 據(jù)以及是否產(chǎn)生同步時(shí)鐘等SD卡操作所需要的功能該控制器還可以進(jìn)行DMA操作.將控制器的FIFO作為 DMA控制器的目標(biāo)或源.可以實(shí)現(xiàn)后臺(tái)的數(shù)據(jù)傳輸.從而提 髙系統(tǒng)效率。2. 驅(qū)動(dòng)程序?qū)崿F(xiàn)SD卡的讀寫必須以塊為單位,本文將驅(qū)動(dòng)程序?qū)崿F(xiàn)為塊 設(shè)備.其上掛載文件系統(tǒng)
11、。在塊設(shè)備被使用之前它必須向操作系統(tǒng)內(nèi)核注冊(cè),告訴 內(nèi)核自己實(shí)現(xiàn)的文件操作集。為此,Lima為每個(gè)塊設(shè)備準(zhǔn)備 了一個(gè)devicetruct結(jié)構(gòu).允許塊設(shè)備驅(qū)動(dòng)程序住其中登記自 己實(shí)現(xiàn)的文件操作集。文件操作集包含設(shè)備的打開、關(guān)閉、10控制請(qǐng)求操 作。其中打開和關(guān)閉函數(shù)用來打開和關(guān)閉電源.準(zhǔn)備數(shù)據(jù)結(jié)構(gòu) 零等;10控制函數(shù)則實(shí)現(xiàn)用戶程序?qū)υO(shè)備的血接10操作例 程;請(qǐng)求操作(request)函數(shù)則完成數(shù)據(jù)在操作系統(tǒng)的塊設(shè)備緩 沖區(qū)到設(shè)備之間的數(shù)據(jù)傳輸。SD卡是可拔插的設(shè)備.在系統(tǒng)啟動(dòng)的時(shí)候.卡片可能并 不在系統(tǒng)當(dāng)中。因此.本文在實(shí)現(xiàn)盤動(dòng)程序的時(shí)候,將它分為 總線檢測(cè)模塊和SD卡操作模塊??偩€檢測(cè)模塊靜
12、態(tài)的編譯進(jìn) 內(nèi)核.在系統(tǒng)初始化時(shí)就注冊(cè)中斷服務(wù)程序,當(dāng)SD卡插入中 斷發(fā)生之后,就把SD卡操作篌塊加載進(jìn)內(nèi)核。SD卡操作模塊 則以可加栽模塊的方式存在的.主要需要完成驪動(dòng)程序的注 冊(cè)、卸載和Request函數(shù)總線檢測(cè)模塊檢測(cè)到3D卡插入系統(tǒng)后,會(huì)洌用SD卡操 作模塊的模塊初始化函數(shù),從而完成驅(qū)動(dòng)的注冊(cè).下面是初始 化的部分代碼:static int sdJ)lkjnit(void)747474嵌入琢程瑋EMBEDDED SYSTEM PROGRAMMINGint sdqizes;int * sd_Wkizes;int sdjiard_5ects;sdj:ard_gojdle();/重fit S
13、D卡sdqp();/獲取并設(shè)置SD卡按作電壓信息sdj:ardet_cid();/獲取SD卡的CIDsd-pardfietjcaO;./取得SD卡的RCA寄存器信息sd&ard_gegd();/取得SD卡的CSD sdqrd/elect);/使卡處于待命狀態(tài)major = register_t>lkdev (0 *mmc_disk & mmcqps);if (major < 0)return -1;/注冊(cè)塊設(shè)備驅(qū)動(dòng)程序blkJnit_queue(BLKJDEFAULTJ3UEUE(major), sdjequest); blkjev(majorl. requestj
14、jueue. requestjn = sdjequest;/設(shè)置塊設(shè)備的請(qǐng)求傳輸函數(shù)readjhead I major) = 10;sd.sizes = kmalloc(3 sizsoflint), GFPJ<ERNEL); mmcj)lk_sizes = mmcizes + 1;mmcjiard 上ecis = mmcizes + 2;* mmc_sizes = sdjnfo size/1024;* sdj)lk_sizes 二 1024;* sdhardects = sdjnfo. hard_$ect;blk .gizelmajorl = sdizes;blksizeizel maj
15、or = sdjlkizes; hardsect _?ize major = sdjiardsects;/設(shè)置設(shè)備骨理的設(shè)備大小、扇區(qū)大小信息return 0;注冊(cè)的主要工作是初始化SD卡,向內(nèi)核注冊(cè)塊設(shè)備以及 設(shè)置塊設(shè)備的信息c注冊(cè)之后.Limn在有數(shù)據(jù)要進(jìn)行讀寫的 時(shí)候,會(huì)調(diào)用驅(qū)動(dòng)程序的request函數(shù),下面是該函數(shù)的偽代 碼:static void mmc jequest (requestjqueue J q)unsigned long nr;int blk;whiled)INITJIEQUEST; /檢査緩沖隊(duì)列是否為空switch (CURRENT -> emd) case
16、READ:for (nr = CURRENT -> current jir_sectors, blk =0; nr> 0; nr ) mmcjead_singlJ)lock(CURRENT -> buffer +blk 拿 512. CUR RENT -> sector 4-blk);blk+ +;break;case WRITE:for (nr = CURRENT -> current_nr_5ectorsr blk =0; nr> 0; nr )(mmcjvriteinglJjlock(CURRENT -> buffer +blk * 512, C
17、URRENT-> sector +blk);blk + +;break;defau 比 break;endjequestd); /完成一個(gè)緩沖塊的傳輸return;當(dāng)用戶要拔出SD R的時(shí)候.模塊的卸載兩數(shù)則會(huì)被過 用。由該函數(shù)來完成驅(qū)動(dòng)程序的卸載和資源的釋放。下面墾卸 載部分的代碼:static void mmcj)lk_gxit(vcid)fsyncjdev (MKDEV( major, 0); unregisterj)lkdev(major, *mmcjiisk*);/卸載驅(qū)動(dòng)程序 blk_pleanup-queue(BLK_PEFAULTJ2UEUE( major);/清楚隊(duì)列然
18、后釋放申請(qǐng)的資源kfree (blk_size major);blk_5ize(major) = NULL; blksizeizelmajor = NULL;hardsectize(major二NULL;return;將驅(qū)動(dòng)程序加載進(jìn)內(nèi)核之肓,將SD卡插入系統(tǒng).廻動(dòng)程 序就會(huì)自動(dòng)將它初始化。用戶可以使用mkfs命令來將將其格 式化.然后使用mount命令將其加載到指定冃錄。也可以建立 一個(gè)專門的守護(hù)進(jìn)程發(fā)現(xiàn)R插入之后.自動(dòng)地mount到指定 的目錄,從而實(shí)現(xiàn)即插即用的功能。五、結(jié)束語本文對(duì)Linux驅(qū)動(dòng)程序和與其相關(guān)的SD卡低足操作進(jìn)行 了介紹.并開發(fā)了嵌入式Ihwx下的SD卡驅(qū)動(dòng)程序。用戶程
19、 序可以通過Limn本身提供的文件系統(tǒng)對(duì)SD卡進(jìn)行訪問.并 實(shí)現(xiàn)了 SD卡的即播即用。本文沒有在SD卡的文件系統(tǒng)、版 權(quán)保護(hù)等髙級(jí)應(yīng)用上進(jìn)行分析,要實(shí)現(xiàn)SD卡的全部功能.還 需要在文件系統(tǒng)和用戶程序支持。4”.:囂:護(hù)75摘i安全與維護(hù):;,一 ,COMPUTER PROGRAMMINGAairrENANCE屛幕保護(hù)軟件的賣現(xiàn)袁曉鵬屏強(qiáng)保護(hù)是Windows的一個(gè)甚本功能.是響應(yīng)缺標(biāo).鍵 盤.而屏蔽WM/YSCOMMAND消息的應(yīng)用程序.它實(shí)際上是 個(gè)帶有某種固定約定的晉通的應(yīng)用程序。我們完全可以繞開 Windows的屏移保護(hù)機(jī)制.編制一個(gè)普通的應(yīng)用程序.通過檢 測(cè)眼標(biāo)、鍵盤班件.屏蔽系統(tǒng)事件.
20、發(fā)布系統(tǒng)消息等措施來實(shí) 現(xiàn)屏幕保護(hù)功能.但實(shí)現(xiàn)起來需要考慮的因素比較復(fù)雜.與 Windows的結(jié)合不緊密。Windows屏M保護(hù)程序.至少應(yīng)該有以下幾個(gè)特點(diǎn):1. 預(yù)覽:可以運(yùn)行在預(yù)覽框中;2. 參數(shù)設(shè)置:可以在屏幕保護(hù)管理器中進(jìn)行參數(shù)設(shè)置;3. 運(yùn)行:被Windows系統(tǒng)調(diào)用;4. 禁止兩個(gè)程序?qū)嵗?. 晌應(yīng)鼠標(biāo)、鍵盤爭(zhēng)件.屏蔽系統(tǒng)功能鍵;6. 充満整個(gè)屏慕;7. 動(dòng)態(tài)浪示畫面;&浪示名稱:在待選屏幕保護(hù)的列表框中顯示特有的名 稱。本文通過一個(gè)可以進(jìn)行留言的屏幕保護(hù)程序,來詳細(xì)描述 一個(gè)真正的Windows屏幕保護(hù)程序的實(shí)現(xiàn)過程。、功能實(shí)現(xiàn)一個(gè)可以被Windews屏幕保護(hù)機(jī)制管理的
21、、實(shí)現(xiàn)留言 功能的標(biāo)準(zhǔn)屏毎保護(hù)程序.這個(gè)屏幕保護(hù)程序應(yīng)該提供以下功 能:1. 可被Windows屏慕俁護(hù)機(jī)制代理;2. 圖片顯示;3. 留言;4. 留言査看;5. 口令保護(hù);6. 參數(shù)設(shè)置。二、設(shè)計(jì)屏幕保護(hù)被激活的條件足在規(guī)定的肘間內(nèi)沒有鼠標(biāo)事件或 鍵盤按鍵卒件發(fā)生.并在被激活時(shí)發(fā)送屏幕保護(hù)啟動(dòng)消息.同 時(shí)屏蔽掉系統(tǒng)其它消息,對(duì)-個(gè)標(biāo)準(zhǔn)屏濟(jì)保護(hù)程序.這些事悄 可交由Windows去管理°Windows的屏幕保護(hù)程序足一個(gè)擴(kuò)展名為scr的可執(zhí)行文 件。因此用各種常規(guī)編程語言都町以實(shí)現(xiàn).這里我們采用Wl phi。Windows在管理標(biāo)準(zhǔn)屏菲保護(hù)程序時(shí),堆通過傳遞參數(shù)的 方式實(shí)現(xiàn)對(duì)其控制的
22、,主要傳遞三種參數(shù):1. 預(yù)覽功能:/p 123456。第一個(gè)參數(shù)/p是預(yù)覽選項(xiàng);第 二個(gè)參數(shù)(123456)是預(yù)覽屏強(qiáng)的句柄.這個(gè)參數(shù)是可變的; Windows通過這組參數(shù)通知屏幕保護(hù)程序?qū)⑵漕A(yù)覽窗體顯示在 句柄為123456的顯示區(qū)內(nèi)。參數(shù)設(shè)置:/c。通過該參數(shù).Windows通知屏慕保護(hù)程參考文獻(xiàn)1. Alessandro Rubini. Linux Device DrivcrsM. O'Reilly & Associates, Inc. 1998.2. HANBiT Electronics Co. Lid. Secure Digital Card Datasheet (
23、DB/OL Rev. 1. 1 hllp: /www. hbe. co. kr/english/main/ ejnain. him May, 20033. Intel. Intel(r) PXA255 locessorDeveloper * s Manualf B/OL http: /ww>%-. intel, com.March. 20034. Maurer, S. S A surrey of embedded systems programming languagesJ. IEEE Potentials. Volume: 2lt Issue: 2, April - May 2002,
24、 Pages: 30 - 345 Rui Wang. Shiyuan Yang. The design of a rapid pro(o(yp<* platform for ARM based embedded system| J. Consumer Electronics IEEE Transactions on. Volume: 50, Issue: 2. May 2004, Pages: 746-751(收勇日期:2006年4月6 B)762006.6嵌入式Linux的SD驅(qū)動(dòng)程序作者:邵自然,呂格莉作者單位:刊名:電腦編程技巧與維護(hù)英文刊名:COMPUTER PROGRAMMIN
25、G SKILLS & MAINTENANCE年,卷(期): 被引用次數(shù):2006 (6)1次參考文獻(xiàn)(5條) 說明了Linux網(wǎng)絡(luò)驅(qū)動(dòng)程序的實(shí)現(xiàn)過程并把S890(驅(qū)動(dòng)程序移植至S3C241開發(fā)板上。4、編寫應(yīng)用程序測(cè)試用例,針對(duì)網(wǎng)絡(luò)驅(qū)動(dòng)程序進(jìn)行了接受、發(fā)送 、長(zhǎng)數(shù)據(jù)傳輸、持續(xù)性傳輸?shù)葴y(cè)試,驗(yàn)證網(wǎng)卡驅(qū)動(dòng)程序的各項(xiàng)特性。嵌入式Linux驅(qū)動(dòng)程序是一個(gè)很有前景,富有挑戰(zhàn)性的課題,還有許多后續(xù)的研究工作要做。5. 期刊論文 楊勇.YANG Yong基于Linux的嵌入式醫(yī)療設(shè)備JS驅(qū)動(dòng)程序的研究-醫(yī)療衛(wèi)生裝備2008,29(5)目的:在基于嵌入式-inux的便攜式醫(yī)療設(shè)備中研究開發(fā)JS設(shè)備的驅(qū)
26、動(dòng)程序方法設(shè)計(jì)了一個(gè)基于ARM微處理器;3e241的嵌入式Linux系統(tǒng)的微型 參數(shù)監(jiān)護(hù)儀其中以S3C241作為系統(tǒng)的硬件控制中心主PU以嵌入式Linux操作系統(tǒng)作為軟件開發(fā)平臺(tái)構(gòu)成系統(tǒng)的核心模塊卜接了 一個(gè)JS接口;在此基 礎(chǔ)上對(duì)Linux下US總線接口驅(qū)動(dòng)程序結(jié)構(gòu)及編寫方法進(jìn)行了研究F發(fā)出了適合于特定平臺(tái)的驅(qū)動(dòng)程序吉果該驅(qū)動(dòng)程序在原基礎(chǔ)上得以簡(jiǎn)化經(jīng)過測(cè)試 ,系統(tǒng)可以自動(dòng)掛栽盤準(zhǔn)確交換數(shù)據(jù)傳輸速度快且穩(wěn)定可靠結(jié)論開發(fā)出的JS驅(qū)動(dòng)程序提高了設(shè)備與主機(jī)以及設(shè)備與各功能模塊之間數(shù)據(jù)交換的速 度和質(zhì)量實(shí)現(xiàn)了數(shù)據(jù)的海量存儲(chǔ)其可熱插拔特性為設(shè)備的應(yīng)用帶來了方便.6. 學(xué)位論文劉耀彬嵌入式Linux下單色
27、LC驅(qū)動(dòng)程序的研究與開發(fā)2008隨著計(jì)算機(jī)技術(shù)和通信技術(shù)的迅速發(fā)展以及ternet的不斷擴(kuò)展,嵌入式系統(tǒng)得到了越來越廣泛的應(yīng)用。由于嵌入式系統(tǒng)的復(fù)雜性不斷增加,嵌入 式操作系統(tǒng)已經(jīng)成為嵌入式系統(tǒng)中最重要的組成部分。嵌入式ux是一種適用于嵌入式系統(tǒng)的源碼開放的搶占式實(shí)時(shí)多任務(wù)操作系統(tǒng),是目前嵌入式操 作系統(tǒng)領(lǐng)域中的一個(gè)研究熱點(diǎn)。在嵌入式nux系統(tǒng)開發(fā)中,最為主要的工作是驅(qū)動(dòng)程序的開發(fā)。優(yōu)秀的設(shè)備驅(qū)動(dòng)程序可以更好的利用硬件的特性,提高 系統(tǒng)的訪問效率,改善整個(gè)應(yīng)用系統(tǒng)的性能。本課題所開發(fā)的顯示驅(qū)動(dòng)程序主要是應(yīng)用在鐵路編組站手持終端中,實(shí)現(xiàn)終端單色液晶顯示CD的顯示功能。該手持終端采用了歐洲先進(jìn)的鐵
28、路 綜合數(shù)字移動(dòng)通信系統(tǒng)GSM-R)是編組站通信平臺(tái)由模擬集群改造為SM網(wǎng)絡(luò)的關(guān)鍵組成部分。硬件方面,根據(jù)編組站工作環(huán)境的特殊要求,課題采用AR處理器作為主控制器,并采用單色C作為顯示單元。在系統(tǒng)方面,首先通過對(duì)多種嵌 入式操作系統(tǒng)的分析比較,選取了inux作為終端的操作系統(tǒng)。而后根據(jù)終端的具體硬件結(jié)構(gòu)和功能要求,構(gòu)建了完整的嵌入式操作系統(tǒng))為后面進(jìn)一步 的程序開發(fā)提供了完整的開發(fā)環(huán)境,構(gòu)建工作主要包括:嵌入式ux內(nèi)核的定制與移植、Bootloaderg動(dòng)程序的移植以及嵌入式根文件系統(tǒng)的建立與移 植。在驅(qū)動(dòng)方面,首先分析研究了inux設(shè)備驅(qū)動(dòng)的模型結(jié)構(gòu),并實(shí)現(xiàn)了本顯示驅(qū)動(dòng)模塊的基本功能如打開、
29、關(guān)閉、讀寫等。而后在對(duì)x內(nèi)存管理機(jī) 制深入分析研究的基礎(chǔ)上實(shí)現(xiàn)了顯存的分配與映射。最后根據(jù)所設(shè)計(jì)的顯示單元接口電路,實(shí)現(xiàn)了x下對(duì)ARM GP端口的控制,進(jìn)而通妙PI端口實(shí) 現(xiàn)了對(duì)LC顯示的控制操作。7. 期刊論文 李方軍.金煒東.LI Fangjun . JIN Weidong嵌入式Linux網(wǎng)絡(luò)驅(qū)動(dòng)程序的研究與實(shí)現(xiàn)-現(xiàn)代電子技術(shù)2005,28(16)Linux網(wǎng)絡(luò)驅(qū)動(dòng)程序的開發(fā)一般從選擇一個(gè)模板開丈再根據(jù)特定的硬件環(huán)境編寫相應(yīng)的函.在嵌入式Linux中開發(fā)網(wǎng)絡(luò)驅(qū)動(dòng)程序也采用這種方法并 且需要將驅(qū)動(dòng)程序靜態(tài)編譯進(jìn)內(nèi)核而不采用模塊加載的方法本文論述了_inux下網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)程序的基本原理、實(shí)現(xiàn)過
30、鮮給出在嵌入式系統(tǒng)中網(wǎng)絡(luò) 驅(qū)動(dòng)程序的開發(fā)方法.8. 學(xué)位論文田思蕾GPRS (卡驅(qū)動(dòng)程序研究及在Linux下的實(shí)現(xiàn)2005隨著各種新技術(shù)的出現(xiàn),人們對(duì)計(jì)算機(jī)的認(rèn)識(shí)越來越深刻。計(jì)算正逐步走進(jìn)設(shè)備里面,計(jì)算機(jī)系統(tǒng)也從各種有形的外觀變?yōu)闊o形。大到航天航空領(lǐng) 域、小到手中的PDA都移植入了計(jì)算機(jī)系統(tǒng),人們把這樣的一個(gè)系統(tǒng)叫做嵌入式系統(tǒng)。嵌入式ux系統(tǒng)不僅繼承了傳統(tǒng)inux的許多優(yōu)點(diǎn),如易于開發(fā) ,高效,功能強(qiáng)大、穩(wěn)定,易于擴(kuò)充)免版費(fèi),開放源碼等,而且對(duì)原有系統(tǒng)做了大量的嵌入化改造,使其能夠更好的適應(yīng)嵌入式應(yīng)用的需要。嵌入式設(shè)備的各個(gè)特點(diǎn)限定了它的設(shè)備驅(qū)動(dòng)程序必須定制,并且和嵌入式操作系統(tǒng)以及應(yīng)用程序
31、完全綁定在一起構(gòu)成一個(gè)不可分割的整體,因此 ,不同的嵌入式產(chǎn)品在開發(fā)時(shí)都必須設(shè)計(jì)自己的設(shè)備驅(qū)動(dòng)程序,雖然很多的嵌入式操作系統(tǒng)都提供了驅(qū)動(dòng)程序范例)但實(shí)際運(yùn)行的驅(qū)動(dòng)程序都必須針對(duì) 具體硬件的資源分配和某些特性之處進(jìn)行修改,甚至重新設(shè)計(jì)。本文側(cè)重對(duì)Jnux設(shè)備驅(qū)動(dòng)程序的設(shè)計(jì)開發(fā)做了深入的研究與實(shí)踐。經(jīng)過分析3RSCF勺特點(diǎn),將此驅(qū)動(dòng)程序進(jìn)行了分層的考慮,在終端層、串口層 的基礎(chǔ)上,我們按照自己的需要在串行設(shè)備驅(qū)動(dòng)層的基礎(chǔ)上插入了一層新的抽象驅(qū)動(dòng)層層,并針對(duì)C接口,開發(fā)了其驅(qū)動(dòng)程序。解決了驅(qū)動(dòng)程序開 發(fā)設(shè)計(jì)中可能遇到的競(jìng)爭(zhēng),死鎖及有界緩沖區(qū)的問題。同時(shí),本項(xiàng)目是對(duì)一種基于嵌入式x通過GPR作為通信手
32、段,符合C接口規(guī)范對(duì)數(shù)據(jù)進(jìn)行處理 的驅(qū)動(dòng)程序開發(fā)。所以3PF業(yè)務(wù)在_inux中的實(shí)現(xiàn)也是本文的重要部分。9. 學(xué)位論文蒲敏基于Linux的嵌入式驅(qū)動(dòng)程序?qū)崿F(xiàn)及GU移植2009隨著計(jì)算機(jī)技術(shù)和通信技術(shù)以及的發(fā)展,嵌入式系統(tǒng)已經(jīng)廣泛地滲透到科學(xué)研究、工程設(shè)計(jì)、軍事技術(shù)、各類產(chǎn)業(yè)和商業(yè)文化藝術(shù)以及人們的日常 生活等方方面面中。國(guó)內(nèi)外各種嵌入式產(chǎn)品的進(jìn)一步開發(fā)和推廣,使嵌入式技術(shù)越來越和人們的生活緊密結(jié)合r>嵌入式設(shè)備的各個(gè)特點(diǎn)限定了它的設(shè)備驅(qū)動(dòng)程序必須定制,并且和嵌入式操作系統(tǒng)以及應(yīng)用程序完全綁定在一起構(gòu)成一個(gè)不可分割的整體。因此,不同 的嵌入式產(chǎn)品在開發(fā)時(shí)都必須設(shè)計(jì)自己的設(shè)備驅(qū)動(dòng)程序,雖然很
33、多的嵌入式操作系統(tǒng)都提供了驅(qū)動(dòng)程序范例,但實(shí)際運(yùn)行的驅(qū)動(dòng)程序都必須針對(duì)具體硬 件的資源分配和某些特性進(jìn)行修改,甚至重新設(shè)計(jì)。另一方面,隨著計(jì)算機(jī)技術(shù)的發(fā)展,越來越多的嵌入式系統(tǒng)設(shè)備需要良好的人機(jī)交互界面,這需要 一個(gè)高性能、高可靠、占用系統(tǒng)資源少的用戶圖形界面的支持br>論文的研究?jī)?nèi)容之一是四個(gè)基本的嵌入式nux驅(qū)動(dòng)程序的設(shè)計(jì)與實(shí)現(xiàn)。本文首先介紹了嵌入式nux系統(tǒng)的體系結(jié)構(gòu)及其設(shè)計(jì)的基本步驟,并闡述了在 基于S3C241芯片的開發(fā)板上構(gòu)建一個(gè)可實(shí)用的嵌入式系統(tǒng)的過程;然后分析了ux內(nèi)核的組成和內(nèi)核與設(shè)備驅(qū)動(dòng)之間的關(guān)系及nux設(shè)備驅(qū)動(dòng)的結(jié)構(gòu)。 最后根據(jù)設(shè)備提供的硬件手冊(cè)和前面對(duì)驅(qū)動(dòng)程序作的
34、深入分析,實(shí)現(xiàn)了-232小鍵盤接口、Flash存儲(chǔ)器和LC顯示控制器的驅(qū)動(dòng)程序。在調(diào)試好各個(gè) 驅(qū)動(dòng)后,成功地它們移植到了開發(fā)板上)使得開發(fā)板能夠提供基本的運(yùn)行功能并為下一步的研究開發(fā)工作作好了準(zhǔn);備>為了適應(yīng)嵌入式設(shè)備對(duì)人機(jī)交互界面的要求,本論文對(duì)基于嵌入式ux圖形用戶界面的移植也進(jìn)行了研究并將T成功地移植到了開發(fā)板上。首先介紹 幾種典型的嵌入式系統(tǒng)下的圖形用戶界面系統(tǒng))并簡(jiǎn)要分析了各自的特點(diǎn);然后根據(jù)其特點(diǎn)選擇將其中一系統(tǒng)一一T移植到開發(fā)板上。作為移植 GT的前期工作,先詳細(xì)分析1ST的支撐軟件一-Windo的運(yùn)行原理,并將其裁剪編譯后移植到開發(fā)板上;在此基礎(chǔ)上,G對(duì)勺運(yùn)行原理進(jìn)行了分
35、析 ,最后將其裁剪編譯后成功移植到開發(fā)板上作為嵌入式系統(tǒng)。在此基礎(chǔ)上,可以開發(fā)出簡(jiǎn)單、免費(fèi)、美觀、實(shí)用GU界面,最終使得用戶對(duì)整個(gè)系 統(tǒng)的操作變得更加簡(jiǎn)單和方便,這對(duì)今后開發(fā)嵌入GU系統(tǒng)有一定參考價(jià)值。10. 期刊論文 王京京.徐波.張巧云.黃勤兵.周桂耀.侯藍(lán)田.Wang Jingjing . Xu Bo. Zhang Qiaoyun. Huang Qinbing .Zhou Guiyao. Hou Lantian基于S3C244嵌入式Linux下CO激光雕刻系統(tǒng)步進(jìn)電機(jī)驅(qū)動(dòng)程序的設(shè)計(jì)-電子技術(shù) 授權(quán)使用:同濟(jì)大學(xué)圖書館(tjdxtsg),授權(quán)號(hào):6938104a-13bd-4a2c-af1
36、a-9ea20151c7d2下載時(shí)間: 2011年3月10日1.Alessandro Rubini Linux Device Drivers 19982.HANBiT Electronics Co Ltd Secure Digital Card Datasheet 20033.Intel Intel(r) PXA255 Processor Developer' s Manual20034.Maurer S S A survey of embedded systems programming languages 2002(02)5.Rui Wang Shiyuan Yang The de
37、sign of a rapid prototype platform for ARM based embedded system2004(02)相似文獻(xiàn)(10條)1. 學(xué)位論文 王鑫 嵌入式Linux下US通用攝像頭驅(qū)動(dòng)程序研究與設(shè)計(jì)2006隨著科學(xué)技術(shù)的不斷發(fā)展,越來越多的工業(yè)控制領(lǐng)域?qū)崿F(xiàn)了自動(dòng)控制。為了更好的進(jìn)行遠(yuǎn)程控制與管理,視頻監(jiān)控與數(shù)據(jù)采集的技術(shù)迫切需要。隨 著嵌入式技術(shù)的不斷發(fā)展和視頻監(jiān)控系統(tǒng)應(yīng)用的日益廣泛,視頻設(shè)備驅(qū)動(dòng)程序的開發(fā)與數(shù)據(jù)采集技術(shù)也成為了開發(fā)的熱點(diǎn)。目前生產(chǎn)攝像頭的廠家繁多,產(chǎn)品的種類也琳瑯滿目,不同類型攝像頭的驅(qū)動(dòng)程序幾乎不能通用,尤其是下的攝像頭驅(qū)動(dòng)程序更是不完善
38、,這 給視頻監(jiān)控系統(tǒng)的普及以及應(yīng)用帶來了不便。因此,設(shè)計(jì)通用的攝像頭驅(qū)動(dòng)程序顯得尤為重要。本文是基孔inux系統(tǒng)來研究JS攝像頭設(shè)備的驅(qū)動(dòng)程序并開發(fā)通用的攝像頭驅(qū)動(dòng)程序。通用的驅(qū)動(dòng)程序是以inux嵌入式操作系統(tǒng)為目標(biāo)系統(tǒng),在 目標(biāo)系統(tǒng)中驅(qū)動(dòng)程序是以模塊的方式被加載到內(nèi)核中,模塊加載成功后驅(qū)動(dòng)程序開始運(yùn)行會(huì)驅(qū)動(dòng)系統(tǒng)的攝像頭設(shè)備以實(shí)現(xiàn)視頻監(jiān)控的應(yīng)用,最后系統(tǒng)是 利用Linux下的視頻接口/ideo4Linux來實(shí)現(xiàn)數(shù)據(jù)采集的功能。本文首先介紹了-inux系統(tǒng),重點(diǎn)是Jnux下的設(shè)備驅(qū)動(dòng)開發(fā)技術(shù)以及開發(fā)調(diào)試環(huán)境,并對(duì)deo4Linu%故了詳細(xì)的介紹;其次介紹了S接口知識(shí)與 US攝像頭的工作原理,重點(diǎn)
39、是S攝像頭設(shè)備的驅(qū)動(dòng)程序開發(fā)方法;最后分析了攝像頭驅(qū)動(dòng)開發(fā)的技術(shù)框架,重點(diǎn)是通用驅(qū)動(dòng)程序的設(shè)計(jì)方案,并詳細(xì) 論述了如何開發(fā)JS通用攝像頭驅(qū)動(dòng)程序以及各功能模塊的具體實(shí)現(xiàn)方法。最后,給出了在Jnux系統(tǒng)下對(duì)通用攝像頭驅(qū)動(dòng)程序的測(cè)試,測(cè)試結(jié)果達(dá)到了預(yù)期的技術(shù)要求和功能要求,并提出了進(jìn)一步的改進(jìn)建議。2. 期刊論文 程杰.方攀.張黎明.Cheng Jie . Fang Pan. Zhang Liming 基于SEP402的嵌入式Linux Framebuffer 驅(qū)動(dòng) 程序-電子技術(shù)2009(10)述Linux中基于1 2 3 4 5ramebuffe的LC驅(qū)動(dòng)程序的設(shè)計(jì)方法主要介紹Framebuf
40、fer!®理以及Linux操作系統(tǒng)中-Cffi動(dòng)程序的接口函數(shù)針對(duì)具體硬件 平臺(tái)和LC液晶屏編寫了相應(yīng)的驅(qū)動(dòng)程序并介紹了在Jnux操作系統(tǒng)中使肝ramebuffe設(shè)備的幾種常見方法硬件平臺(tái)采用東南大學(xué)基于R內(nèi)核研發(fā)的 SEP402嵌入式微處理器軟件平臺(tái)采用_inux2.6.16內(nèi)核并最終實(shí)現(xiàn)7SEP402處理器在_inux平臺(tái)的Framebuffe駆動(dòng).3. 學(xué)位論文 熊明基于嵌入式Linux的USB2.0 OTG驅(qū)動(dòng)程序研究與設(shè)計(jì)2009USB接口以其可熱插拔、高傳輸速率等特點(diǎn)成為許多便攜式外圍設(shè)備的通用接口,但通S接口不支持兩個(gè)JS外圍設(shè)備之間的直接通信QT的出 現(xiàn)解決了這一問題,支扌OT規(guī)范的USBOT重角色設(shè)備既可以實(shí)現(xiàn)主機(jī)功能,又可以實(shí)現(xiàn)標(biāo)準(zhǔn)設(shè)備功能,使得支持規(guī)范的外圍設(shè)備能夠充當(dāng)主機(jī)與 標(biāo)準(zhǔn)設(shè)備直接通信,而不需要C勺參與,此外兩個(gè)支扌OT規(guī)范的外圍設(shè)備也能直接通信。同時(shí),嵌入式nux操作系統(tǒng)以
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 氧化鋁基負(fù)載型金屬催化劑鄰位氫中心構(gòu)筑及加氫性能研究
- 秸稈回收加工廠項(xiàng)目可行性研究報(bào)告
- 2025版物業(yè)管理區(qū)域綠化安全管理服務(wù)合同3篇
- 基于相似理論的船用耐壓設(shè)備縮比模型設(shè)計(jì)方法研究
- 2025版高校食堂營(yíng)養(yǎng)膳食承包合作協(xié)議2篇
- 異地辦公與遠(yuǎn)程工作管理
- 二零二五年度倉儲(chǔ)物流用地買賣合同樣本3篇
- 2025版選礦廠承包合同附設(shè)備更新改造計(jì)劃書3篇
- 營(yíng)銷行業(yè)助理職責(zé)概述
- 熱情溫暖的社區(qū)活動(dòng)中心三篇
- 城市道路智慧路燈項(xiàng)目 投標(biāo)方案(技術(shù)標(biāo))
- 水泥采購?fù)稑?biāo)方案(技術(shù)標(biāo))
- 初中英語-Unit2 My dream job(writing)教學(xué)設(shè)計(jì)學(xué)情分析教材分析課后反思
- 廣州市勞動(dòng)仲裁申請(qǐng)書
- 【公司利潤(rùn)質(zhì)量研究國(guó)內(nèi)外文獻(xiàn)綜述3400字】
- 工行全國(guó)地區(qū)碼
- 新疆2022年中考物理試卷及答案
- 地暖工程監(jiān)理實(shí)施細(xì)則
- 頂部板式吊耳計(jì)算HGT-20574-2018
- 《內(nèi)證觀察筆記》
- JJF 1191-2019測(cè)聽室聲學(xué)特性校準(zhǔn)規(guī)范
評(píng)論
0/150
提交評(píng)論