<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 在U-Boot中實現(xiàn)對Yaffs鏡像的支持

          在U-Boot中實現(xiàn)對Yaffs鏡像的支持

          作者: 時間:2018-09-12 來源:網(wǎng)絡 收藏

          通過以上步驟,已經(jīng)可以支持文件系統(tǒng)的讀寫。一般地,在進行NAND FLASH寫操作時,可以先通過串口或網(wǎng)絡等接口將數(shù)據(jù)下載到內(nèi)存中,進而按照命令格式將其燒寫到NAND FLASH中。例如:

          本文引用地址:http://www.ex-cimer.com/article/201809/388999.htm


          中使用以上三條命令,將名為test.yaffs的文件系統(tǒng)下載到內(nèi)存中,然后擦除一塊FLASH空間,最后用Nand Write.yaffs命令將其寫入NAND FLASH。燒寫完畢后會提示:
          Writing data at 0xd67200-100%complete.
          3663264 bytes written:OK
          另外,由于沒有使用ECC,燒寫過程中會有大量如下提示:
          Writing data without ECC to NAND_FLASH is not recom-mended
          事實上,ECC數(shù)據(jù)在生成時已經(jīng)包含在鏡像里,因此這里的提示并沒有關系。在drivers/nand/nand_basec.c文件中,將nand_write_page函數(shù)中case NAND_ECC_NONE:語句分支中的printk函數(shù)注釋掉即可消除此提示。

          3 Yaffs文件系統(tǒng)的性能
          在實際使用中,一般CPU的運行速度遠大于FLASH的讀寫速度,所以yaffs文件系統(tǒng)的讀寫速度主要由具體FLASH芯片的讀寫時間延遲來決定。
          對于常使用的Yaffs 2,寫操作的速度為1.5~4.5 MB/S,讀操作的速度為7.6~16.7 MB/S,刪除操作為7.8~62.5 MB/s,垃圾回收為2.1~7.7 MB/s。由于一般嵌入式系統(tǒng)數(shù)據(jù)交換量不大,所以該文件系統(tǒng)完全能夠滿足一般實時性操作的要求。
          此外,作為日志型文件系統(tǒng),Yaffs文件系統(tǒng)能夠有效地保護數(shù)據(jù)完整性,避免系統(tǒng)掉電等情況對數(shù)據(jù)產(chǎn)生的破壞。同時,與其他FLASH文件系統(tǒng)相比, Yaffs文件系統(tǒng)的實現(xiàn)給NAND型FLASH帶來了很多優(yōu)化,在速度、內(nèi)存占用以及能耗等方面都有更好的表現(xiàn)。


          4 結(jié) 語
          這里在分析Yaffs文件系統(tǒng)基本結(jié)構(gòu)的基礎上,通過為已有命令添加新的參數(shù),實現(xiàn)了U- Boot讀寫Yaffs文件系統(tǒng)鏡像的支持。最后通過一個簡單試驗進行了驗證。結(jié)果表明,燒寫入FLASH中的文件系統(tǒng)鏡像可以被嵌入式Linux等操作系統(tǒng)的內(nèi)核掛載使用。方便了嵌入式系統(tǒng)的Yaffs根文件系統(tǒng)鏡像的創(chuàng)建和調(diào)試。


          上一頁 1 2 3 下一頁

          關鍵詞: U-Boot Yaffs 鏡像

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();