版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、高手進(jìn)階高手進(jìn)階Linux系統(tǒng)下系統(tǒng)下MTDCFI驅(qū)動(dòng)介紹驅(qū)動(dòng)介紹某些Intel的FLASH芯片(如StrataFlash系列)支持多分區(qū),也就是各個(gè)分區(qū)可以同時(shí)進(jìn)行操作。應(yīng)該說這是不錯(cuò)的特性,但是也會(huì)帶來些問題。記得當(dāng)初移植Linux2.4.21,掛JFFS2文件系統(tǒng)的時(shí)候,經(jīng)常會(huì)報(bào)一些“Magicbitmasknotfound“之類的錯(cuò)誤,跟進(jìn)去發(fā)現(xiàn)FLASH讀出來的都是些0x80之類的數(shù)據(jù),查看資料發(fā)現(xiàn)該款FLASH有分區(qū)的特性,
2、而Linux的FLASH驅(qū)動(dòng)只用一個(gè)狀態(tài)變量表示整個(gè)FLASH的狀態(tài),這就會(huì)造成某個(gè)分區(qū)的實(shí)際狀態(tài)和系統(tǒng)記錄的不符從而導(dǎo)致讀FLASH的時(shí)候該點(diǎn)實(shí)際上不處在讀狀態(tài)。當(dāng)時(shí)的解決辦法是,每次讀的時(shí)候,不管記錄的狀態(tài)是什么,先進(jìn)入讀狀態(tài)再說,當(dāng)然這會(huì)帶來性能的下降,具體損失多少個(gè)時(shí)鐘周期就不算了。話說進(jìn)入Linux2.6.x的時(shí)代(具體是2.6.13)除了LockUnlock(Linux在擦寫的時(shí)候不先Unlock,解決辦法就是初始化的時(shí)候先
3、全部Unlock)這個(gè)老問題外,竟然多分區(qū)的錯(cuò)誤沒有出現(xiàn),驚訝之下決定好好研究下Linux的MTDFLASH驅(qū)動(dòng)。說驅(qū)動(dòng)之前,先明確幾個(gè)編程要點(diǎn):說驅(qū)動(dòng)之前,先明確幾個(gè)編程要點(diǎn):1:讀寫,要按照總線位寬讀寫,注意不是FLASH芯片位寬(例如背靠背)。如果不是想寫像Linux那么靈活的代碼(考慮各種接法位寬CFI獲取信息等),那事情就簡(jiǎn)單很多,只要考慮要點(diǎn)1以及擦除塊的大小就好了,當(dāng)然如果是背靠背接法,擦除塊的實(shí)際大小要乘個(gè)interle
4、ave。進(jìn)入進(jìn)入Linux代碼代碼關(guān)于CHIPMAPMTD之間繞來繞去的關(guān)系現(xiàn)在還糊涂著呢,因此下面只是簡(jiǎn)單的跟一下脈絡(luò)和各個(gè)編程要點(diǎn)。1:構(gòu)造map_info結(jié)構(gòu),指定基址位寬大小等信息以及“cfi_probe“限定,然后調(diào)用do_map_probe()。2:do_map_probe()根據(jù)名字“cfi_probe“找到芯片驅(qū)動(dòng)“cfi_probe.c“直接調(diào)用cfi_probe()。3:cfi_probe()直接調(diào)用mtd_do_c
5、hip_probe(),傳入cfi_probe_chip()函數(shù)指針。4:mtd_do_chip_probe()分2步,先調(diào)用genprobe_ident_chips()探測(cè)芯片信息,后調(diào)用check_cmd_set()獲取和初始化芯片命令集(多分區(qū)初始化就在里面)。5:genprobe_ident_chips()函數(shù)如果不考慮多芯片串連的情況,那只需看前面的genprobe_new_chip()調(diào)用,完成后cfi.chipshift=
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- linux下驅(qū)動(dòng)安裝
- linux系統(tǒng)各文件、目錄介紹
- dsp高手的經(jīng)驗(yàn)介紹
- linux操作系統(tǒng)驅(qū)動(dòng)框架附驅(qū)動(dòng)加載
- 幾個(gè)dsp高手的經(jīng)驗(yàn)介紹
- linux命令介紹
- Linux下基于過濾驅(qū)動(dòng)的監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- Linux下GPU圖形驅(qū)動(dòng)軟件的實(shí)現(xiàn).pdf
- ps火焰素材制作超酷的火焰樣式字教程 [ps高手進(jìn)階]
- linux系統(tǒng)下配置網(wǎng)橋
- 介紹unix高手的十大習(xí)慣
- linux_vi命令介紹
- linux下查看系統(tǒng)屬性
- linux網(wǎng)卡驅(qū)動(dòng)安裝方法
- 亞馬遜ppc廣告效果時(shí)好時(shí)壞?快來看看高手是如何進(jìn)階的?
- 測(cè)控技術(shù)與儀器 畢業(yè)論文范文——linux下arm系統(tǒng)顯示驅(qū)動(dòng)設(shè)計(jì)
- 基于linux內(nèi)核驅(qū)動(dòng)的文件系統(tǒng)監(jiān)控.pdf
- 嵌入式Linux系統(tǒng)驅(qū)動(dòng)構(gòu)件的研究.pdf
- 基于Linux系統(tǒng)的數(shù)據(jù)采集模塊驅(qū)動(dòng)設(shè)計(jì).pdf
- linux設(shè)備驅(qū)動(dòng)程序
評(píng)論
0/150
提交評(píng)論