uboot sf 指令详解
Posted 小麦大叔
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了uboot sf 指令详解相关的知识,希望对你有一定的参考价值。
之前在做的一个项目中,使用了spi-flash,uboot启动过程简单提到过,bootcmd
和bootargs
;
我在这里打开了全志的SOC的配置文件,在uboot的include/configs/suniv.h
路径下,具体如下图所示:
bootcmd一般都会包含 bootm 或者 bootz 指令 ;
- bootz:因为kernel和rootfs都保存在flash中,所以要先将他们搬运到ram中;
- bootm:搬运完之后开始启动内核;
这里还有一个就是sf
指令,下面简单介绍一下sf
指令;
uboot
的 sf
命令可以用来访问 SPI NOR flash
;具体如下图所示:
使用方法:
检测 SPI NOR flash
syntax: sf probe [bus:]cs [hz] [mode]
sf probe 2:0
在使用sf read sf write之前,一定要调用sf probe
sf erase
用来擦除blocks;
syntax:sf erase offset len
sf erase 0x0 0x300000
擦除偏移0x0处, 到0x300000之间的擦除块, 擦除操作是以erase block为单位的, 要求offset和len参数必须是erase block对齐的.
sf write
syntax: sf write mem-addr offset len
sf write 0x42000000 0x0 0x300000
把内存0x42000000处的数据, 写入flash的偏移0x0, 写入数据长度为0x300000, 操作偏移和长度最小单位是Byte
sf read
syntax: sf read mem-addr offset len
sf read 0x82000000 0x10000 0x20000
把flash偏移0x10000(64KB)处, 长度为0x20000(128KB)的数据, 写入到内存0x82000000, 操作偏移和长度最小单位是Byte
以上是关于uboot sf 指令详解的主要内容,如果未能解决你的问题,请参考以下文章
uboot 命令使用中的sf是啥意思 比如 sf erase 0x1000 0x2000