U-Boot 命令使用

news2025/1/19 17:14:36

进入 uboot 的命令行模式以后输入“help”或者“?”,然后按下回车即可查看当前 uboot 所 支持的命令,如图 所示:

  •  我们输入“help(或?) 命令名”既可以查看命令的详细用法,以“bootz”这 个命令为例,我们输入如下命令即可查看“bootz”这个命令的用法:

? bootz 或 help bootz

  • 如图 所示:

  •  图 中就详细的列出了“bootz”这个命令的详细,其它的命令也可以使用此方法查询 具体的使用方法。接下来我们学习一下一些常用的 uboot 命令。

1.信息查询命令

  • 常用的和信息查询有关的命令有 3 个:bdinfo、printenv 和 version。先来看一下 bdinfo 命 令,此命令用于查看板子信息,直接输入“bdinfo”即可

  • 图中可以得出 DRAM 的起始地址和大小、启动参数保存起始地址、波特率、 sp(堆栈指针)起始地址等信息。
  • 命令“printenv”用于输出环境变量信息,uboot 也支持 TAB 键自动补全功能,输入“print” 然后按下 TAB 键就会自动补全命令,直接输入“print”也可以。输入“print”,然后按下回车键,

 图中有很多的环境变量,比如 baudrate、board_name、board_rec、boot_fdt、bootcmd 等等。uboot 中的环境变量都是字符串,既然叫做环境变量,那么它的作用就和“变量”一样。

命令 version 用于查看 uboot 的版本号,输入“version”,uboot 版本号如图所示

可以看出,当前 uboot 版本号为 2016.03,2023 年 4 月 19 日编译的,编译器为 aarm-linux-gnueabihf-gcc。

 

2.环境变量操作命令

1、修改环境变量

环境变量的操作涉及到两个命令:setenv 和 saveenv,命令 setenv 用于设置或者修改环境变 量的值。命令 saveenv 用于保存修改后的环境变量,一般环境变量是存放在外部 flash 中的, uboot 启动的时候会将环境变量从 flash 读取到 DRAM 中。所以使用命令 setenv 修改的是 DRAM 中的环境变量值,修改以后要使用 saveenv 命令将修改后的环境变量保存到 flash 中,否则的话 uboot 下一次重启会继续使用以前的环境变量值。

命令 saveenv 使用起来很简单,格式为:

saveenv

比如 bootdelay 这个环境变量就表示 uboot 启动延时时间,默认 bootdelay=3,也就默认延时 3 秒。前面说的 3 秒倒计时就是由 bootdelay 定义的,如果将 bootdelay 改为 5 的话就会倒计时 5s 了。uboot 中的环境变量是可以修改的,有专门的命令来修改环境变量的值,

比如我们要将环境变量 bootdelay 改为 5,就可以使用如下所示命令:

setenv bootdelay 5

saveenv

 当我们使用命令 saveenv 保存修改后的环境变量的话会有保存过程提示 信息,根据提示可以看出环境变量保存到了 MMC(0)中,也就是 SD 卡中。因为我们现在将 uboot 烧写到了 SD 卡里面,所以会保存到 MMC(0)中。如果烧写到 EMMC 里面就会提示保存到 MMC(1),也就是 EMMC 设备。

修改 bootdelay 以后,重启开发板,uboot 就是变为 5 秒倒计时。

有时候我们修改的环境变量值可能会有空格,比如 bootcmd、bootargs 等,这个时候环境变 量值就得用单引号括起来,比如下面修改环境变量 bootargs 的值:

setenv bootargs 'console=ttymxc0,115200 root=/dev/mmcblk1p2 rootwait rw'

saveenv

上面命令设置 bootargs 的值为“console=ttymxc0,115200 root=/dev/mmcblk1p2 rootwait rw”, 其中“console=ttymxc0,115200”、“root=/dev/mmcblk1p2”、“rootwait”和“rw”相当于四组“值”, 这四组“值”之间用空格隔开,所以需要使用单引号‘’将其括起来,表示这四组“值”都属 于环境变量 bootargs。

3新建环境变量

命令 setenv 也可以用于新建命令,用法和修改环境变量一样,比如我们新建一个环境变量 author,author 的值为我的名字拼音:hsj,那么就可以使用如下命令:

setenv author hsj

saveenv

新建命令 author 完成以后重启 uboot,然后使用命令 printenv 查看当前环境变量,如图

 删除环境变量

既然可以新建环境变量,肯定也可以删除环境变量,删除环境变量也是使用命令 setenv, 要删除一个环境变量只要给这个环境变量赋空值即可,比如我们删除掉上面新建的 author 这个 环境变量,命令如下:

setenv author

saveenv

上面命令中通过 setenv 给 author 赋空值,也就是什么都不写来删除环境变量 author。重启 uboot 就会发现环境变量 author 没有了。

注意:这里只是简单的使用了几个命令,我们可以使用help查看更多命令,然和使用?command name(命令名) 或者 help command name(命令名)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/434840.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

4种吃子跳棋

目录 一,双玩家吃子跳棋 玻璃跳棋 大人物跳棋 二,单玩家吃子跳棋 智力游戏67跳棋(5) 一个挑战 跳瓶盖 欢乐跳跳棋 三,单玩家多目吃子跳棋——Hopping dots 1,Hopping dots 2,规则 3…

说过的话就一定要办到 - redo日志

一、什么是redo日志? 如果我们只在内存的 Buffer Pool 中修改了页面,假设在事务提交后突然发生了某个故障,导致内存中的数据都失效了,那么这个已经提交了的事务对数据库中所做的更改也就跟着丢失了,这会导致事务会失去…

火力全开,重新定义蓝牙耳机!新一代南卡OE Pro不入耳式蓝牙耳机震撼来袭

中国专业声学品牌Nank南卡,在近期推出了南卡OE Pro不入耳蓝牙耳机,是业内首款功能配置齐全的蓝牙耳机,以创新开放式听音方式,让更多人感受到不入耳开放式耳机带来的魅力之处。据了解,有不少媒体猜测,南卡OE…

工作面试老大难 - 锁

一、概述 为保证数据的一致性和完整性,需要对 事务间并发操作进行控制 ,因此产生了 锁 。锁冲突 也是影响数据库 并发访问性能 的一个重要因素。所以锁对数据库而言显得尤其重要,也更加复杂。 二、并发问题 MySQL并发事务访问相同记录 &am…

硬件设计--DAPLINK设计

1 参考网站 1、打造属于你自己的STM32下载器调试器--------DAPLink 2、ARMmebed官方开源代码DAPLink 3、ARMmebed官方开源代码DAPLink github加速网站 4、ARMmebed官方开源硬件旧版 5、ARMmebed官方开源硬件新版 6、自制DAPLink – ARM官方源码以及STM32F103C8T6 7、如何做一个…

软件测试之测试名词解释

1. 白盒测试,英文是white-box testing 是通过程序的源代码进行测试而不使用用户界面。这种类型的测试需要从代码句法发现内部代码在算法,溢出,路径,条件等等中的缺点或者错误,进而加以修正。 2. 黑盒测试,英…

word脚标【格式:第X页(共X页)】

不得不吐槽一下这个论文,真的我好头疼啊。我又菜又不想改。但是还是得爬起来改 (是谁大半夜不能睡觉加班加点改格式啊) 如何插入页码。 格式、要求如下: 操作步骤: ①双击页脚,填好格式,宋体小四和居中都…

除了 Swagger,这个开源 API 管理工具生成文档更高效

提起 Swagger,经常接触接口开发的朋友,一定知道并且都熟练使用了。 Swagger 是一个用于生成、描述和调用 RESTful 接口的 Web 服务。通俗的来讲,Swagger 就是将项目中所有(想要暴露的)接口展现在页面上,并且…

VMware ESXi 8.0U1 发布 - 领先的裸机 Hypervisor

请访问原文链接:https://sysin.org/blog/vmware-esxi-8-u1/,查看最新版。原创作品,转载请保留出处。 作者主页:sysin.org 2023-04-18, VMware vSphere 8.0U1 发布。 详见:VMware vSphere 8 Update 1 新增功能 产品简…

ai智能写作助手-ai自动写作软件

为什么要用ai智能写作工具 在数字化时代,AI(人工智能)技术已经被广泛应用于各种领域,其中之一是写作。AI智能写作工具是利用自然语言处理技术和机器学习算法来生成高质量的文章、博客、新闻稿等。这些工具不仅提供了便捷、高效的…

校园网策列及思路

解决思路一: 适合以下情况也是我现在的学校校园网大概情况: 内网不认证情况下可以互联,除了几个常见端口封闭(目前已知3389),要联网必须认证登录,而且一个号最多两台设备(甚至有时候…

FANUC机器人DCS功能基本介绍

FANUC机器人DCS功能基本介绍 1. 定义 DCS(Dual Check Safety)位置/速度检查功能;利用机器人控制柜中两个独立CPU进行电机速度和位置数据的检查,实时检查位置和速度误差,并通过两个独立的通道关闭电机电源。 DCS功能可以有效地节约占地面积。 DCS功能可以防止机器人工具…

工业通讯应用中主流的常用协议Modbus协议

智联物联技术分享,本期为大家介绍工业通讯常用的主流协议Modbus协议。 Modbus协议的前身叫做Mod协议,常被用于Modicon公司的PLC控制器中,后来Modicon被Schneider收购后随之改名为我们如今所熟悉的modbus协议,现如今广泛应用在物联…

【高级数据结构】红黑树

本文整理红黑树学习过程中的知识点和底层代码实现。 目录 基本概念1、介绍2、应用3、性质 实现红黑树1、原理2、操作1)查找2)插入3)删除 和其他相似结构的对比1、二叉搜索树(BST)2、AVL树1)例子2&#xff0…

Dubbo+Zookeeper 实现服务远程调用

文章目录 一、Dubbo 架构图二、Zookeeper 注册中心三、SpringBoot 整合 Dubbo3.1 添加依赖3.2 配置服务端3.3 配置消费端3.4 启动测试 四、Dubbo-admin 管理中心4.1 部署服务端4.2 部署前端4.3 访问控制台 提示:以下是本篇文章正文内容,Java 系列学习将会…

Visual Assist X安装失败解决办法

最近重装了VS2017,在重装之前卸载了VA助手,但是等到装好VS再去装VA助手时,总是提示以下错误信息: Visual Assist Installer : An error was reported by Visual Studio VSIXInstaller. See the next window for access to its err…

ElasticJob

官网 :: ElasticJob ElasticJob 是面向互联网生态和海量任务的分布式调度解决方案,由两个相互独立的子项目 ElasticJob-Lite 和 ElasticJob-Cloud 组成。 它通过弹性调度、资源管控、以及作业治理的功能,打造一个适用于互联网场景的分布式调度解决方案&…

如何给厂区做导航地图?智能工厂导航地图解决方案公司

如何给厂区做导航地图?在智慧园区中,基于园区的电子地图地图使用的重要性越来越凸显。但目前在园区信息化应用形式中,广泛缺乏专业电子地图的使用,主要原因是:一是地图系统(GIS)实现繁复,与其他展会业务系统…

GateWay微服务网关的搭建

服务网关 没有服务网关 问题:地址太多|安全性|管理问题 访问商品服务 http://ip地址:9001/goods/findAll 访问广告服务 http://ip地址:9002/brand/findAll 访问用户服务 http://ip地址:9003/user/findAll 在有网关的情况下,我们配置网关端口号为…

Vue2之webpack篇(二)Loader

目录 一、loader处理css 1、css文件的创建 2、安装css-loader 3、配置 4、打包 5、最终效果 二、loader处理图片 1、引入图片 2、安装file-loader 3、配置module 4、webpack打包 三、ES6转ES5 1、介绍 2、安装babel-loader 3、webpack.config.js配置 4、webpack打…