018.嵌入式linux驅(qū)動(dòng)開發(fā)-proc文件系統(tǒng)詳解_第1頁
018.嵌入式linux驅(qū)動(dòng)開發(fā)-proc文件系統(tǒng)詳解_第2頁
018.嵌入式linux驅(qū)動(dòng)開發(fā)-proc文件系統(tǒng)詳解_第3頁
018.嵌入式linux驅(qū)動(dòng)開發(fā)-proc文件系統(tǒng)詳解_第4頁
018.嵌入式linux驅(qū)動(dòng)開發(fā)-proc文件系統(tǒng)詳解_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、北風(fēng)網(wǎng)項(xiàng)目培訓(xùn)Linux內(nèi)核開發(fā)-13講師:韓老師 (北風(fēng)網(wǎng) )嵌入式Linux驅(qū)動(dòng)開發(fā)Contents Proc文件系統(tǒng)定義什么是proc文件系統(tǒng)?實(shí)例:通過 /proc/meminfo,查詢當(dāng)前內(nèi)存使用情況。結(jié)論:proc文件系統(tǒng)是一種在用戶態(tài)檢查內(nèi)核狀態(tài)的機(jī)制。Proc文件子目錄/文件名內(nèi)容描述apmbusdevicesdriverinterruptsioportsversion高級電源管理信息總線以及總線上的設(shè)備可用的設(shè)備信息已經(jīng)啟用的驅(qū)動(dòng)程序中斷信息端口使用信息內(nèi)核版本特點(diǎn)v每個(gè)文件都規(guī)定了嚴(yán)格的權(quán)限可讀?可寫?哪個(gè)用戶可讀?哪個(gè)用戶可寫?v可以用文本編輯程序讀?。╩ore命令,ca

2、t命令,vi程序等等)v不僅可以有文件,還可以有子目錄。v可以自己編寫程序添加一個(gè)/proc目錄下的文件。v文件的內(nèi)容都是動(dòng)態(tài)創(chuàng)建的,并不存在于磁盤上。內(nèi)核描述struct proc_dir_entry 。 。read_proc_t *read_proc;write_proc_t *write_proc;。創(chuàng)建文件struct proc_dir_entry* create_proc_entry (const char*name,mode_t mode,struct proc_dir_entry *parent)功能:創(chuàng)建proc文件參數(shù):v name :要?jiǎng)?chuàng)建的文件名v mode :要?jiǎng)?chuàng)建的文

3、件的屬性 默認(rèn)0755v parent :這個(gè)文件的父目錄創(chuàng)建目錄struct proc_dir_entry * proc_mkdir (const char *name,structproc_dir_entry *parent)功能:創(chuàng)建proc目錄參數(shù):v name :要?jiǎng)?chuàng)建的目錄名v parent :這個(gè)目錄的父目錄刪除目錄/文件void remove_proc_entry (const char *name,structproc_dir_entry *parent)功能:刪除proc目錄或文件參數(shù):vname :要?jiǎng)h除的文件或目錄名vparent :所在的父目錄讀寫為了能讓用戶讀寫添加

4、的proc文件,需要掛接上讀寫回調(diào)函數(shù):v read_procv write_proc讀操作int read_func (char *buffer,char *stat,off_toff,int count,int *peof,void *data)參數(shù):v buffer :把要返回給用戶的信息寫在buffer里,最大不超過PAGE_SIZEv stat :一般不使用v off :偏移量v count :用戶要取的字節(jié)數(shù)v peof :讀到文件尾時(shí),需要把*peof置1v data :一般不使用寫操作int write_func (struct file *file,const char*buffer,unsigned long count,void *data)參數(shù):vfile :該proc文件對應(yīng)的file結(jié)構(gòu),一般忽略。vbuffer :待寫的數(shù)據(jù)所在的位置vcount :待寫數(shù)據(jù)的大小vdata :一般不使用實(shí)現(xiàn)流程實(shí)現(xiàn)一個(gè)proc文件的流程:(1)調(diào)用create_proc_entry創(chuàng)建一個(gè)struct proc_dir_entry。(2)對創(chuàng)建的s

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論