女人被狂躁到高潮视频免费无遮挡,内射人妻骚骚骚,免费人成小说在线观看网站,九九影院午夜理论片少妇,免费av永久免费网址

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]本文將介紹SPI子系統(tǒng)。內(nèi)核版本為2.6.30。如有錯(cuò)誤歡迎指正。預(yù)備知識(shí)要求:1.SPI總線 2. platfrom平臺(tái) 3. sysfs子系統(tǒng) 4. 閱讀過LDD3第3,5,6,7,9,10,11章的內(nèi)容。NOTE:如果沒有看過LDD3的相關(guān)內(nèi)容,直接看內(nèi)

本文將介紹SPI子系統(tǒng)。內(nèi)核版本為2.6.30。如有錯(cuò)誤歡迎指正。

預(yù)備知識(shí)要求:1.SPI總線

2. platfrom平臺(tái)

3. sysfs子系統(tǒng)

4. 閱讀過LDD3第3,5,6,7,9,10,11章的內(nèi)容。

NOTE:如果沒有看過LDD3的相關(guān)內(nèi)容,直接看內(nèi)核源碼將非常吃力?。?!

PC主機(jī):Ubuntu 和 redhat 9.0

目標(biāo)板:TQ2440開發(fā)板 cpu:s3c2440 linux內(nèi)核:2.6.30


0.引言

本系列文章對(duì)Linux設(shè)備模型中的SPI子系統(tǒng)進(jìn)行講解。SPI子系統(tǒng)的講解將分為4個(gè)部分。

第一部分,即本篇文章,將對(duì)SPI子系統(tǒng)整體進(jìn)行描述,同時(shí)給出SPI的相關(guān)數(shù)據(jù)結(jié)構(gòu),最后描述SPI總線的注冊(cè)。

第二部分,該文將對(duì)SPI的主控制器(master)驅(qū)動(dòng)進(jìn)行描述。 基于S3C2440的嵌入式Linux驅(qū)動(dòng)——SPI子系統(tǒng)解讀(二)

第三部分,該文將對(duì)SPI設(shè)備驅(qū)動(dòng),也稱protocol 驅(qū)動(dòng),進(jìn)行講解。基于S3C2440的嵌入式Linux驅(qū)動(dòng)——SPI子系統(tǒng)解讀(三)

第四部分,通過SPI設(shè)備驅(qū)動(dòng)留給用戶層的API,我們將從上到下描述數(shù)據(jù)是如何通過SPI的protocol 驅(qū)動(dòng),由bitbang中轉(zhuǎn),最后由master驅(qū)動(dòng)將數(shù)據(jù)傳輸出去。

基于S3C2440的嵌入式Linux驅(qū)動(dòng)——SPI子系統(tǒng)解讀(四)

1.SPI子系統(tǒng)綜述

SPI子系統(tǒng)從上到下分為:spi設(shè)備驅(qū)動(dòng)層,核心層和master驅(qū)動(dòng)層。其中master驅(qū)動(dòng)抽象出spi控制器的相關(guān)操作,而spi設(shè)備驅(qū)動(dòng)層抽象出了用戶空間API。

platform_device結(jié)構(gòu)中描述了SPI控制器的相關(guān)資源,同時(shí)在板級(jí)信息中將會(huì)添加spi設(shè)備的相關(guān)信息。master驅(qū)動(dòng)將以platform_driver形式體現(xiàn)出來,也就是說

在主控制器(master)和主控制器驅(qū)動(dòng)將掛載到platform總線上。platform_driver的probe函數(shù)中將注冊(cè)spi_master,同時(shí)將會(huì)獲取在板級(jí)信息中添加的spi設(shè)備,將該

信息轉(zhuǎn)換成spi_device,然后注冊(cè)spi_device到spi總線上。spi_driver結(jié)構(gòu)用于描述spi設(shè)備驅(qū)動(dòng),也將掛載到spi總線上。連同spi_driver一起注冊(cè)的是字符設(shè)備,該

字符設(shè)備將提供5個(gè)API給用戶空間。通過API,用戶空間可以執(zhí)行半雙工讀、半雙工寫和全雙工讀寫。

2. SPI的相關(guān)數(shù)據(jù)結(jié)構(gòu)

這里將介紹內(nèi)核所用到的關(guān)鍵數(shù)據(jù)結(jié)構(gòu),還有些結(jié)構(gòu)將在用到時(shí)加以說明。

2.1 spi_master

該結(jié)構(gòu)用于描述SOC的SPI控制器,S3C2440共有兩個(gè)SPI控制器。


/**

*structspi_master-interfacetoSPImastercontroller

*@dev:deviceinterfacetothisdriver

*@bus_num:board-specific(andoftenSOC-specific)identifierfora

*givenSPIcontroller.

*@num_chipselect:chipselectsareusedtodistinguishindividual

*SPIslaves,andarenumberedfromzerotonum_chipselects.

*eachslavehasachipselectsignal,butit'scommonthatnot

*everychipselectisconnectedtoaslave.

*@dma_alignment:SPIcontrollerconstraintonDMAbuffersalignment.

*@setup:updatesthedevicemodeandclockingrecordsusedbya

*device'sSPIcontroller;protocolcodemaycallthis.This

*mustfailifanunrecognizedorunsupportedmodeisrequested.

*It'salwayssafetocallthisunlesstransfersarependingon

*thedevicewhosesettingsarebeingmodified.

*@transfer:addsamessagetothecontroller'stransferqueue.

*@cleanup:freescontroller-specificstate

*

*EachSPImastercontrollercancommunicatewithoneormore@spi_device

*children.Thesemakeasmallbus,sharingMOSI,MISOandSCKsignals

*butnotchipselectsignals.Eachdevicemaybeconfiguredtousea

*differentclockrate,sincethosesharedsignalsareignoredunless

*thechipisselected.

*

*ThedriverforanSPIcontrollermanagesaccesstothosedevicesthrough

*aqueueofspi_messagetransactions,copyingdatabetweenCPUmemoryand

*anSPIslavedevice.Foreachsuchmessageitqueues,itcallsthe

*message'scompletionfunctionwhenthetransactioncompletes.

*/

structspi_master{

structdevicedev;

/*otherthannegative(==assignonedynamically),bus_numisfully

*board-specific.usuallythatsimplifiestobeingSOC-specific.

*example:oneSOChasthreeSPIcontrollers,numbered0..2,

*andoneboard'sschematicsmightshowitusingSPI-2.software

*wouldnormallyusebus_num=2forthatcontroller.

*/

s16bus_num;

/*chipselectswillbeintegraltomanycontrollers;someothers

*mightuseboard-specificGPIOs.

*/

u16num_chipselect;//該值不能為0,否則會(huì)注冊(cè)失敗

/*someSPIcontrollersposealignmentrequirementsonDMAable

*buffers;letprotocoldriversknowabouttheserequirements.

*/

u16dma_alignment;

/*Setupmodeandclock,etc(spidrivermaycallmanytimes).

*

*IMPORTANT:thismaybecalledwhentransferstoanother

*deviceareactive.DONOTUPDATESHAREDREGISTERSinways

*whichcouldbreakthosetransfers.

*/

int(*setup)(structspi_device*spi);

/*bidirectionalbulktransfers

*

*+Thetransfer()methodmaynotsleep;itsmainroleis

*justtoaddthemessagetothequeue.

*+Fornowthere'snoremove-from-queueoperation,or

*anyotherrequestmanagement

*+Toagivenspi_device,messagequeueingispurefifo

*

*+Themaster'smainjobistoprocessitsmessagequeue,

*selectingachipthentransferringdata

*+Iftherearemultiplespi_devicechildren,thei/oqueue

* arbitration algorithm is unspecified (round

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

上海 2025年6月18日 /美通社/ -- 2025年6月18日,第九屆國際氫能與燃料電池汽車大會(huì)暨展覽會(huì)(FCVC 2025)在上海汽車會(huì)展中心盛大開幕。威孚集團(tuán)全面展示了其在氫能產(chǎn)業(yè)鏈三大核心領(lǐng)域——燃料電池核心...

關(guān)鍵字: 高壓 零部件 BSP 子系統(tǒng)

北京2023年9月19日 /美通社/ -- 隨著教育部和科技部公布了2023年度"高等學(xué)校學(xué)科創(chuàng)新引智計(jì)劃"(簡(jiǎn)稱"111 計(jì)劃")名單,湘潭大學(xué)申報(bào)的"數(shù)學(xué)學(xué)科創(chuàng)新引智...

關(guān)鍵字: 智能計(jì)算 并行計(jì)算 子系統(tǒng) 網(wǎng)絡(luò)

SPI 是英語Serial Peripheral interface的縮寫,顧名思義就是串行外圍設(shè)備接口。是Motorola(摩托羅拉)首先在其MC68HCXX系列處理器上定義的。SPI是一種單主機(jī)、高速的,全雙工,同步...

關(guān)鍵字: spi spi通信原理

北京2023年3月1日 /美通社/ -- 近日,2022-2023年度第一批中國建設(shè)工程魯班獎(jiǎng)(國家優(yōu)質(zhì)工程)榜單揭曉,共119項(xiàng)工程入選。其中,同方股份參與建設(shè)的橫琴口岸及綜合交通樞紐開發(fā)工程榮登榜單。 橫...

關(guān)鍵字: BSP IBM 子系統(tǒng) 控制

德國聯(lián)邦經(jīng)濟(jì)與氣候保護(hù)部(BMWK)與軟件公司QMWare和云專業(yè)公司IONOS以及斯圖加特大學(xué)和弗勞恩霍夫FOKUS研究所簽訂合同,為德國工業(yè)建構(gòu)量子計(jì)算應(yīng)用平臺(tái),這是德國的首個(gè)量子云業(yè)務(wù)。該項(xiàng)目稱為SeQenC,將運(yùn)...

關(guān)鍵字: 量子計(jì)算 光子 處理器 子系統(tǒng)

在上回講完功能安全的定義以后,"是什么" 和 "為什么" 的問題,我們已經(jīng)搞懂了。接下來就要看看重點(diǎn),"怎么樣" 的問題。主機(jī)廠在研發(fā)一款汽車平臺(tái)的初期,會(huì)基于以往大量的工程和實(shí)際經(jīng)驗(yàn),把整車的功能細(xì)分到不同的子系統(tǒng)里,...

關(guān)鍵字: 汽車 子系統(tǒng) 安全輔助

北京2022年8月26日 /美通社/ -- 引言:國家發(fā)展改革委等部門研究制定《關(guān)于加快煤礦智能化發(fā)展的指導(dǎo)意見》指出,到2025年,大型煤礦和災(zāi)害嚴(yán)重煤礦基本實(shí)現(xiàn)智能化,形成煤礦智能化建設(shè)技術(shù)規(guī)范與標(biāo)準(zhǔn)體系;到2035...

關(guān)鍵字: 智能化 AI 云計(jì)算 子系統(tǒng)

(全球TMT2022年7月14日訊)集成量子計(jì)算公司Quantinuum宣布與日本材料技術(shù)領(lǐng)先企業(yè)JSR Corporation開展全球合作,探索量子計(jì)算方法在半導(dǎo)體研究中的應(yīng)用。這項(xiàng)合作將匯聚JSR世界領(lǐng)先的材料科學(xué)...

關(guān)鍵字: ANTI 量子計(jì)算 子系統(tǒng) 軟件平臺(tái)

(全球TMT2022年6月22日訊)借助IBM Planning Analytics with Watson (IBM Planning Analytics)與IBM Cognos Analytics,愛德數(shù)智為領(lǐng)先的...

關(guān)鍵字: IBM ANALYTICS PLANNING 子系統(tǒng)

為什么要加鎖在SMP系統(tǒng)中,如果僅僅是需要串行地增加一個(gè)變量的值,那么使用原子操作的函數(shù)(API)就可以了。但現(xiàn)實(shí)中更多的場(chǎng)景并不會(huì)那么簡(jiǎn)單,比如需要將一個(gè)結(jié)構(gòu)體A中的數(shù)據(jù)提取出來,然后格式化、解析,再添加到另一個(gè)結(jié)構(gòu)體...

關(guān)鍵字: spi ic ck
關(guān)閉