關(guān) 閉

        新聞中心

        EEPW首頁(yè) > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 一種支持多種閃存的自適應(yīng)驅(qū)動(dòng)設(shè)計(jì)

        一種支持多種閃存的自適應(yīng)驅(qū)動(dòng)設(shè)計(jì)

        作者: 時(shí)間:2012-05-23 來(lái)源:網(wǎng)絡(luò) 收藏

        2 Flash自適應(yīng)方法設(shè)計(jì)

        傳統(tǒng)的Flash驅(qū)動(dòng)Software_A中只為Flash_A提供了驅(qū)動(dòng)接口函數(shù)。自適應(yīng)Flash驅(qū)動(dòng)Software_AB在硬件接口層中同時(shí)為Flash_A和Fla sh_B各提供一套驅(qū)動(dòng)接口函數(shù),系統(tǒng)通過(guò)讀取Flash存儲(chǔ)器的ID號(hào)來(lái)識(shí)別當(dāng)前Flash,從而選擇適合當(dāng)前Flash存儲(chǔ)器的接口函數(shù)。以此類(lèi)推,如果Software_ABC中添加了Flash_C的接口操作函數(shù),則Software_ABC也添加對(duì)Flash_C的支持,實(shí)現(xiàn)3種Flash存儲(chǔ)器的自適應(yīng)。

        2.1 Flash自適應(yīng)方法模型及實(shí)現(xiàn)

        自適應(yīng)模型與傳統(tǒng)模型的比較如圖4所示。自適應(yīng)驅(qū)動(dòng)方法在傳統(tǒng)驅(qū)動(dòng)方法的基礎(chǔ)上添加了自適應(yīng)層,硬件驅(qū)動(dòng)層里有多款Flash的接口操作函數(shù)。

        d.JPG

        一個(gè)驅(qū)動(dòng)程序中存在多種Flash的接口函數(shù),系統(tǒng)在自適應(yīng)層中分三步來(lái)尋找對(duì)應(yīng)Flash的接口函數(shù)。如圖5所示,自適應(yīng)層實(shí)現(xiàn)方法如下:

        e.JPG

        ①讀取Flash設(shè)備ID;

        ②fLash_nor_probe(),系統(tǒng)根據(jù)讀取到的ID,遍歷指針數(shù)組*(spansion[]),尋找當(dāng)前Flash的驅(qū)動(dòng)信息,并將之存儲(chǔ)在全局變量中;

        ③根據(jù)相應(yīng)的全局變量,自動(dòng)尋找相應(yīng)的驅(qū)動(dòng)函數(shù)。

        2.2 Flash接口函數(shù)的實(shí)現(xiàn)

        本文以Toshiba公司ty5701111183kc04的Flash ID讀取為例,介紹NOR Flash驅(qū)動(dòng)函數(shù)的實(shí)現(xiàn)方法。

        Flash ID讀取流程:

        ①發(fā)送復(fù)位指令0xf0令Flash復(fù)位;

        ②給Flash發(fā)送讀取ID的命令序列;

        ③讀取Flash ID存儲(chǔ)到全局變量中。



        評(píng)論


        相關(guān)推薦

        技術(shù)專(zhuān)區(qū)

        關(guān)閉
        主站蜘蛛池模板: 江阴市| 丽江市| 旺苍县| 军事| 宜宾县| 滁州市| 黎平县| 乡城县| 南通市| 清流县| 宜宾县| 饶平县| 峡江县| 岳阳县| 南昌市| 屯留县| 柳林县| 曲靖市| 大渡口区| 临朐县| 姜堰市| 宁陕县| 古蔺县| 连江县| 宁南县| 永嘉县| 雷州市| 鞍山市| 监利县| 昌都县| 调兵山市| 师宗县| 特克斯县| 伊金霍洛旗| 黑龙江省| 成武县| 武穴市| 宝鸡市| 永寿县| 崇文区| 精河县|