加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

常用命令2

发布时间:2020-12-15 06:48:13 所属栏目:百科 来源:网络整理
导读:U-Boot 的常用命令的用法 进入U-Boot 控制界面后,可以运行各种命令,比如下载文件到内存,擦除、读写Flash, 运行内存、NOR Flash、NAND Flash 中的程序,查看、修改、比较内存中的数据等。 使用各种命令时,可以使用其开头的若干个字母代替它。比如tftpboo
U-Boot 的常用命令的用法 进入U-Boot 控制界面后,可以运行各种命令,比如下载文件到内存,擦除、读写Flash, 运行内存、NOR Flash、NAND Flash 中的程序,查看、修改、比较内存中的数据等。 使用各种命令时,可以使用其开头的若干个字母代替它。比如tftpboot 命令,可以使用t、 tf、tft、tftp 等字母代替,只要其他命令不以这些字母开头即可。 当运行一个命令之后,如果它是可重复执行的(代码中使用U_BOOT_CMD 定义这个命 令时,第3 个参数是1),若想再次运行可以直接输入回车。 U-Boot 接收的数据都是十六进制,输入时可以省略前缀0x、0X。 下面介绍常用的命令。 *********************************************************** (1)帮助命令help。 运行help 命令可以看到U-Boot 中所有命令的作用,如果要查看某个命令的使用方法, 运行“help 命令名”,比如“help bootm”。 可以使用“?”来代替“help”,比如直接输入“?”、“? bootm”。 *********************************************************** (2)下载命令。 U-Boot 支持串口下载、网络下载,相关命令有:loadb、loads、loadx、loady 和tftpboot、nfs。 前几个串口下载命令使用方法相似,以loadx 命令为例,它的用法为“loadx [ off ][ baud ]”。“[]”表示里面的参数可以省略,off 表示文件下载后存放的内存地址,baud 表示使 用的波特率。如果baud 参数省略,则使用当前的波特率;如果off 参数省略,存放的地址为 配置文件中定义的宏CFG_LOAD_ADDR。 tftpboot 命令使用TFTP 协议从服务器下载文件,服务器的IP 地址为环境变量serverip。 用法为“tftpboot [loadAddress] [bootfilename]”,loadAddress 表示文件下载后存放的内存地址,bootfilename 表示要下载的文件的名称。如果loadAddress 省略,存放的地址为配置文件中定 义的宏CFG_LOAD_ADDR;如果bootfilename 省略,则使用开发板的IP 地址构造一个文件 名,比如开发板IP 为192.168.1.17,则默认的文件名为C0A80711.img。 nfs 命令使用NFS 协议下载文件,用法为“nfs [loadAddress] [host ip addr:bootfilename]”。 “loadAddress、bootfilename”的意义与tftpboot 命令一样,“host ip addr”表示服务器的IP 地址,默认为环境变量serverip。下载文件成功后,U-Boot 会自动创建或更新环境变量filesize,它表示下载的文件的长度,可以在后续命令中使用“$(filesize)”来引用它。 ******************************************************** (3)内存操作命令。 常用的命令有:查看内存命令md、修改内存命令md、填充内存命令mw、复制命令cp。 这些命令都可以带上后缀“.b”、“.w”或“.l”,表示以字节、字(2 个字节)、双字(4 个字 节)为单位进行操作。比如“cp.l 30000000 31000000 2”将从开始地址0x30000000 处,复制 2 个双字到开始地址为0x31000000 的地方。 md 命令用法为“md[.b,.w,.l] address [count]”,表示以字节、字或双字(默认为双字) 为单位,显示从地址address 开始的内存数据,显示的数据个数为count。 mm 命令用法为“mm[.b,.l] address”,表示以字节、字或双字(默认为双字)为单位, 从地址address 开始修改内存数据。执行mm 命令后,输入新数据后回车,地址会自动增加, 按“Ctrl+C”键退出。 mw 命令用法为“mw[.b,.l] address value [count]”,表示以字节、字或双字(默认为双 字)为单位,往开始地址为address 的内存中填充count 个数据,数据值为value。 cp 命令用法为“cp[.b,.l] source target count”,表示以字节、字或双字(默认为双字) 为单位,从源地址source 的内存复制count 个数据到目的地址的内存。 ****************************************************** (4)NOR Flash 操作命令。 常用的命令有查看Flash 信息的flinfo 命令、加/解写保护命令protect、擦除命令erase。 由于NOR Flash 的接口与一般内存相似,所以一些内存命令可以在NOR Flash 上使用,比如 读NOR Flash 时可以使用md、cp 命令,写NOR Flash 时可以使用cp 命令(cp 根据地址分辨 出是NOR Flash,从而调用NOR Flash 驱动完成写操作)。 直接运行“flinfo”即可看到NOR Flash 的信息,有NOR Flash 的型号、容量、各扇区的 开始地址、是否只读等信息。 对于只读的扇区,在擦除、烧写它之前,要先解除写保护。最简单的命令为“protect off all”,解除所有NOR Flash 的写保护。 erase 命令常用的格式为“erase start end”,擦除的地址范围为start~end;“erase start +len”,擦除的地址范围为start~(star+tlen?1),“erase all”,表示擦除所有NOR Flash。 ******************************************************* (5)NAND Flash 操作命令。 NAND Flash 操作命令只有一个:nand,它根据不同的参数进行不同操作,比如擦除、 读取、烧写等。 “nand info”查看NAND Flash 信息。 “nand erase [clean] [off size]”擦除NAND Flash。加上“clean”时,表示在每个块的第一 个扇区的OOB 区加写入清除标记;off、size 表示要擦除的开始偏移地址的长度,如果省略 off 和size,表示要擦除整个NAND Flash。 “nand read[.jffs2] addr off size”从NAND Flash 偏移地址off 处读出size 个字节的数据 存放到开始地址为addr 的内存中。是否加后缀“.jffs”的差别只是读操作时的ECC 校验方 法不同。 “nand write[.jffs2] addr off size”把开始地址为addr 的内存中的size 个字节数据写到NAND Flash 的偏移地址off 处。是否加后缀“.jffs”的差别只是写操作时的ECC 校验方法不同。 “nand read.yaffs addr off size”从NAND Flash 偏移地址off 处读出size 个字节的数据(包 括OOB 区域),存放到开始地址为addr 的内存中。 “nand write.yaffs addr off size”把开始地址为addr 的内存中的size 个字节数据(其中有 要写入OOB 区域的数据)写到NAND Flash 的偏移地址off 处。 “nand dump off”将NAND Flash 偏移地址off 的一个扇区的数据打印出来,包括OOB 数据。 ************************************************************ (6)环境变量命令。 “printenv”命令打印全部环境变量,“printenv name1 name2?”打印名字为name1、 name2、?的环境变量。 “setenv name value”设置名字为name 的环境变量的值为value。 “setenv name”删除名字为name 的环境变量。 上面的设置、删除操作只是在内存中进行,“saveenv”将更改后的所有环境变量写入NOR Flash 中。 ************************************************************** (7)启动命令。 不带参数的“boot”、“bootm”命令都是执行环境变量bootcmd 所指定的命令。 “bootm [addr [arg…]]”命令启动存放在地址addr 处的U-Boot 格式的映象文件(使用 U-Boot 目录tools 下的mkimage 工具制作得到),[arg…]表示参数。如果addr 参数省略,映 象文件所在地址为配置文件中定义的宏CFG_LOAD_ADDR。 “go addr [arg…]”与bootm 命令类似,启动存放在地址addr 处的二进制文件,[arg...]表 示参数。 “nboot [[[loadAddr] dev] offset]”命令将NAND Flash 设备dev 上偏移地址off 处的映象文件复制到内存loadAddr 处,然后,如果环境变量autostart 的值为“yes”,就启动这个映象。 如果loadAddr 参数省略,存放地址为配置文件中定义的宏CFG_LOAD_ADDR;如果dev 参 数省略,则它的取值为环境变量bootdevice 的值;如果offset 参数省略,则默认为0

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读