国产精品免费无遮挡无码永久视频-国产高潮视频在线观看-精品久久国产字幕高潮-国产精品99精品无码视亚

查看: 2318|回復(fù): 1
打印 上一主題 下一主題

Linux設(shè)備驅(qū)動(dòng)程序開(kāi)發(fā) - Linux設(shè)備驅(qū)動(dòng)類型

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2016-4-16 14:31:13 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
Osboy觀點(diǎn):本帖子您應(yīng)該學(xué)到的知識(shí)點(diǎn)就,什么是字符型設(shè)備,塊型設(shè)備,網(wǎng)絡(luò)設(shè)備,和mtd設(shè)備驅(qū)動(dòng)的特點(diǎn)。大家可以根據(jù)該帖子提出的觀點(diǎn),baidu,google進(jìn)行擴(kuò)展閱讀。
     Linux設(shè)備驅(qū)動(dòng)程序在Linux的內(nèi)核源代碼中占有很大的比例,源代碼的長(zhǎng)度日益增加,主要是驅(qū)動(dòng)程序的增加。在Linux內(nèi)核的不斷升級(jí)過(guò)程中,驅(qū)動(dòng)程序的結(jié)構(gòu)還是相對(duì)穩(wěn)定。Linux設(shè)備驅(qū)動(dòng)架構(gòu)的不斷發(fā)展中始終堅(jiān)持的基本思想就是盡量抽取設(shè)備特性的共同點(diǎn),把最復(fù)雜的設(shè)備驅(qū)動(dòng)架構(gòu)程序代碼交給Linux的內(nèi)核和驅(qū)動(dòng)子系統(tǒng)開(kāi)發(fā)人員,而留給Linux的驅(qū)動(dòng)編寫(xiě)者更少的工作并使設(shè)備更趨于完美的工作。

Osboy覺(jué)得:說(shuō)白了就是Linux開(kāi)發(fā)人員盡量把一些設(shè)備驅(qū)動(dòng)所涉及到的共性包裝起來(lái),建立完善的設(shè)備驅(qū)動(dòng)架構(gòu),而讓我們這種驅(qū)動(dòng)開(kāi)發(fā)者只需要寫(xiě)很少的代碼就能完成設(shè)備驅(qū)動(dòng)的編寫(xiě),而且我們的確是從Linux的這個(gè)思想上得到的益處。比如usb驅(qū)動(dòng),sd卡驅(qū)動(dòng),Linux已經(jīng)根據(jù)sd卡,usb協(xié)議實(shí)現(xiàn)了所有代碼,而留給我們的只需要告訴usb,sd卡設(shè)備的寄存器的真實(shí)地址,和設(shè)置很少的clock等針對(duì)特定某款芯片所作的寄存器設(shè)置。
 Linux系統(tǒng)的設(shè)備分為字符設(shè)備(char device),塊設(shè)備(block device)和網(wǎng)絡(luò)設(shè)備(network device)三種。字符設(shè)備是指存取時(shí)沒(méi)有緩存的設(shè)備。塊設(shè)備的讀寫(xiě)都有緩存來(lái)支持,并且塊設(shè)備必須能夠隨機(jī)存取(random access),字符設(shè)備則沒(méi)有這個(gè)要求。典型的字符設(shè)備包括鼠標(biāo),鍵盤(pán),串行口等。塊設(shè)備主要包括硬盤(pán)軟盤(pán)設(shè)備,CD-ROM等。一個(gè)文件系統(tǒng)要安裝進(jìn)入操作系統(tǒng)必須在塊設(shè)備上。
     網(wǎng)絡(luò)設(shè)備在Linux里做專門(mén)的處理。Linux的網(wǎng)絡(luò)系統(tǒng)主要是基于BSD unix的socket機(jī)制。在系統(tǒng)和驅(qū)動(dòng)程序之間定義有專門(mén)的數(shù)據(jù)結(jié)構(gòu)(sk_buff)進(jìn)行數(shù)據(jù)的傳遞。系統(tǒng)里支持對(duì)發(fā)送數(shù)據(jù)和接收數(shù)據(jù)的緩存,提供流量控制機(jī)制,提供對(duì)多協(xié)議的支持。
Osboy認(rèn)為:這里有必要闡述下MTD設(shè)備驅(qū)動(dòng),mtd驅(qū)動(dòng)是所有nand,norflash驅(qū)動(dòng)的基礎(chǔ),在linux設(shè)備驅(qū)動(dòng)中算是比較出名而且比較容易編譯的一類驅(qū)動(dòng)程序,該驅(qū)動(dòng)的特性就是既有塊設(shè)備驅(qū)動(dòng)的特性,也有字符型設(shè)備驅(qū)動(dòng)的特點(diǎn)。比如說(shuō)我們可以操作塊設(shè)備節(jié)點(diǎn)mtdblock0,也可以操作字符型設(shè)備驅(qū)動(dòng)節(jié)點(diǎn)mtd0來(lái)對(duì)mtd類型的設(shè)備進(jìn)行操作
更多資訊可加交流群QQ277686564     QQ2905283896

沙發(fā)
發(fā)表于 2016-5-24 18:18:47 | 只看該作者
支持樓主,搶沙發(fā),樓主棒棒噠

本版積分規(guī)則

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號(hào) | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表