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]
- 1
sf probe 2:0
在使用sf read sf write之前,一定要调用sf probe
sf erase
用来擦除blocks;
syntax:sf erase offset len
- 1
- 2
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
- 1
把内存0x42000000处的数据, 写入flash的偏移0x0, 写入数据长度为0x300000, 操作偏移和长度最小单位是Byte
sf read
syntax: sf read mem-addr offset len
sf read 0x82000000 0x10000 0x20000
- 1
把flash偏移0x10000(64KB)处, 长度为0x20000(128KB)的数据, 写入到内存0x82000000, 操作偏移和长度最小单位是Byte
文章来源: great.blog.csdn.net,作者:小麦大叔,版权归原作者所有,如需转载,请联系作者。
原文链接:great.blog.csdn.net/article/details/117756488
- 点赞
- 收藏
- 关注作者
评论(0)