uboot sf 命令用法

來源:互聯網
上載者:User

uboot中如果支援spi/qspi flash, 那麼可以使用sf的erase, read, write命令操作spi flash


sf read用來讀取flash資料到記憶體

sf write寫記憶體資料到flash

sf erase 擦除指定位置,指定長度的flash內容, 擦除後內容全1


具體用法

sf probe [[bus:]cs] [hz] [mode] - init flash device on given SPI bus and chip select

sf read addr offset len              - read `len' bytes starting at`offset' to memory at `addr'

sf write addr offset len             - write `len' bytes from memor at `addr' to flash at `offset'

sf erase offset [+]len                - erase `len' bytes from `offset' `+len' round up `len' to block size

sf update addr offset len         - erase and write `len' bytes from memory at `addr' to flash at `offset'


使用範例

sf probe

在使用sf read sf write之前,一定要調用sf probe


sf write 0x82000000 0x0 0x20000

把記憶體0x8200 0000處的資料, 寫入flash的位移0x0, 寫入資料長度為0x20000(128KB), 操作位移和長度最小單位是Byte


sf read 0x82000000 0x10000 0x20000

把flash位移0x10000(64KB)處, 長度為0x20000(128KB)的資料, 寫入到記憶體0x82000000, 操作位移和長度最小單位是Byte


sf erase 0x0 0x10000

擦除位移0x0處, 到0x10000之間的擦除塊, 擦除操作是以erase block為單位的, 要求offset和len參數必須是erase block對齊的


從sf命令,可以看出幾點:

1. spi flash沒有oob資料存在, 也就是不用考慮EDC ECC, 也沒有壞塊管理概念.

2. 支援Byte級的讀寫操作, 支援隨機訪問.


如何驗證讀寫效果

可以結合uboot md命令, sf read, sf write都涉及到記憶體操作, 可以用md查看記憶體資料

md 0x82000000 0x100

列印0x82000000開始, 長度範圍256位元組的記憶體資料


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.