IMX6ULL系统移植篇-uboot基础命令

news2024/11/17 19:49:10

一.  uboot 启动

当设备上电启动时,需要马上按下回车键,开发板启动会停止在 uboot的启动Log信息时刻。

这就是 uboot的命令模式,即可以输入 uboot命令进行一些操作。

二.    uboot 基础命令

1.  help 命令

当开发板上电启动后,马上按下 回车键即可进入 uboot的命令模式,输入 help命令或者输入问号符 "?" 都可以查看开发板上的 uboot所支持的所有的命令。

如下所示(以下只显示了一部分命令):

=> help
?       - alias for 'help'
base    - print or set address offset
bdinfo  - print Board Info structure
bmode   - sd1|sd2|qspi1|normal|usb|sata|ecspi1:0|ecspi1:1|ecspi1:2|ecspi1:3|esdhc1|esdhc2|esdhc3|esdhc4 [noreset]
boot    - boot default, i.e., run 'bootcmd'
bootd   - boot default, i.e., run 'bootcmd'
bootelf - Boot from an ELF image in memory
bootm   - boot application image from memory

如果需要查看某一个命令的帮助信息:?+ 命令名

例如,需要查看 命令 echo 的帮助信息,可以输入: ? echo

=> ? echo
echo - echo args to console

Usage:
echo [args..]
    - echo args to console; \c suppresses newline
=> 

 

2.   信息查询命令

printenv 命令:查看开发板当前的环境变量命令

bdinfo 命令:查看 uboot的信息命令

如下打印所有的环境变量值:

=> printenv
author=wangtian
baudrate=115200
board_name=EVK
board_rev=14X14
bootargs=console=ttymxc0,115200 ubi.mtd=5 root=ubi0:rootfs rootfstype=ubifs mtdparts=gpmi-nand:4m(u-boot),128k(env),1m(logo),1m(dtb),8m(kernel),-(rootfs)
bootcmd=nand read ${loadaddr} 0x620000 0x800000;nand read ${fdt_addr} ${fdt_offset} 0x20000;bootz ${loadaddr} - ${fdt_addr}
bootcmd_mfg=run mfgtool_args;bootz ${loadaddr} ${initrd_addr} ${fdt_addr};
bootdelay=3

 3.  环境变量相关命令

 

setenv 命令:设置所有的环境变量。也可以自定义环境变量。也可以删除环境变量。

saveenv 命令:保存开发板的环境变量,即把所有的环境境变量值保存到 Nand-Flash或 EMMC中。

例如,saveenv 命令的使用:

当开发板停留在 uboot启动时刻时,打印了如下信息:

 

 以上打印信息的意思是:我们并没有把默认的环境变量保存到开发板上去,于是使用了默认的环境变量。

此时,输入 saveenv 命令,就可以把 uboot的默认环境变量的值保存到开发板的 Nand-Flash(或 EMMC中)中去。执行 saveenv命令后,设备之后再重启就不会打印以上的 Warning信息了。

如下操作:

 setenv 命令的使用:

例如,这里我们想更改 bootdelay的值,通过 printenv命令可以知道,现在 bootdelay的值是1,也就是 uboot启动后延时了1 秒后才启动 Linux内核的。

这里想将 bootdelay的值改为 3。输入命令如下:

setenv bootdelay 3  //这里只是在代码更改了 bootdelay的值,并没有保存到Nand-Flash中

还需要将更改的 bootdelay 保存,输入命令如下:

saveenv  //将更改的 bootdelay的值保存到 Nand_flash中

操作如下:

=> setenv bootdelay 3
=> saveenv
Saving Environment to NAND...
Erasing NAND...
Erasing at 0x400000 -- 100% complete.
Writing to NAND... OK

这时的 bootdelay 的值已经被保存到 Nand-Flash,可以使用 printenv 命令 查看。 也可以将开发板重新上电,验证 uboot启动后是否为 3 秒倒计时。

4.  新建环境变量 / 删除环境变量

(1)  自定义环境变量

自定义环境变量 即定义添加一个新的环境变量。

操作如下:

=> setenv author wangtian 
=> saveenv
Saving Environment to NAND...
Erasing NAND...
Erasing at 0x400000 -- 100% complete.
Writing to NAND... OK

再通过 printenv 命令查看,是否已经创建成功。如下:

=> printenv
author=wangtian

(2)  删除环境变量

setenv 命令可以删除环境变量。

把一个环境变量的值设置为空值,即就是删除了该环境变量。

=> setenv author
=> saveenv
Saving Environment to NAND...
Erasing NAND...
Erasing at 0x400000 -- 100% complete.
Writing to NAND... OK

再通过 printenv 命令查看,环境变量 author 已经被删除了。

如下所示:

=> printenv
baudrate=115200
board_name=EVK
board_rev=14X14
bootargs=console=ttymxc0,115200 ubi.mtd=5 root=ubi0:rootfs rootfstype=ubifs 

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

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

相关文章

电脑如何设置外网内网一起使用

如果你的电脑支持连接无线网,就可以设置内网外网一起使用。一般情况下,连接无线网还是网线都是系统自动链接的,但有时候开发中需要内网外网一块使用,不用手动切换网络。 首先确保我们的电脑有双网卡,可以两个都是有线网卡&#xf…

【机械臂视觉抓取从理论到实战】

1. 概述 GR-CNN:https://paperswithcode.com/paper/antipodal-robotic-grasping-using-generative 2. 环境搭建及模型训练 GR-CNN:https://github.com/skumra/robotic-grasping 下载源码创建环境 #下载robotic-grasping源码 git clone https://github.…

CVE-2021-3493:Overlay 文件系统 Ubuntu 本地提权漏洞分析

分析此漏洞的文章非常多,在此只是记录一下复现漏洞的过程以及对漏洞的个人理解。Linux 内核漏洞有一定的准入门槛,不适合小白阅读。 基本信息 [影响范围] Ubuntu 14.04 ~20.10 [漏洞描述] Ubuntu 内核代码允许低权限用户在使用 unshare() 函数创建的…

李彦宏:AI原生应用比大模型数量更重要

6月26日,百度创始人、董事长兼首席执行官李彦宏出席“世界互联网大会数字文明尼山对话”,发表了题为 《大模型重塑数字世界》 的演讲。 大模型是当下全球科技创新的焦点,也是全球人工智能竞赛的主战场。李彦宏认为,“新的国际竞争…

箱线图概念和使用介绍

箱线图时一种针对连续型变量的统计图。通常用作比较。 箱子中间的一条线,是数据的中位数,代表了数据的平均水平。 箱子的上限和下限,分别是数据的上四分位数和下四分位数,意味着箱子包含50%的数据。因此,箱子的高度在…

23.RocketMQ之NameServer处理Broker心跳包,更新本地路由信息

NameServer处理Broker心跳包,更新本地路由信息 DefaultRequestProcessor继承自NettyRequestProcessor:处理各种客户端的请求,如果请求类型是为REGISTER_BROKER,则将请求转发到RouteInfoManager#regiesterBroker,主要是服务器端 或者客户端或者broker发送…

go语言环境安装

文章目录 环境介绍安装软件包步骤环境变量设置来一个经典的hello worldNice 最近的项目需要用到go来开发了,前几天就已经在看书了,今天是个周末,先在家里的机器上把环境搭好,特此记录一下。 环境介绍 下载地址:https:…

RRT 算法研究(附 Python / C++ 实现)

RRT 算法研究 参考 机器人路径规划、轨迹优化课程-第五讲-RRT算法原理和代码讲解 机器人路径规划之RRT算法(附C源码) RRT算法(快速拓展随机树)的Python实现 《基于改进RRT算法的路径规划研究》 《面向室内复杂场景的移动机器人快速路径规划算法研究》 理论基础 RRT&#xff0…

meb stm32开发

matlab1028b以上 stm32cubemx5.6.0以上 stm32-mat/target 教程与代码分享 - 知乎 安装好这些后,打开matlab,打开路径STM32-MAT\STM32 打开simulink,view-lib 可以看到 在STM32CUBEMX完成底层配置,生成ioc文件

UI的绘制流程

1.App的启动流程 每个App都是一个独立的进程,当一个app启动的时候,当前进程也被启动,在Android中有一个类ActivityThread,就是进程的初始类,其中main方法就是整个app的入口。ActivityThread并不是一个线程,…

Java并发编程中的JMM、3个基本属性、synchronized和volatile

1、Java内存模型JMM (Java Meemory Model) JMM规定,所有变量均存储在主内存中每个线程都有自己的工作内存,保存了该线程中用到的变量的主内存副本拷贝线程对变量的所有操作,必须在自己的工作内存中,不可直接读写主内存不同线程无法…

2023-6-29-第十一式代理模式

🍿*★,*:.☆( ̄▽ ̄)/$:*.★* 🍿 💥💥💥欢迎来到🤞汤姆🤞的csdn博文💥💥💥 💟💟喜欢的朋友可以关注一下&#xf…

C++primer(第五版)第八章(IO库)

8.1 IO库 上表中以w开头的类型和函数是C标准库为了支持使用宽字符的语言而定义的一组类型和对象来操纵wchar_t类型的数据.(然而我没有遇到过) 8.1.1 IO对象无拷贝或赋值 IO对象不能拷贝或赋值,通常用引用方式传递和返回流,由于读写一个IO对象回改变其状态,因此传递和返回的引…

Cetos7.x连接不上网络解决办法

Cetos7.x连接不上网络解决办法 Cetos7.x连接不上网络解决办法 在VM中设置网络连接为桥接,修改后仍无法连接网络 ##配置centos7中ens33,将默认的no修改为yes 启动CentOS系统,并打开一个连接终端会话,使用root登录;进…

tomcat多台应该怎么能设置

一个tomcat一般能处理5000-1000的并发量但是还是远远不够我们可以设置多台来满足我们的要求 首先进入tomcat目录 配置tomcat环境变量 vim /etc/profile.d/tomcat.sh 然后刷新 source /etc/profile.d/tomcat.sh 修改tomcat1里面的配置文件 然后进入tomcat1中的启动bin程序中…

Docker安装、常见命令、安装常见容器(Mysql、Redis等)

目录 一、Docker安装 二、Docker常见命令 2.1 镜像命令 2.2 容器命令 2.3 总结 2.4 容器挂载-容器卷技术 三、Docker安装mysql容器 3.1 下载镜像文件 3.2 创建实例并启动 3.3 MySQL 配置 3.4 进入容器文件系统 四、Docker安装Redis 一、Docker安装 官网安装指引&a…

SSM框架原理畅谈之SpringMVC

SpringMVC 一、Java SE Servlet标准1.1 Servlet 接口1.2 HttpServletRequest 接口1.3 HttpServletResponse 接口1.4 Cookie 对象1.5 Filter 接口1.6 HttpSession 接口 二、SpringMVC2.1 Spring MVC核心概念2.2 DispatcherServlet2.3 DispatcherServlet.init()2.4 DispatcherSer…

第三章 搜索与图论(一)——深搜,广搜,图的存储与拓扑序列

文章目录 深度优先搜索广度优先搜索树和图的存储图的深搜 拓扑序深搜练习题842. 排列数字843. n-皇后问题 广搜练习题844. 走迷宫845. 八数码 树和图的存储与遍历练习题846. 树的重心847. 图中点的层次 拓扑序练习题848. 有向图的拓扑序列 深度优先搜索 数据结构: …

常见排序算法详解

文章目录 前言1. 排序算法简介2 算法效率2.1 度量一个程序执行时间两种方法2.2 时间频度2.3 时间复杂度2.4 常见的时间复杂度2.5 平均和最坏时间复杂度 3. 常见排序算法详解3.1 基数排序 (Radix Sort)(1) 算法过程(2)代码实现 3.2 冒泡排序 (Bubble Sort)(1) 算法过程(2) 代码实…

2023年7月2日leetcode每日一题打卡——125.验证回文串

一、题目描述与要求 125. 验证回文串 - 力扣(LeetCode) 题目描述 如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后,短语正着读和反着读都一样。则可以认为该短语是一个 回文串 。 字母和数字都属于字母数字字符。 给…