uboot sf 指令详解

Posted 小麦大叔

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了uboot sf 指令详解相关的知识,希望对你有一定的参考价值。

之前在做的一个项目中,使用了spi-flash,uboot启动过程简单提到过,bootcmdbootargs
我在这里打开了全志的SOC的配置文件,在uboot的include/configs/suniv.h路径下,具体如下图所示:

bootcmd一般都会包含 bootm 或者 bootz 指令 ;

  • bootz:因为kernel和rootfs都保存在flash中,所以要先将他们搬运到ram中;
  • bootm:搬运完之后开始启动内核;

这里还有一个就是sf指令,下面简单介绍一下sf指令;
ubootsf 命令可以用来访问 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

如何配置uboot

uboot配置和编译过程详解

uboot启动第一阶段详解——汇编代码部分start.S

uboot————第二阶段start_armboot 函数详解

uboot之ldr指令