Linux設(shè)備驅(qū)動(dòng)程序在Linux內(nèi)核源代碼中占有很大比例,從2.0、2.2到 2.4版本的內(nèi)核,源代碼的長(zhǎng)度日益增加,其實(shí)主要是設(shè)備驅(qū)動(dòng)程序在增加。它是一個(gè)遵循POSIX標(biāo)準(zhǔn)的免費(fèi)操
DMA是一種無需CPU的參與就可以讓外設(shè)與系統(tǒng)RAM之間進(jìn)行雙向(to device 或 from device)數(shù)據(jù)傳輸?shù)挠布C(jī)制。使用DMA可以使系統(tǒng)CPU從實(shí)際的I/O數(shù)據(jù)傳輸過程中擺脫出來,從而大大提高系統(tǒng)的吞吐率(throughput)。
近年來,隨著信息技術(shù)的飛速發(fā)展,DSP在航空、航天、雷達(dá)、通信、消費(fèi)類電子設(shè)備等方面都得到了廣泛應(yīng)用;同時(shí),DSP的運(yùn)算能力也越大越強(qiáng)大,TI公司新推出的TMS320C6400系列的運(yùn)算能力可以達(dá)到.
為了增跟內(nèi)核的靈活性和為了方便,設(shè)各驅(qū)動(dòng)程序應(yīng)被設(shè)計(jì)為一個(gè)可動(dòng)態(tài)安裝的內(nèi)核模塊。 于是,一個(gè)典型的Linux設(shè)備驅(qū)動(dòng)程序應(yīng)包含如下幾部分代碼: ·驅(qū)動(dòng)程序模塊的注冊(cè)與注銷函數(shù); ·設(shè)各的打開、