Uboot中bootargs以及bootcmd设置

news2025/1/9 2:13:35

Uboot命令

一、Uboot基础命令

查看帮助信息:

uboot#help

打印环境变量:

uboot#printenv

其他命令:

uboot#help
?         - 帮助命令,等同于 'help'
base      - 打印或设置地址偏移量
bdinfo    - 打印板级信息结构
boot      - 默认启动操作,即运行 'bootcmd'
bootd     - 默认启动操作,即运行 'bootcmd'
bootm     - 从内存中引导应用程序镜像
bootp     - 通过网络使用 BOOTP/TFTP 协议引导镜像
chpart    - 更改活动分区
clk       - CLK 子系统
cmp       - 内存比较
coninfo   - 打印控制台设备和信息
cp        - 内存复制
debug     - 打开或关闭调试
dfu       - 设备固件升级
dhcp      - 通过 DHCP/TFTP 协议通过网络引导镜像
dm        - 驱动模型低级访问
echo      - 将参数输出到控制台
env       - 环境变量处理命令
fdt       - 扁平设备树实用命令
ftgpio    - ftgpio 子系统
ftssp     - ftssp 子系统
ftwd      - ftwd 子系统
go        - 从指定地址启动应用程序
help      - 打印命令描述/用法
i2c       - I2C 子系统
itest     - 在整数比较时返回 true/false
linkstatus- 获取 MAC 连接状态
loadb     - 通过串行线加载二进制文件(kermit 模式)
loadx     - 通过串口加载二进制文件(xmodem 模式)
loady     - 通过串行线加载二进制文件(ymodem 模式)
loop      - 在地址范围上进行无限循环
md        - 内存显示
mm        - 内存修改(自动递增地址)
mtd       - MTD 实用工具
mtdparts  - 定义 Flash/NAND 分区
mtest     - 简单的 RAM 读/写测试
mw        - 内存写入(填充)
nego      - 打开或关闭协商
nfs       - 通过 NFS 协议使用网络引导镜像
nm        - 内存修改(固定地址)
phyread   - 执行 PHY 寄存器读取
phywrite  - 执行 PHY 寄存器写入
ping      - 发送 ICMP ECHO_REQUEST 到网络主机
pkt_drop  - 接收数据包丢弃,按CTRL+C停止
pkt_loop  - 将接收到的数据包复制到发送队列并发送,按CTRL+C停止
portcfg   - 配置端口1与 SoC 进行通信
printenv  - 打印环境变量
rauread   - 执行 SoC 寄存器读取
rauwrite  - 执行 SoC 寄存器写入
read      - 执行 SoC 寄存器读取
reset     - 执行 CPU 复位
run       - 运行环境变量中定义的命令
saveenv   - 将环境变量保存到持久存储器中
serdesreset- 执行 SERDES 复位
setenv    - 设置环境变量
sf        - SPI Flash 子系统
sfpled    - 测试交换机 LED

不同版本的 U-Boot 可能具有不同的命令集和功能。

二、Uboot配置

1、Uboot的工作模式简介

u-boot有两种工作模式:自启动模式, 交互模式。

​ 交互模式:开发板上电之后,u-boot启动,在串口工具上打印各种信息,当出现倒计时之后,按下电脑键盘上的任意键,此时就会进入到u-boot的交互模式,我们就可以输入各种u-boot命令和u-boot进行交互,u-boot内部解析串口输入的u-boot命令。

​ 自启动模式:开发板上电之后,u-boot启动,在串口工具上打印各种信息,当出现倒计时减到0之前不要按下电脑键盘的任意键,此时u-boot进入自启动的模式,自动的执行u-boot中的环境变量bootcmd后边的添加的u-boot命令。

2、env环境变量配置

设置/新增/修改环境变量:

setenv  环境变量名    环境变量值
saveenv 

删除环境变量:

setenv  要删除的环境变量名
saveenv

3、bootcmd自启动配置

方式一:
	setenv bootcmd  u-boot命令1\; u-boot命令2\; u-boot命令3\;.......
 	saveenv
 	
方式二:

	setenv bootcmd  "u-boot命令1; u-boot命令2; u-boot命令3; ......."
	saveenv

4、ip网络配置

设置u-boot中的环境变量:

setenv serverip 192.168.2.100      # 设置服务器IP地址为192.168.2.100
setenv ipaddr 192.168.2.99        # 设置本地IP地址为192.168.2.99
setenv netmask 255.255.255.0       # 设置子网掩码为255.255.255.0
setenv gatewayip 192.168.2.1       # 设置网关IP地址为192.168.2.1
saveenv                      # 保存环境变量到持久存储器中

5、bootargs配置

在 U-Boot 中,设置 bootargs 的格式通常是以字符串的形式进行设置。bootargs 是用来传递内核启动参数的变量,其格式可以根据具体需求进行配置。

setenv bootargs '参数1 参数2 ,参数3 参数4 ' #这里的符号不是‘号 ,在这里打不出来,正确格式如下图所示

Eg:
setenv bootargs 'mmstype=1 device4utype=1 speedtype=1000 i2c_sel=1 mem=1024M console=ttyS0,115200 initrd=0x83000000,96M root=/dev/ram0 rw rootfstype=ext2 machinetype=0x9002 mtdparts=ftspi020.0:5m(system),18m(rootfs),100m(user),-(config)'

在这里插入图片描述

三、常用命令

1、flash命令

sf probe                           #探测连接的 SPI NOR Flash 设备
sf read 0xa0000000 0x1400000 0x600000       #将从 SPI NOR Flash 中读取数据,并将数据存储到内存地址 0xa0000000 开始的位置,读取的长度为 0x600000 字节

2、tftp命令

tftpboot 0x83000000 zImage  #从 TFTP 服务器下载名为 "zImage" 的文件,并将其存储到内存地址 0x83000000 处。
go 0x83000000          #将程序控制权转移到内存地址 0x83000000 处,以启动或执行下载的内核镜像文件。

#请确保在执行这两个命令之前,网络连接是正常的,并且 TFTP 服务器上存在名为 "zImage" 的文件。

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

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

相关文章

日常开发小汇总(6)元素跟随鼠标移动(在视口下移动)

<div class"mark"><h1>title</h1><div><p>title 鼠标移动 盒子整体移动</p><p>test</p><p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Modi, porro.</p></div></div>cons…

一文读懂:苹果手机怎么录屏?

“刚买的苹果14&#xff0c;最近需要用来录屏&#xff0c;找了很久都没找到&#xff0c;朋友说苹果手机没有录屏功能&#xff0c;可是我半信半疑&#xff0c;花了这么多钱买的&#xff0c;怎么可能没有录屏功能呢&#xff0c;有人知道苹果手机怎么录屏吗&#xff1f;” 苹果手…

Swift如何使用Vision来识别获取图片中的文字(OCR),通过SwiftUI视图和终端命令行,以及一系列注意事项

在过去的一年里&#xff0c;我发现苹果系统中的“文字搜图片”功能非常好用&#xff0c;这个功能不光 iPhone/iPad&#xff0c;Mac 也有&#xff0c;找一些图片真的很好用。但是遇到了一个问题&#xff1a;这个功能需要一段时间才能找到新的图片&#xff0c;而且没法手动刷新&a…

通信原理板块——信道的数学模型

微信公众号上线&#xff0c;搜索公众号小灰灰的FPGA,关注可获取相关源码&#xff0c;定期更新有关FPGA的项目以及开源项目源码&#xff0c;包括但不限于各类检测芯片驱动、低速接口驱动、高速接口驱动、数据信号处理、图像处理以及AXI总线等 1、调制信道和编码信道 调制信道适…

学习笔记|回顾(1-12节课)|应用模块化的编程|分时复用|STC32G单片机视频开发教程(冲哥)|阶段小结:应用模块化的编程(下)

文章目录 搜索功能寻址变量bdataTips:missing declaration specifiers错误的解决分时复用的简单应用 二、按键处理思路分析原有程序实现的功能&#xff1a;需求分析&#xff1a;定义功能码&#xff0c;功能定义为&#xff1a; key的取值示例 三、按键处理四、定时器利用time0实…

【数据库】Navicate运行数据区sql文件 1046 no database selected

文章目录 前言一、现象二、解决 前言 要通过Navicat导入数据库文件&#xff0c;但是不成功报错1046 no database selected 一、现象 选中已经建立的连接&#xff0c;右键运行sql文件&#xff0c;报错 二、解决 1、先在建立的localhost中右键建立和要导入数据库同名的数据…

ipad手写笔什么牌子好?apple pencil二代平替笔推荐

近年来&#xff0c;电容笔越来越受到大家的青睐&#xff0c;已然成为人们提高生产效率的数码产品之一。然而&#xff0c;市面上的电容笔大多质量都参差不齐&#xff0c;很多人也不知道哪个品牌的电容笔比较好。针对这个问题&#xff0c;我来给大家分享几款电容笔&#xff0c;都…

斐波那契堆——怎么发明一种非常聪明的数据结构——学习笔记

我是目录 0. 前言1. Fibonacci Heap介绍1.1 简单回顾堆和优先队列1.2 二项树1.3 二项堆 2. 那怎么推导出Fibonacci Heap&#xff1f;2.1 实现GetMin2.2 实现Insert2.3 实现ExtractMin2.4 实现DecreaseKey2.5 关键部分 3. 那么&#xff0c;和斐波那契数列有什么关系&#xff1f;…

【nvm版本】控制node版本

使用nvm切换node版本 nvm安装开始安装选择安装路径选择node安装位置点击完成即可测试是否安装成功查询可下载的node版本如果没有node版本&#xff0c;就安装一下镜像地址 nvm安装 nvm安装路径 开始安装 选择安装路径 选择node安装位置 点击完成即可 测试是否安装成功 cmd中…

UI库DHTMLX Suite v8.2发布全新表单组件,让Web表单实现高度可定制!

DHTMLX Suite v8.2日前已正式发布&#xff0c;此版本的核心是DHTMLX Form&#xff0c;这个小部件接收了4个备受期待的新控件&#xff0c;如Fieldset、Avatar、Toggle和ToggleGroup。官方技术团队还为Grid和TreeGrid小部件中的页眉/页脚工具提示提供了一系列新的配置选项等。 在…

Scrum敏捷开发流程及关键环节

​Scrum是一种敏捷开发流程&#xff0c;它旨在使软件开发更加高效和灵活。Scrum将软件开发过程分为多个短期、可重复的阶段&#xff0c;称为“Sprint”。每个Sprint通常为两周&#xff0c;旨在完成一部分开发任务。 在Scrum中&#xff0c;有一个明确的角色分工&#xff1a; 产…

一个好玩的浏览器插件

背景 最近抽空开发了一个有意思的浏览器插件。背景是我们在开发过程中有时需要做一些测试验证&#xff0c;需要修改请求头字段和响应头字段的内容&#xff0c;有时需要在页面做测试&#xff0c;反复请求同一个接口&#xff0c;并修改一些字段。 如果此时使用nginx做代理转发再…

HashMap、HashTable、CurrentHashMap对比

&#x1f61c;作 者&#xff1a;是江迪呀✒️本文关键词&#xff1a;Java、集合、Map、CurrentHashMap☀️每日 一言&#xff1a;坚持自己的风格&#xff0c;面对未知的一切&#xff01; 一、HashMap、HashTable、CurrentHashMap对比 1.1 CurrentHashMap和HashMap…

9.多级缓存、JVM进程缓存、Lua语法

多级缓存 文章目录 多级缓存一、多级缓存介绍1.1 传统缓存的问题1.2 多级缓存方案 二、JVM进程缓存2.1 案例准备2.1.1 导入SQL2.1.2 导入item-service项目2.1.3 导入商品查询页面 2.2 初始 Caffeine2.2.1 基本用法 2.3 实现进程缓存 三、Lua语法3.1 初识Lua3.2 变量和循环3.2.1…

这篇文章是用AI大模型自动生成的

昨天用豆包AI大模型尝试生成了一段关于&#xff1a;企业转型、企业转型的要点、企业转型成功的标志&#xff0c;这样的文字。我又加了点自己的思考。 &#xff08;1&#xff09;企业转型的原因 企业转型的原因有很多&#xff0c;以下是一些常见的原因&#xff1a; 1. 市场变化&…

针对电子企业的WMS仓储管理系统解决方案

随着全球电子行业的快速发展&#xff0c;电子企业对于仓储管理的需求和挑战也日益增长。WMS仓储管理系统作为电子企业的核心管理工具&#xff0c;需要满足高效率、低成本、高灵活性以及精确控制库存等需求。本文将为电子企业提供一种针对WMS仓储管理系统的解决方案。 一、WMS仓…

Eclipse使用SFTP方式远程连接

安装插件 首先需要安装远程系统连接插件&#xff0c;安装方式可参考&#xff1a; Eclipse安装FTP连接工具_哭哭啼的博客-CSDN博客在过滤器字段中,键入"remote".选择Mobile and Device Development&#xff0c;并选择。找到Remote System Explorer->Connection。…

Outlook邮箱如何设置自动回复

很多小伙伴在刚开始使用Outlook邮箱的时候&#xff0c;不是很清楚Outlook邮箱如何设置自动回复&#xff0c;这里小编就给大家详细介绍一下Outlook邮箱设置自动回复的方法&#xff0c;有需要的小伙伴可以来看一看。 Outlook邮箱设置自动回复的方法&#xff1a; 1、打开软件&am…

ARM-M0内核MCU,内置24bit ADC,采样率4KSPS,传感器、电子秤、体脂秤专用,国产

ARM-M0内核MCU 内置24bit ADC &#xff0c;采样率4KSPS flash 64KB&#xff0c;SRAM 32KB 适用于传感器&#xff0c;电子秤&#xff0c;体脂秤等等

QML android 采集手机传感器数据 并通过udp 发送

利用 qt 开发 安卓 app &#xff0c;采集手机传感器数据 并通过udp 发送 #ifndef UDPLINK_H #define UDPLINK_H#include <QObject> #include <QUdpSocket> #include <QHostAddress>class UdpLink : public QObject {Q_OBJECT public:explicit UdpLink(QObjec…