uboot中如果支援spi/qspi flash, 那麼可以使用sf的erase, read, write命令操作spi flash
sf read用來讀取flash資料到記憶體
sf write寫記憶體資料到flash
sf erase 擦除指定位置,指定長度的flash內容,在進行寫flash的時候一定要先進行擦除,否則會失敗,因為flash只能從1變為0。
具體用法
sf - spi flash sub-system
usage:
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 memory
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 0
在使用sf的其他命令之前必須先進行此操作進行連線flash。否則會出現如下情況。
sf write 0x82000000 0x8000 0x20000
把記憶體0x8200 0000處的資料, 寫入flash的偏移0x80000, 寫入資料長度為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級的讀寫操作, 支援隨機訪問.
如何檢視flash的內容
可以結合uboot md命令檢視記憶體資料
md 0x82000000 0x100
如下操作
列印0x82000000開始, 長度範圍0x100位元組的記憶體資料
uboot sf 命令用法
2017 02 20 14 32 536人閱讀收藏 舉報 嵌入式linux 74 uboot中如果支援spi qspi flash,那麼可以使用sf的erase,read,write命令操作spi flash sf read用來讀取flash資料到記憶體 sf write寫記憶體資料到flash s...
uboot sf 命令用法
uboot中如果支援spi qspi flash,那麼可以使用sf的erase,read,write命令操作spi flash sf read用來讀取flash資料到記憶體 sf write寫記憶體資料到flash sf erase 擦除指定位置,指定長度的flash內容,擦除後內容全1 具體用法 ...
uboot sf 命令用法
uboot中如果支援spi qspi flash,那麼可以使用sf的erase,read,write命令操作spi flash sf read用來讀取flash資料到記憶體 sf write寫記憶體資料到flash sf erase 擦除指定位置,指定長度的flash內容,擦除後內容全1 具體用法 ...